use crate::freq::{Frequency, RawFrequency};
#[cfg(feature = "complex")]
use num_complex::{Complex, ComplexFloat};
impl<T> Frequency<&T>
where
T: RawFrequency,
{
#[inline]
pub fn cloned(&self) -> Frequency<T>
where
T: Clone,
{
Frequency(self.0.clone())
}
pub const fn copied(&self) -> Frequency<T>
where
T: Copy,
{
Frequency(*self.0)
}
}
impl<T> Frequency<&mut T>
where
T: RawFrequency,
{
#[inline]
pub fn cloned(&self) -> Frequency<T>
where
T: Clone,
{
Frequency(self.0.clone())
}
pub const fn copied(&self) -> Frequency<T>
where
T: Copy,
{
Frequency(*self.0)
}
}
#[cfg(feature = "complex")]
impl<T> Frequency<Complex<T>>
where
T: RawFrequency,
Complex<T>: ComplexFloat<Real = T> + RawFrequency,
{
pub fn conj(&self) -> Frequency<Complex<T>>
where
T: Copy,
{
self.map(|v| v.conj())
}
}