Struct signal_processing::systems::Tf
source · pub struct Tf<T: ComplexFloat, B: MaybeLists<T> = (), A: MaybeList<T> = ()> {
pub b: Polynomial<T, B>,
pub a: Polynomial<T, A>,
}
Fields§
§b: Polynomial<T, B>
§a: Polynomial<T, A>
Implementations§
source§impl<T: ComplexFloat, B: MaybeLists<T>, A: MaybeList<T>> Tf<T, B, A>
impl<T: ComplexFloat, B: MaybeLists<T>, A: MaybeList<T>> Tf<T, B, A>
pub type View<'a> = Tf<T, <B as MaybeContainer<T>>::View<'a>, <A as MaybeContainer<T>>::View<'a>> where B::View<'a>: MaybeLists<T>, A::View<'a>: MaybeList<T>, B: 'a, A: 'a
pub type Owned = Tf<T, <B as MaybeContainer<T>>::Owned, <A as MaybeContainer<T>>::Owned> where B::Owned: MaybeLists<T>, A::Owned: MaybeList<T>
pub fn as_view<'a>(&'a self) -> Tf<T, B::View<'a>, A::View<'a>>
pub fn to_owned(&self) -> Tf<T, B::Owned, A::Owned>
pub fn into_owned(self) -> Tf<T, B::Owned, A::Owned>
pub fn new(b: B, a: A) -> Self
pub fn one() -> Selfwhere
Self: Default,
pub fn zero() -> Self
pub fn is_one(&self) -> boolwhere
B: MaybeList<T>,
pub fn is_zero(&self) -> boolwhere
B: MaybeLists<T>,
pub fn s() -> Self
pub fn z() -> Self
pub fn truncate<'a, const N: usize, const M: usize>(
&'a self
) -> Tf<T, [T; N], [T; M]>where
B::View<'a>: MaybeLists<T>,
A::View<'a>: MaybeLists<T>,
Polynomial<T, B::View<'a>>: Into<Polynomial<T, Vec<T>>>,
Polynomial<T, A::View<'a>>: Into<Polynomial<T, Vec<T>>>,
Trait Implementations§
source§impl<'a, 'b, T, B, A, O> Add<&'b T> for &'a Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
Self: Add<Tf<T, &'b [T; 1], ()>, Output = O>,
impl<'a, 'b, T, B, A, O> Add<&'b T> for &'a Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
Self: Add<Tf<T, &'b [T; 1], ()>, Output = O>,
source§impl<'b, T, B, A, O> Add<&'b T> for Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
Self: Add<Tf<T, &'b [T; 1], ()>, Output = O>,
impl<'b, T, B, A, O> Add<&'b T> for Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
Self: Add<Tf<T, &'b [T; 1], ()>, Output = O>,
source§impl<'a, 'b, T1, B1, A1, T2, B2, A2, O> Add<&'b Tf<T2, B2, A2>> for &'a Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
B1::View<'a>: MaybeLists<T1>,
A1::View<'a>: MaybeList<T1>,
B2::View<'b>: MaybeLists<T2>,
A2::View<'b>: MaybeList<T2>,
Tf<T1, B1::View<'a>, A1::View<'a>>: Add<Tf<T2, B2::View<'b>, A2::View<'b>>, Output = O>,
impl<'a, 'b, T1, B1, A1, T2, B2, A2, O> Add<&'b Tf<T2, B2, A2>> for &'a Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
B1::View<'a>: MaybeLists<T1>,
A1::View<'a>: MaybeList<T1>,
B2::View<'b>: MaybeLists<T2>,
A2::View<'b>: MaybeList<T2>,
Tf<T1, B1::View<'a>, A1::View<'a>>: Add<Tf<T2, B2::View<'b>, A2::View<'b>>, Output = O>,
source§impl<'b, T1, B1, A1, T2, B2, A2, O> Add<&'b Tf<T2, B2, A2>> for Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
B2::View<'b>: MaybeLists<T2>,
A2::View<'b>: MaybeList<T2>,
Tf<T1, B1, A1>: Add<Tf<T2, B2::View<'b>, A2::View<'b>>, Output = O>,
impl<'b, T1, B1, A1, T2, B2, A2, O> Add<&'b Tf<T2, B2, A2>> for Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
B2::View<'b>: MaybeLists<T2>,
A2::View<'b>: MaybeList<T2>,
Tf<T1, B1, A1>: Add<Tf<T2, B2::View<'b>, A2::View<'b>>, Output = O>,
source§impl<'a, T1, B1, A1, T2, B2, A2, O> Add<Tf<T2, B2, A2>> for &'a Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
B1::View<'a>: MaybeLists<T1>,
A1::View<'a>: MaybeList<T1>,
Tf<T1, B1::View<'a>, A1::View<'a>>: Add<Tf<T2, B2, A2>, Output = O>,
impl<'a, T1, B1, A1, T2, B2, A2, O> Add<Tf<T2, B2, A2>> for &'a Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
B1::View<'a>: MaybeLists<T1>,
A1::View<'a>: MaybeList<T1>,
Tf<T1, B1::View<'a>, A1::View<'a>>: Add<Tf<T2, B2, A2>, Output = O>,
source§impl<T1, B1, A1, T2, B2, A2, T3, B3, A3> Add<Tf<T2, B2, A2>> for Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
T3: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1> + Clone,
B2: MaybeLists<T2>,
A2: MaybeList<T2> + Clone,
B3: MaybeLists<T3>,
A3: MaybeList<T3>,
Polynomial<T1, A1>: Mul<Polynomial<T2, A2>, Output = Polynomial<T3, A3>>,
Polynomial<T1, B1>: Mul<Polynomial<T2, A2>, Output: Add<<Polynomial<T2, B2> as Mul<Polynomial<T1, A1>>>::Output, Output = Polynomial<T3, B3>>>,
Polynomial<T2, B2>: Mul<Polynomial<T1, A1>>,
Tf<T3, B3, A3>: Simplify,
impl<T1, B1, A1, T2, B2, A2, T3, B3, A3> Add<Tf<T2, B2, A2>> for Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
T3: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1> + Clone,
B2: MaybeLists<T2>,
A2: MaybeList<T2> + Clone,
B3: MaybeLists<T3>,
A3: MaybeList<T3>,
Polynomial<T1, A1>: Mul<Polynomial<T2, A2>, Output = Polynomial<T3, A3>>,
Polynomial<T1, B1>: Mul<Polynomial<T2, A2>, Output: Add<<Polynomial<T2, B2> as Mul<Polynomial<T1, A1>>>::Output, Output = Polynomial<T3, B3>>>,
Polynomial<T2, B2>: Mul<Polynomial<T1, A1>>,
Tf<T3, B3, A3>: Simplify,
source§impl<T, const N: usize> BesselF<()> for Tf<T, [T; N], [T; N]>
impl<T, const N: usize> BesselF<()> for Tf<T, [T; N], [T; N]>
fn besself<const F: usize>( (): (), frequencies: [T; F], filter_type: FilterGenType, plane: FilterGenPlane<T> ) -> Result<Self, FilterGenError>
source§impl<T> BesselF<usize> for Tf<T, Vec<T>, Vec<T>>
impl<T> BesselF<usize> for Tf<T, Vec<T>, Vec<T>>
fn besself<const F: usize>( order: usize, frequencies: [T; F], filter_type: FilterGenType, plane: FilterGenPlane<T> ) -> Result<Self, FilterGenError>
source§impl<T, B, A, BA2> Bilinear for Tf<T, B, A>where
T: ComplexFloat + AddAssign + DivAssign + Mul<T::Real, Output = T>,
B: MaybeList<T> + Overlay<T, A, Output = BA2>,
A: MaybeList<T>,
BA2: MaybeOwnedList<T, Some: ListOrSingle<T, Length: StaticMaybe<usize, Opposite: Sized>>>,
impl<T, B, A, BA2> Bilinear for Tf<T, B, A>where
T: ComplexFloat + AddAssign + DivAssign + Mul<T::Real, Output = T>,
B: MaybeList<T> + Overlay<T, A, Output = BA2>,
A: MaybeList<T>,
BA2: MaybeOwnedList<T, Some: ListOrSingle<T, Length: StaticMaybe<usize, Opposite: Sized>>>,
source§impl<T, const N: usize> Butter<()> for Tf<T, [T; N], [T; N]>
impl<T, const N: usize> Butter<()> for Tf<T, [T; N], [T; N]>
fn butter<const F: usize>( (): (), frequencies: [T; F], filter_type: FilterGenType, plane: FilterGenPlane<T> ) -> Result<Self, FilterGenError>
source§impl<T> Butter<usize> for Tf<T, Vec<T>, Vec<T>>
impl<T> Butter<usize> for Tf<T, Vec<T>, Vec<T>>
fn butter<const F: usize>( order: usize, frequencies: [T; F], filter_type: FilterGenType, plane: FilterGenPlane<T> ) -> Result<Self, FilterGenError>
source§impl<T, const N: usize> Cheby1<()> for Tf<T, [T; N], [T; N]>
impl<T, const N: usize> Cheby1<()> for Tf<T, [T; N], [T; N]>
fn cheby1<const F: usize>( (): (), ripple: T, frequencies: [T; F], filter_type: FilterGenType, plane: FilterGenPlane<T> ) -> Result<Self, FilterGenError>
source§impl<T> Cheby1<usize> for Tf<T, Vec<T>, Vec<T>>
impl<T> Cheby1<usize> for Tf<T, Vec<T>, Vec<T>>
fn cheby1<const F: usize>( order: usize, ripple: T, frequencies: [T; F], filter_type: FilterGenType, plane: FilterGenPlane<T> ) -> Result<Self, FilterGenError>
source§impl<T, const N: usize> Cheby2<()> for Tf<T, [T; N], [T; N]>
impl<T, const N: usize> Cheby2<()> for Tf<T, [T; N], [T; N]>
fn cheby2<const F: usize>( (): (), ripple: T, frequencies: [T; F], filter_type: FilterGenType, plane: FilterGenPlane<T> ) -> Result<Self, FilterGenError>
source§impl<T> Cheby2<usize> for Tf<T, Vec<T>, Vec<T>>
impl<T> Cheby2<usize> for Tf<T, Vec<T>, Vec<T>>
fn cheby2<const F: usize>( order: usize, ripple: T, frequencies: [T; F], filter_type: FilterGenType, plane: FilterGenPlane<T> ) -> Result<Self, FilterGenError>
source§impl<T: Clone + ComplexFloat, B: Clone + MaybeLists<T>, A: Clone + MaybeList<T>> Clone for Tf<T, B, A>
impl<T: Clone + ComplexFloat, B: Clone + MaybeLists<T>, A: Clone + MaybeList<T>> Clone for Tf<T, B, A>
source§impl<T: Debug + ComplexFloat, B: Debug + MaybeLists<T>, A: Debug + MaybeList<T>> Debug for Tf<T, B, A>
impl<T: Debug + ComplexFloat, B: Debug + MaybeLists<T>, A: Debug + MaybeList<T>> Debug for Tf<T, B, A>
source§impl<T, B, A> Default for Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
Polynomial<T, B>: From<Polynomial<T, ()>>,
Polynomial<T, A>: From<Polynomial<T, ()>>,
impl<T, B, A> Default for Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
Polynomial<T, B>: From<Polynomial<T, ()>>,
Polynomial<T, A>: From<Polynomial<T, ()>>,
source§impl<'a, 'b, T, B, A, O> Div<&'b T> for &'a Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
Self: Div<Tf<T, &'b [T; 1], ()>, Output = O>,
impl<'a, 'b, T, B, A, O> Div<&'b T> for &'a Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
Self: Div<Tf<T, &'b [T; 1], ()>, Output = O>,
source§impl<'b, T, B, A, O> Div<&'b T> for Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
Self: Div<Tf<T, &'b [T; 1], ()>, Output = O>,
impl<'b, T, B, A, O> Div<&'b T> for Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
Self: Div<Tf<T, &'b [T; 1], ()>, Output = O>,
source§impl<'a, 'b, T1, B1, A1, T2, B2, A2, O> Div<&'b Tf<T2, B2, A2>> for &'a Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
B1::View<'a>: MaybeLists<T1>,
A1::View<'a>: MaybeList<T1>,
B2::View<'b>: MaybeLists<T2>,
A2::View<'b>: MaybeList<T2>,
Tf<T1, B1::View<'a>, A1::View<'a>>: Div<Tf<T2, B2::View<'b>, A2::View<'b>>, Output = O>,
impl<'a, 'b, T1, B1, A1, T2, B2, A2, O> Div<&'b Tf<T2, B2, A2>> for &'a Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
B1::View<'a>: MaybeLists<T1>,
A1::View<'a>: MaybeList<T1>,
B2::View<'b>: MaybeLists<T2>,
A2::View<'b>: MaybeList<T2>,
Tf<T1, B1::View<'a>, A1::View<'a>>: Div<Tf<T2, B2::View<'b>, A2::View<'b>>, Output = O>,
source§impl<'b, T1, B1, A1, T2, B2, A2, O> Div<&'b Tf<T2, B2, A2>> for Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
B2::View<'b>: MaybeLists<T2>,
A2::View<'b>: MaybeList<T2>,
Tf<T1, B1, A1>: Div<Tf<T2, B2::View<'b>, A2::View<'b>>, Output = O>,
impl<'b, T1, B1, A1, T2, B2, A2, O> Div<&'b Tf<T2, B2, A2>> for Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
B2::View<'b>: MaybeLists<T2>,
A2::View<'b>: MaybeList<T2>,
Tf<T1, B1, A1>: Div<Tf<T2, B2::View<'b>, A2::View<'b>>, Output = O>,
source§impl<'a, T1, B1, A1, T2, B2, A2, O> Div<Tf<T2, B2, A2>> for &'a Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
B1::View<'a>: MaybeLists<T1>,
A1::View<'a>: MaybeList<T1>,
Tf<T1, B1::View<'a>, A1::View<'a>>: Div<Tf<T2, B2, A2>, Output = O>,
impl<'a, T1, B1, A1, T2, B2, A2, O> Div<Tf<T2, B2, A2>> for &'a Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
B1::View<'a>: MaybeLists<T1>,
A1::View<'a>: MaybeList<T1>,
Tf<T1, B1::View<'a>, A1::View<'a>>: Div<Tf<T2, B2, A2>, Output = O>,
source§impl<T1, T2, T3, B1, B2, B3, A1, A2, A3> Div<Tf<T2, B2, A2>> for Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
T3: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
B3: MaybeLists<T3>,
A3: MaybeList<T3>,
Polynomial<T1, B1>: Mul<Polynomial<T2, A2>, Output = Polynomial<T3, B3>>,
Polynomial<T1, A1>: Mul<Polynomial<T2, B2>, Output = Polynomial<T3, A3>>,
Tf<T3, B3, A3>: Simplify,
impl<T1, T2, T3, B1, B2, B3, A1, A2, A3> Div<Tf<T2, B2, A2>> for Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
T3: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
B3: MaybeLists<T3>,
A3: MaybeList<T3>,
Polynomial<T1, B1>: Mul<Polynomial<T2, A2>, Output = Polynomial<T3, B3>>,
Polynomial<T1, A1>: Mul<Polynomial<T2, B2>, Output = Polynomial<T3, A3>>,
Tf<T3, B3, A3>: Simplify,
source§impl<T, const N: usize> Ellip<()> for Tf<T, [T; N], [T; N]>
impl<T, const N: usize> Ellip<()> for Tf<T, [T; N], [T; N]>
fn ellip<const F: usize>( (): (), passband_ripple: T, stopband_ripple: T, frequencies: [T; F], filter_type: FilterGenType, plane: FilterGenPlane<T> ) -> Result<Self, FilterGenError>
source§impl<T> Ellip<usize> for Tf<T, Vec<T>, Vec<T>>
impl<T> Ellip<usize> for Tf<T, Vec<T>, Vec<T>>
fn ellip<const F: usize>( order: usize, passband_ripple: T, stopband_ripple: T, frequencies: [T; F], filter_type: FilterGenType, plane: FilterGenPlane<T> ) -> Result<Self, FilterGenError>
source§impl<'a, T, B, A, X, Y, XX, XXX> FftFilt<'a, X, XX> for Tf<T, B, A>where
T: ComplexFloat<Real: Into<Y> + 'static> + ComplexOp<X, Output = Y> + Into<Complex<T::Real>> + 'a,
A: MaybeList<T, MaybeMapped<Complex<T::Real>>: MaybeList<Complex<T::Real>>>,
B: MaybeLists<T, RowView<'a>: MaybeList<T, MaybeMapped<Complex<T::Real>>: MaybeList<Complex<T::Real>>>> + 'a,
X: ComplexFloat<Real = T::Real> + Into<Y> + Into<Complex<T::Real>>,
XX: Lists<X, Mapped<Complex<T::Real>>: Clone + Lists<Complex<T::Real>, RowOwned = XXX, RowsMapped<XXX::Mapped<Y>>: Into<XX::Mapped<Y>>>>,
XXX: List<Complex<T::Real>>,
Y: ComplexFloat<Real = T::Real> + 'static,
Complex<T::Real>: Clone + AddAssign + MulAssign + DivAssign + MulAssign<T::Real>,
impl<'a, T, B, A, X, Y, XX, XXX> FftFilt<'a, X, XX> for Tf<T, B, A>where
T: ComplexFloat<Real: Into<Y> + 'static> + ComplexOp<X, Output = Y> + Into<Complex<T::Real>> + 'a,
A: MaybeList<T, MaybeMapped<Complex<T::Real>>: MaybeList<Complex<T::Real>>>,
B: MaybeLists<T, RowView<'a>: MaybeList<T, MaybeMapped<Complex<T::Real>>: MaybeList<Complex<T::Real>>>> + 'a,
X: ComplexFloat<Real = T::Real> + Into<Y> + Into<Complex<T::Real>>,
XX: Lists<X, Mapped<Complex<T::Real>>: Clone + Lists<Complex<T::Real>, RowOwned = XXX, RowsMapped<XXX::Mapped<Y>>: Into<XX::Mapped<Y>>>>,
XXX: List<Complex<T::Real>>,
Y: ComplexFloat<Real = T::Real> + 'static,
Complex<T::Real>: Clone + AddAssign + MulAssign + DivAssign + MulAssign<T::Real>,
type Output = <B as MaybeLists<T>>::RowsMapped<<XX as ContainerOrSingle<X>>::Mapped<Y>>
fn fftfilt<N>(&'a self, x: XX, n: N) -> Self::Output
source§impl<'a, T, B, A, X, XX> FiltFilt<'a, X, XX> for Tf<T, B, A>where
T: ComplexOp<X> + ComplexOp<T, Output = T> + Sum + AddAssign,
X: Into<<T as ComplexOp<X>>::Output> + ComplexFloat<Real = T::Real>,
<T as ComplexOp<X>>::Output: ComplexOp<T, Real = T::Real, Output = <T as ComplexOp<X>>::Output> + ComplexOp<X, Output = <T as ComplexOp<X>>::Output> + ComplexOp<<T as ComplexOp<X>>::Output, Output = <T as ComplexOp<X>>::Output>,
B: MaybeLists<T>,
A: MaybeList<T>,
XX: Lists<X>,
Self: 'a,
&'a Self: Into<Tf<T, Vec<Vec<T>>, Vec<T>>>,
for<'b> Tf<T, &'b [T], &'b [T]>: System<Set = T>,
for<'b> Rtf<<T as ComplexOp<X>>::Output, Tf<T, &'b [T], &'b [T]>>: FilterMut<X, Vec<X>, Output = Vec<<T as ComplexOp<X>>::Output>> + FilterMut<<T as ComplexOp<X>>::Output, Vec<<T as ComplexOp<X>>::Output>, Output = Vec<<T as ComplexOp<X>>::Output>> + RtfOrSystem<Set = <T as ComplexOp<X>>::Output>,
impl<'a, T, B, A, X, XX> FiltFilt<'a, X, XX> for Tf<T, B, A>where
T: ComplexOp<X> + ComplexOp<T, Output = T> + Sum + AddAssign,
X: Into<<T as ComplexOp<X>>::Output> + ComplexFloat<Real = T::Real>,
<T as ComplexOp<X>>::Output: ComplexOp<T, Real = T::Real, Output = <T as ComplexOp<X>>::Output> + ComplexOp<X, Output = <T as ComplexOp<X>>::Output> + ComplexOp<<T as ComplexOp<X>>::Output, Output = <T as ComplexOp<X>>::Output>,
B: MaybeLists<T>,
A: MaybeList<T>,
XX: Lists<X>,
Self: 'a,
&'a Self: Into<Tf<T, Vec<Vec<T>>, Vec<T>>>,
for<'b> Tf<T, &'b [T], &'b [T]>: System<Set = T>,
for<'b> Rtf<<T as ComplexOp<X>>::Output, Tf<T, &'b [T], &'b [T]>>: FilterMut<X, Vec<X>, Output = Vec<<T as ComplexOp<X>>::Output>> + FilterMut<<T as ComplexOp<X>>::Output, Vec<<T as ComplexOp<X>>::Output>, Output = Vec<<T as ComplexOp<X>>::Output>> + RtfOrSystem<Set = <T as ComplexOp<X>>::Output>,
type Output = <B as MaybeLists<T>>::RowsMapped<<XX as ContainerOrSingle<X>>::Mapped<<<Tf<T, B, A> as RtfOrSystem>::Set as ComplexOp<X>>::Output>>
fn filtfilt(&'a self, x: XX) -> Self::Output
source§impl<'a, T, B, A, X, XX, Y> FiltIc<X, XX, <B as MaybeLists<T>>::RowsMapped<<XX as ContainerOrSingle<X>>::Mapped<Y>>> for Tf<T, B, A>where
T: ComplexOp<X, Output = Y>,
B: MaybeLists<T>,
A: MaybeList<T>,
X: ComplexFloat + Into<Y>,
Y: ComplexFloat + DivAssign,
XX: List<X>,
XX::Mapped<Y>: List<Y>,
B::RowsMapped<XX::Mapped<Y>>: Lists<Y>,
impl<'a, T, B, A, X, XX, Y> FiltIc<X, XX, <B as MaybeLists<T>>::RowsMapped<<XX as ContainerOrSingle<X>>::Mapped<Y>>> for Tf<T, B, A>where
T: ComplexOp<X, Output = Y>,
B: MaybeLists<T>,
A: MaybeList<T>,
X: ComplexFloat + Into<Y>,
Y: ComplexFloat + DivAssign,
XX: List<X>,
XX::Mapped<Y>: List<Y>,
B::RowsMapped<XX::Mapped<Y>>: Lists<Y>,
source§impl<T, B, A> FiltOrd for Tf<T, B, A>
impl<T, B, A> FiltOrd for Tf<T, B, A>
type Output = <B as MaybeLists<T>>::RowsMapped<usize>
fn filtord(&self) -> Self::Output
source§impl<'a, T, B, A> FilterNorm<'a> for Tf<T, B, A>where
T: ComplexFloat<Real: Sum>,
B: MaybeLists<T>,
A: MaybeList<T>,
B::RowsMapped<Vec<T>>: for<'b> Lists<T, RowView<'b>: List<T>, RowsMapped<T::Real> = B::RowsMapped<T::Real>>,
B::RowsMapped<[Complex<T::Real>; 1024]>: for<'b> Lists<Complex<T::Real>, RowView<'b>: List<Complex<T::Real>>, RowsMapped<T::Real> = B::RowsMapped<T::Real>>,
Self: ImpZ<'a, B::RowsMapped<Vec<T>>, Vec<T::Real>, ()> + FreqZ<'a, B::RowsMapped<[Complex<T::Real>; 1024]>, [T::Real; 1024], ()> + System<Set = T>,
impl<'a, T, B, A> FilterNorm<'a> for Tf<T, B, A>where
T: ComplexFloat<Real: Sum>,
B: MaybeLists<T>,
A: MaybeList<T>,
B::RowsMapped<Vec<T>>: for<'b> Lists<T, RowView<'b>: List<T>, RowsMapped<T::Real> = B::RowsMapped<T::Real>>,
B::RowsMapped<[Complex<T::Real>; 1024]>: for<'b> Lists<Complex<T::Real>, RowView<'b>: List<Complex<T::Real>>, RowsMapped<T::Real> = B::RowsMapped<T::Real>>,
Self: ImpZ<'a, B::RowsMapped<Vec<T>>, Vec<T::Real>, ()> + FreqZ<'a, B::RowsMapped<[Complex<T::Real>; 1024]>, [T::Real; 1024], ()> + System<Set = T>,
type Output = <B as MaybeLists<T>>::RowsMapped<<T as ComplexFloat>::Real>
fn filternorm(&'a self, p: T::Real) -> Self::Output
source§impl<T, B, A, F> FindFreqS<F, <B as MaybeLists<T>>::RowsMapped<F>> for Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
F: OwnedList<T::Real>,
<F::Length as StaticMaybe<usize>>::Opposite: Sized + Clone,
B::RowsMapped<F>: OwnedLists<T::Real>,
for<'a> A::View<'a>: MaybeList<T>,
for<'a> Tf<T, B::RowOwned, A::View<'a>>: ToZpk<Complex<T::Real>, Vec<Complex<T::Real>>, Vec<Complex<T::Real>>, T, (), ()>,
Zpk<Complex<T::Real>, Vec<Complex<T::Real>>, Vec<Complex<T::Real>>, T>: FindFreqS<F, F> + System<Set = T>,
impl<T, B, A, F> FindFreqS<F, <B as MaybeLists<T>>::RowsMapped<F>> for Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
F: OwnedList<T::Real>,
<F::Length as StaticMaybe<usize>>::Opposite: Sized + Clone,
B::RowsMapped<F>: OwnedLists<T::Real>,
for<'a> A::View<'a>: MaybeList<T>,
for<'a> Tf<T, B::RowOwned, A::View<'a>>: ToZpk<Complex<T::Real>, Vec<Complex<T::Real>>, Vec<Complex<T::Real>>, T, (), ()>,
Zpk<Complex<T::Real>, Vec<Complex<T::Real>>, Vec<Complex<T::Real>>, T>: FindFreqS<F, F> + System<Set = T>,
fn find_freqs( self, numtaps: <F::Length as StaticMaybe<usize>>::Opposite ) -> B::RowsMapped<F>
source§impl<T, F, W, WW> Fir1<(), F, W, WW, true> for Tf<T, WW::Mapped<T>, ()>where
T: ComplexFloat + Into<Complex<T::Real>> + Mul<T::Real, Output = T>,
T::Real: Into<T>,
Complex<T::Real>: AddAssign + MulAssign,
WW: List<W>,
F: List<T::Real>,
W: ComplexFloat<Real = T::Real> + Into<T>,
WW::Mapped<T>: List<T, Mapped<T> = WW::Mapped<T>>,
Self: Fir2<(), Vec<T::Real>, Vec<T>, W, WW, true> + System<Set = T>,
impl<T, F, W, WW> Fir1<(), F, W, WW, true> for Tf<T, WW::Mapped<T>, ()>where
T: ComplexFloat + Into<Complex<T::Real>> + Mul<T::Real, Output = T>,
T::Real: Into<T>,
Complex<T::Real>: AddAssign + MulAssign,
WW: List<W>,
F: List<T::Real>,
W: ComplexFloat<Real = T::Real> + Into<T>,
WW::Mapped<T>: List<T, Mapped<T> = WW::Mapped<T>>,
Self: Fir2<(), Vec<T::Real>, Vec<T>, W, WW, true> + System<Set = T>,
source§impl<T, F, M, const N: usize> Fir2<(), F, M, <T as ComplexFloat>::Real> for Tf<T, [T; N], ()>
impl<T, F, M, const N: usize> Fir2<(), F, M, <T as ComplexFloat>::Real> for Tf<T, [T; N], ()>
source§impl<T, F, M, W, WW> Fir2<(), F, M, W, WW, true> for Tf<T, WW::Mapped<T>, ()>where
T: ComplexFloat<Real: TotalOrder + MulAssign + AddAssign + SubAssign> + Div<T::Real, Output = T> + Mul<T::Real, Output = T> + Into<Complex<T::Real>> + 'static,
Complex<T::Real>: AddAssign + MulAssign + MulAssign<T::Real>,
T::Real: Into<T>,
F: List<T::Real>,
M: List<T, Length = F::Length>,
W: ComplexFloat<Real = T::Real> + Into<T>,
WW: List<W>,
WW::Mapped<T>: List<T>,
[(); { _ }]:,
impl<T, F, M, W, WW> Fir2<(), F, M, W, WW, true> for Tf<T, WW::Mapped<T>, ()>where
T: ComplexFloat<Real: TotalOrder + MulAssign + AddAssign + SubAssign> + Div<T::Real, Output = T> + Mul<T::Real, Output = T> + Into<Complex<T::Real>> + 'static,
Complex<T::Real>: AddAssign + MulAssign + MulAssign<T::Real>,
T::Real: Into<T>,
F: List<T::Real>,
M: List<T, Length = F::Length>,
W: ComplexFloat<Real = T::Real> + Into<T>,
WW: List<W>,
WW::Mapped<T>: List<T>,
[(); { _ }]:,
source§impl<T, const N: usize> FirLS<()> for Tf<T, [T; N], ()>
impl<T, const N: usize> FirLS<()> for Tf<T, [T; N], ()>
source§impl<T> FirLS<usize> for Tf<T, Vec<T>, ()>where
T: ComplexFloat + Lapack + Sub<<T as ComplexFloat>::Real, Output = T> + Mul<<T as ComplexFloat>::Real, Output = T> + Div<<T as ComplexFloat>::Real, Output = T>,
<T as ComplexFloat>::Real: MulAssign + Into<T>,
impl<T> FirLS<usize> for Tf<T, Vec<T>, ()>where
T: ComplexFloat + Lapack + Sub<<T as ComplexFloat>::Real, Output = T> + Mul<<T as ComplexFloat>::Real, Output = T> + Div<<T as ComplexFloat>::Real, Output = T>,
<T as ComplexFloat>::Real: MulAssign + Into<T>,
source§impl<T> FirPm for Tf<T, Vec<T>, ()>
impl<T> FirPm for Tf<T, Vec<T>, ()>
fn firpm<FS, RES, const B2: usize, const R: usize, const W: usize>( order: usize, bands: [Self::Set; B2], response: [Self::Set; R], weight: [Self::Set; W], filter_type: FirPmType, sampling_frequency: FS, accuracy: Self::Set, persistence: Self::Set, robustness: Self::Set, target: Self::Set ) -> Result<(Self, Self::Set, RES), FirPmError>
source§impl<'a, T, B, A, const N: usize> FreqZ<'a, <B as MaybeLists<T>>::RowsMapped<[Complex<<T as ComplexFloat>::Real>; N]>, [<T as ComplexFloat>::Real; N], ()> for Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
B::RowsMapped<[Complex<T::Real>; N]>: Lists<Complex<T::Real>>,
Complex<T::Real>: AddAssign + MulAssign + Mul<T::Real, Output = Complex<T::Real>>,
Self: 'a,
&'a Self: Into<Tf<Complex<T::Real>, Vec<Vec<Complex<T::Real>>>, Vec<Complex<T::Real>>>>,
impl<'a, T, B, A, const N: usize> FreqZ<'a, <B as MaybeLists<T>>::RowsMapped<[Complex<<T as ComplexFloat>::Real>; N]>, [<T as ComplexFloat>::Real; N], ()> for Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
B::RowsMapped<[Complex<T::Real>; N]>: Lists<Complex<T::Real>>,
Complex<T::Real>: AddAssign + MulAssign + Mul<T::Real, Output = Complex<T::Real>>,
Self: 'a,
&'a Self: Into<Tf<Complex<T::Real>, Vec<Vec<Complex<T::Real>>>, Vec<Complex<T::Real>>>>,
source§impl<'a, T, B, A> FreqZ<'a, <B as MaybeLists<T>>::RowsMapped<Vec<Complex<<T as ComplexFloat>::Real>>>, Vec<<T as ComplexFloat>::Real>, usize> for Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
B::RowsMapped<Vec<Complex<T::Real>>>: Lists<Complex<T::Real>>,
Complex<T::Real>: AddAssign + MulAssign + Mul<T::Real, Output = Complex<T::Real>>,
Self: 'a,
&'a Self: Into<Tf<Complex<T::Real>, Vec<Vec<Complex<T::Real>>>, Vec<Complex<T::Real>>>>,
impl<'a, T, B, A> FreqZ<'a, <B as MaybeLists<T>>::RowsMapped<Vec<Complex<<T as ComplexFloat>::Real>>>, Vec<<T as ComplexFloat>::Real>, usize> for Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
B::RowsMapped<Vec<Complex<T::Real>>>: Lists<Complex<T::Real>>,
Complex<T::Real>: AddAssign + MulAssign + Mul<T::Real, Output = Complex<T::Real>>,
Self: 'a,
&'a Self: Into<Tf<Complex<T::Real>, Vec<Vec<Complex<T::Real>>>, Vec<Complex<T::Real>>>>,
source§impl<'a, T1, B1, A1, T2, B2, A2> From<&'a Tf<T1, B1, A1>> for Tf<T2, B2, A2>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
B1::View<'a>: MaybeLists<T1>,
A1::View<'a>: MaybeLists<T1>,
Polynomial<T1, B1::View<'a>>: Into<Polynomial<T2, B2>>,
Polynomial<T1, A1::View<'a>>: Into<Polynomial<T2, A2>>,
impl<'a, T1, B1, A1, T2, B2, A2> From<&'a Tf<T1, B1, A1>> for Tf<T2, B2, A2>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
B1::View<'a>: MaybeLists<T1>,
A1::View<'a>: MaybeLists<T1>,
Polynomial<T1, B1::View<'a>>: Into<Polynomial<T2, B2>>,
Polynomial<T1, A1::View<'a>>: Into<Polynomial<T2, A2>>,
source§impl<T, B, N> GammatoneFir<N> for Tf<T, B>where
T: Float + FloatConst,
B: OwnedList<T>,
<B::Length as StaticMaybe<usize>>::Opposite: StaticMaybe<usize, Maybe<N> = N> + Sized,
N: StaticMaybe<N> + StaticMaybe<usize>,
[(); { _ }]:,
impl<T, B, N> GammatoneFir<N> for Tf<T, B>where
T: Float + FloatConst,
B: OwnedList<T>,
<B::Length as StaticMaybe<usize>>::Opposite: StaticMaybe<usize, Maybe<N> = N> + Sized,
N: StaticMaybe<N> + StaticMaybe<usize>,
[(); { _ }]:,
fn gammatone_fir<O, FS>( numtaps: N, order: O, frequency: T, sampling_frequency: FS ) -> Result<Self, GammatoneError>
source§impl<T> GammatoneIir for Tf<T, [T; 5], [T; 9]>where
T: Float + FloatConst,
impl<T> GammatoneIir for Tf<T, [T; 5], [T; 9]>where
T: Float + FloatConst,
fn gammatone_iir<FS>( frequency: <Self::Set as ComplexFloat>::Real, sampling_frequency: FS ) -> Result<Self, GammatoneError>
source§impl<'a, T, B, A, const N: usize> GrpDelay<'a, <B as MaybeLists<T>>::RowsMapped<[<T as ComplexFloat>::Real; N]>, [<T as ComplexFloat>::Real; N], ()> for Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
B::RowsMapped<[T::Real; N]>: Lists<T::Real>,
Vec<Complex<T::Real>>: for<'b> Conv<Complex<T::Real>, Complex<T::Real>, &'b [Complex<T::Real>], Output = Vec<Complex<T::Real>>>,
Complex<T::Real>: AddAssign + MulAssign + Mul<T::Real, Output = Complex<T::Real>>,
Self: 'a,
&'a Self: Into<Tf<Complex<T::Real>, Vec<Vec<Complex<T::Real>>>, Vec<Complex<T::Real>>>>,
impl<'a, T, B, A, const N: usize> GrpDelay<'a, <B as MaybeLists<T>>::RowsMapped<[<T as ComplexFloat>::Real; N]>, [<T as ComplexFloat>::Real; N], ()> for Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
B::RowsMapped<[T::Real; N]>: Lists<T::Real>,
Vec<Complex<T::Real>>: for<'b> Conv<Complex<T::Real>, Complex<T::Real>, &'b [Complex<T::Real>], Output = Vec<Complex<T::Real>>>,
Complex<T::Real>: AddAssign + MulAssign + Mul<T::Real, Output = Complex<T::Real>>,
Self: 'a,
&'a Self: Into<Tf<Complex<T::Real>, Vec<Vec<Complex<T::Real>>>, Vec<Complex<T::Real>>>>,
source§impl<T, BA> IirComb<<<BA as ListOrSingle<T>>::Length as StaticMaybe<usize>>::Opposite> for Tf<T, BA, BA>where
T: Float + FloatConst,
BA: OwnedList<T>,
<BA::Length as StaticMaybe<usize>>::Opposite: Sized,
[(); { _ }]:,
impl<T, BA> IirComb<<<BA as ListOrSingle<T>>::Length as StaticMaybe<usize>>::Opposite> for Tf<T, BA, BA>where
T: Float + FloatConst,
BA: OwnedList<T>,
<BA::Length as StaticMaybe<usize>>::Opposite: Sized,
[(); { _ }]:,
fn iir_comb( order: <BA::Length as StaticMaybe<usize>>::Opposite, quality_factor: <Self::Set as ComplexFloat>::Real, filter_type: CombFilterType, pass_zero: bool ) -> Self
source§impl<T, T2, B, B2, A, A2, R, R2, P, RP, K> ImpInvar for Tf<T, B, A>where
T: ComplexFloat<Real: Into<T> + NotPolynomial> + 'static,
B: MaybeLists<T>,
A: MaybeList<T>,
Self: Residue<Output = Rpk<T, R, P, RP, K>> + System<Set = T>,
Rpk<R, R2, P, Vec<(R2, P)>, [R; 1]>: Residue<Output = Tf<T2, B2, A2>> + System<Set: ComplexFloat<Real = T::Real>>,
T2: ComplexFloat<Real = T::Real> + 'static,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
B2::MaybeMapped<T>: MaybeLists<T, RowsMapped<Vec<T>>: MaybeLists<T>, RowOwned: MaybeList<T>>,
Polynomial<T, <B2::MaybeMapped<T> as MaybeLists<T>>::RowOwned>: Into<Polynomial<T, Vec<T>>>,
A2::MaybeMapped<T>: MaybeList<T>,
R: ComplexFloat<Real = T::Real> + Mul<T::Real, Output = R> + ComplexOp<P, Output = R2> + AddAssign,
P: ComplexFloat<Real = T::Real> + Mul<T::Real, Output = P> + Into<R2> + MulAssign + Add<T::Real, Output = P>,
R2: ComplexFloat<Real = T::Real> + NotPolynomial,
RP: MaybeList<(R, P)>,
K: MaybeList<T>,
SumSequence<(R, P), RP>: Into<SumSequence<(R, P), Vec<(R, P)>>>,
impl<T, T2, B, B2, A, A2, R, R2, P, RP, K> ImpInvar for Tf<T, B, A>where
T: ComplexFloat<Real: Into<T> + NotPolynomial> + 'static,
B: MaybeLists<T>,
A: MaybeList<T>,
Self: Residue<Output = Rpk<T, R, P, RP, K>> + System<Set = T>,
Rpk<R, R2, P, Vec<(R2, P)>, [R; 1]>: Residue<Output = Tf<T2, B2, A2>> + System<Set: ComplexFloat<Real = T::Real>>,
T2: ComplexFloat<Real = T::Real> + 'static,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
B2::MaybeMapped<T>: MaybeLists<T, RowsMapped<Vec<T>>: MaybeLists<T>, RowOwned: MaybeList<T>>,
Polynomial<T, <B2::MaybeMapped<T> as MaybeLists<T>>::RowOwned>: Into<Polynomial<T, Vec<T>>>,
A2::MaybeMapped<T>: MaybeList<T>,
R: ComplexFloat<Real = T::Real> + Mul<T::Real, Output = R> + ComplexOp<P, Output = R2> + AddAssign,
P: ComplexFloat<Real = T::Real> + Mul<T::Real, Output = P> + Into<R2> + MulAssign + Add<T::Real, Output = P>,
R2: ComplexFloat<Real = T::Real> + NotPolynomial,
RP: MaybeList<(R, P)>,
K: MaybeList<T>,
SumSequence<(R, P), RP>: Into<SumSequence<(R, P), Vec<(R, P)>>>,
type Output = Tf<T, <<B2 as MaybeContainer<T2>>::MaybeMapped<T> as MaybeLists<T>>::RowsMapped<Vec<T>>, <A2 as MaybeContainer<T2>>::MaybeMapped<T>>
fn impinvar<FS, TOL>( self, sampling_frequency: FS, tol: TOL ) -> Result<Self::Output, ImpInvarError>
source§impl<'a, T, B, A, const N: usize> ImpZ<'a, <B as MaybeLists<T>>::RowsMapped<[T; N]>, [<T as ComplexFloat>::Real; N], ()> for Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
B::RowsMapped<Vec<T>>: Lists<T, RowsMapped<[T; N]> = B::RowsMapped<[T; N]>>,
B::RowsMapped<[T; N]>: Lists<T>,
Self: ImpZ<'a, B::RowsMapped<Vec<T>>, Vec<T::Real>, usize> + System<Set = T> + 'a,
impl<'a, T, B, A, const N: usize> ImpZ<'a, <B as MaybeLists<T>>::RowsMapped<[T; N]>, [<T as ComplexFloat>::Real; N], ()> for Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
B::RowsMapped<Vec<T>>: Lists<T, RowsMapped<[T; N]> = B::RowsMapped<[T; N]>>,
B::RowsMapped<[T; N]>: Lists<T>,
Self: ImpZ<'a, B::RowsMapped<Vec<T>>, Vec<T::Real>, usize> + System<Set = T> + 'a,
source§impl<'a, T, B, A> ImpZ<'a, <B as MaybeLists<T>>::RowsMapped<Vec<T>>, Vec<<T as ComplexFloat>::Real>, ()> for Tf<T, B, A>where
Complex<<T as ComplexFloat>::Real>: From<T> + AddAssign + SubAssign + MulAssign + DivAssign + DivAssign<<T as ComplexFloat>::Real>,
T: ComplexFloat + Lapack<Complex = Complex<<T as ComplexFloat>::Real>>,
B: MaybeLists<T>,
A: MaybeList<T>,
B::RowsMapped<Vec<T>>: Lists<T>,
Self: ImpZ<'a, B::RowsMapped<Vec<T>>, Vec<<T as ComplexFloat>::Real>, usize> + System<Set = T>,
impl<'a, T, B, A> ImpZ<'a, <B as MaybeLists<T>>::RowsMapped<Vec<T>>, Vec<<T as ComplexFloat>::Real>, ()> for Tf<T, B, A>where
Complex<<T as ComplexFloat>::Real>: From<T> + AddAssign + SubAssign + MulAssign + DivAssign + DivAssign<<T as ComplexFloat>::Real>,
T: ComplexFloat + Lapack<Complex = Complex<<T as ComplexFloat>::Real>>,
B: MaybeLists<T>,
A: MaybeList<T>,
B::RowsMapped<Vec<T>>: Lists<T>,
Self: ImpZ<'a, B::RowsMapped<Vec<T>>, Vec<<T as ComplexFloat>::Real>, usize> + System<Set = T>,
fn impz<FS>( &'a self, (): (), sampling_frequency: FS ) -> (B::RowsMapped<Vec<T>>, Vec<<T as ComplexFloat>::Real>)
source§impl<'a, T, B, A> ImpZ<'a, <B as MaybeLists<T>>::RowsMapped<Vec<T>>, Vec<<T as ComplexFloat>::Real>, usize> for Tf<T, B, A>where
T: ComplexFloat + ComplexOp<T, Output = T>,
B: MaybeLists<T>,
A: MaybeList<T>,
B::RowsMapped<Vec<T>>: for<'b> Lists<T, RowsMapped<Vec<T>> = B::RowsMapped<Vec<T>>, RowView<'b>: List<T, Mapped<T::Real> = Vec<T::Real>>> + 'a,
Self: 'a,
B::View<'a>: MaybeLists<T>,
A::View<'a>: MaybeList<T>,
Tf<T, B::View<'a>, A::View<'a>>: Filter<T, Vec<T>, Output = B::RowsMapped<Vec<T>>> + System<Set = T>,
&'a Self: Into<Tf<T, B::RowsMapped<Vec<T>>, Vec<T>>>,
Vec<T>: for<'b> Conv<T, T, &'b [T], Output = Vec<T>>,
T::Real: Into<T>,
(): Maybe<Vec<T>>,
impl<'a, T, B, A> ImpZ<'a, <B as MaybeLists<T>>::RowsMapped<Vec<T>>, Vec<<T as ComplexFloat>::Real>, usize> for Tf<T, B, A>where
T: ComplexFloat + ComplexOp<T, Output = T>,
B: MaybeLists<T>,
A: MaybeList<T>,
B::RowsMapped<Vec<T>>: for<'b> Lists<T, RowsMapped<Vec<T>> = B::RowsMapped<Vec<T>>, RowView<'b>: List<T, Mapped<T::Real> = Vec<T::Real>>> + 'a,
Self: 'a,
B::View<'a>: MaybeLists<T>,
A::View<'a>: MaybeList<T>,
Tf<T, B::View<'a>, A::View<'a>>: Filter<T, Vec<T>, Output = B::RowsMapped<Vec<T>>> + System<Set = T>,
&'a Self: Into<Tf<T, B::RowsMapped<Vec<T>>, Vec<T>>>,
Vec<T>: for<'b> Conv<T, T, &'b [T], Output = Vec<T>>,
T::Real: Into<T>,
(): Maybe<Vec<T>>,
source§impl<T, B, A, L> ImpulseS<L> for Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
L: List<T::Real>,
<L::Length as StaticMaybe<usize>>::Opposite: Sized,
B::RowsMapped<L::Mapped<T>>: Lists<T> + OwnedListOrSingle<L::Mapped<T>, Length: StaticMaybe<usize, Opposite: Sized>>,
Self: System<Set = T> + ToSs<T, Array2<T>, Array2<T>, Array2<T>, Array2<T>>,
Array2<T>: SsAMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsBMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsCMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsDMatrix<T, Array2<T>, Array2<T>, Array2<T>>,
Ss<T, Array2<T>, Array2<T>, Array2<T>, Array2<T>>: ImpulseS<L, Output = Array2<L::Mapped<T>>> + System<Set = T>,
impl<T, B, A, L> ImpulseS<L> for Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
L: List<T::Real>,
<L::Length as StaticMaybe<usize>>::Opposite: Sized,
B::RowsMapped<L::Mapped<T>>: Lists<T> + OwnedListOrSingle<L::Mapped<T>, Length: StaticMaybe<usize, Opposite: Sized>>,
Self: System<Set = T> + ToSs<T, Array2<T>, Array2<T>, Array2<T>, Array2<T>>,
Array2<T>: SsAMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsBMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsCMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsDMatrix<T, Array2<T>, Array2<T>, Array2<T>>,
Ss<T, Array2<T>, Array2<T>, Array2<T>, Array2<T>>: ImpulseS<L, Output = Array2<L::Mapped<T>>> + System<Set = T>,
type OutputI = <B as MaybeLists<T>>::RowsMapped<<L as ContainerOrSingle<<T as ComplexFloat>::Real>>::Mapped<T>>
type Output = <B as MaybeLists<T>>::RowsMapped<<L as ContainerOrSingle<<T as ComplexFloat>::Real>>::Mapped<T>>
fn impulse_s<TT, W>( self, t: TT, numtaps: <L::Length as StaticMaybe<usize>>::Opposite, w: W ) -> (L, Self::Output)
source§impl<T, B, A> ImpulseZ for Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
Self: System<Set = T> + ToSs<T, Array2<T>, Array2<T>, Array2<T>, Array2<T>>,
Array2<T>: SsAMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsBMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsCMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsDMatrix<T, Array2<T>, Array2<T>, Array2<T>>,
Ss<T, Array2<T>, Array2<T>, Array2<T>, Array2<T>>: ImpulseZ<Output = Array2<Vec<T>>> + System<Set = T>,
B::RowsMapped<Vec<T>>: Lists<T> + OwnedListOrSingle<Vec<T>, Length: StaticMaybe<usize, Opposite: Sized>>,
impl<T, B, A> ImpulseZ for Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
Self: System<Set = T> + ToSs<T, Array2<T>, Array2<T>, Array2<T>, Array2<T>>,
Array2<T>: SsAMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsBMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsCMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsDMatrix<T, Array2<T>, Array2<T>, Array2<T>>,
Ss<T, Array2<T>, Array2<T>, Array2<T>, Array2<T>>: ImpulseZ<Output = Array2<Vec<T>>> + System<Set = T>,
B::RowsMapped<Vec<T>>: Lists<T> + OwnedListOrSingle<Vec<T>, Length: StaticMaybe<usize, Opposite: Sized>>,
source§impl<'a, T, B, A, O> Inv for &'a Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
B::View<'a>: MaybeLists<T>,
A::View<'a>: MaybeList<T>,
Tf<T, B::View<'a>, A::View<'a>>: Inv<Output = O>,
impl<'a, T, B, A, O> Inv for &'a Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
B::View<'a>: MaybeLists<T>,
A::View<'a>: MaybeList<T>,
Tf<T, B::View<'a>, A::View<'a>>: Inv<Output = O>,
source§impl<T, B, A, H, S, W, HFW> InvFreqS<H, S, W, HFW, <<B as MaybeLists<T>>::Width as StaticMaybe<usize>>::Opposite, <<A as MaybeLists<T>>::Width as StaticMaybe<usize>>::Opposite> for Tf<T, B, A>where
T: Float + FloatConst + Lapack<Real = T> + AddAssign + 'static,
B: List<T>,
A: MaybeList<T>,
H: ComplexFloat<Real = T>,
S: ComplexFloat<Real = T> + Into<Complex<T>>,
HFW: List<(H, S, W)>,
W: Maybe<T> + Clone,
Complex<T>: Mul<T, Output = Complex<T>> + Mul<H, Output = Complex<T>> + Mul<Output = Complex<T>> + MulAssign,
<B::Width as StaticMaybe<usize>>::Opposite: Sized,
<A::Width as StaticMaybe<usize>>::Opposite: Sized,
Vec<T>: TryInto<B> + TryInto<A>,
[(); { _ }]:,
impl<T, B, A, H, S, W, HFW> InvFreqS<H, S, W, HFW, <<B as MaybeLists<T>>::Width as StaticMaybe<usize>>::Opposite, <<A as MaybeLists<T>>::Width as StaticMaybe<usize>>::Opposite> for Tf<T, B, A>where
T: Float + FloatConst + Lapack<Real = T> + AddAssign + 'static,
B: List<T>,
A: MaybeList<T>,
H: ComplexFloat<Real = T>,
S: ComplexFloat<Real = T> + Into<Complex<T>>,
HFW: List<(H, S, W)>,
W: Maybe<T> + Clone,
Complex<T>: Mul<T, Output = Complex<T>> + Mul<H, Output = Complex<T>> + Mul<Output = Complex<T>> + MulAssign,
<B::Width as StaticMaybe<usize>>::Opposite: Sized,
<A::Width as StaticMaybe<usize>>::Opposite: Sized,
Vec<T>: TryInto<B> + TryInto<A>,
[(); { _ }]:,
fn invfreqs<ZB>( hfw: HFW, nb: <B::Width as StaticMaybe<usize>>::Opposite, na: <A::Width as StaticMaybe<usize>>::Opposite, zb: ZB, norm: bool, method: InvFreqMethod ) -> (Self, T)
source§impl<T, B, A, H, W, HFW> InvFreqZ<H, W, HFW, <<B as MaybeLists<T>>::Width as StaticMaybe<usize>>::Opposite, <<A as MaybeLists<T>>::Width as StaticMaybe<usize>>::Opposite> for Tf<T, B, A>where
T: Float + FloatConst + Lapack<Real = T> + AddAssign + 'static,
B: List<T>,
A: MaybeList<T>,
H: ComplexFloat<Real = T>,
HFW: List<(H, T, W)>,
W: Maybe<T> + Clone,
Complex<T>: Mul<T, Output = Complex<T>> + Mul<H, Output = Complex<T>> + Mul<Output = Complex<T>> + MulAssign,
<B::Width as StaticMaybe<usize>>::Opposite: Sized,
<A::Width as StaticMaybe<usize>>::Opposite: Sized,
Vec<T>: TryInto<B> + TryInto<A>,
[(); { _ }]:,
impl<T, B, A, H, W, HFW> InvFreqZ<H, W, HFW, <<B as MaybeLists<T>>::Width as StaticMaybe<usize>>::Opposite, <<A as MaybeLists<T>>::Width as StaticMaybe<usize>>::Opposite> for Tf<T, B, A>where
T: Float + FloatConst + Lapack<Real = T> + AddAssign + 'static,
B: List<T>,
A: MaybeList<T>,
H: ComplexFloat<Real = T>,
HFW: List<(H, T, W)>,
W: Maybe<T> + Clone,
Complex<T>: Mul<T, Output = Complex<T>> + Mul<H, Output = Complex<T>> + Mul<Output = Complex<T>> + MulAssign,
<B::Width as StaticMaybe<usize>>::Opposite: Sized,
<A::Width as StaticMaybe<usize>>::Opposite: Sized,
Vec<T>: TryInto<B> + TryInto<A>,
[(); { _ }]:,
fn invfreqz<ZB>( hfw: HFW, nb: <B::Width as StaticMaybe<usize>>::Opposite, na: <A::Width as StaticMaybe<usize>>::Opposite, zb: ZB, method: InvFreqMethod ) -> (Self, T)
source§impl<'a, T, B, A> IsAllPass<'a> for Tf<T, B, A>
impl<'a, T, B, A> IsAllPass<'a> for Tf<T, B, A>
type Output = <B as MaybeLists<T>>::RowsMapped<bool>
fn is_allpass<TOL>(&'a self, tol: TOL) -> Self::Output
source§impl<'a, T, B, A> IsLinPhase<'a> for Tf<T, B, A>where
T: ComplexFloat + 'a,
B: MaybeLists<T> + 'a,
A: MaybeList<T> + 'a,
A::View<'a>: MaybeList<T> + Clone,
impl<'a, T, B, A> IsLinPhase<'a> for Tf<T, B, A>where
T: ComplexFloat + 'a,
B: MaybeLists<T> + 'a,
A: MaybeList<T> + 'a,
A::View<'a>: MaybeList<T> + Clone,
type Output = <B as MaybeLists<T>>::RowsMapped<bool>
fn is_linphase<TOL>(&'a self, tol: TOL, generalized: bool) -> Self::Output
source§impl<'a, T, B, A> IsStable<'a> for Tf<T, B, A>where
T: ComplexFloat + 'a,
B: MaybeLists<T> + 'a,
A: MaybeList<T> + 'a,
A::View<'a>: MaybeList<T> + Clone,
Tf<T, B::RowView<'a>, A::View<'a>>: ToZpk<Complex<T::Real>, Vec<Complex<T::Real>>, Vec<Complex<T::Real>>, T, (), ()>,
Zpk<Complex<T::Real>, Vec<Complex<T::Real>>, Vec<Complex<T::Real>>, T>: for<'b> IsStable<'b, Output = bool> + System<Set = T>,
impl<'a, T, B, A> IsStable<'a> for Tf<T, B, A>where
T: ComplexFloat + 'a,
B: MaybeLists<T> + 'a,
A: MaybeList<T> + 'a,
A::View<'a>: MaybeList<T> + Clone,
Tf<T, B::RowView<'a>, A::View<'a>>: ToZpk<Complex<T::Real>, Vec<Complex<T::Real>>, Vec<Complex<T::Real>>, T, (), ()>,
Zpk<Complex<T::Real>, Vec<Complex<T::Real>>, Vec<Complex<T::Real>>, T>: for<'b> IsStable<'b, Output = bool> + System<Set = T>,
source§impl<T, B, A> MaxPhase for Tf<T, B, A>where
T: ComplexFloat + MulAssign<T::Real>,
B: MaybeLists<T>,
A: MaybeList<T>,
Self: ToZpk<Complex<T::Real>, Vec<Complex<T::Real>>, Vec<Complex<T::Real>>, T, (), ()> + System<Set = T>,
Zpk<Complex<T::Real>, Vec<Complex<T::Real>>, Vec<Complex<T::Real>>, T>: ToTf<T, Vec<T>, Vec<T>, (), ()>,
Zpk<Complex<T::Real>, Vec<Complex<T::Real>>, Vec<Complex<T::Real>>, T::Real>: ToTf<T, Vec<T>, Vec<T>, (), ()>,
impl<T, B, A> MaxPhase for Tf<T, B, A>where
T: ComplexFloat + MulAssign<T::Real>,
B: MaybeLists<T>,
A: MaybeList<T>,
Self: ToZpk<Complex<T::Real>, Vec<Complex<T::Real>>, Vec<Complex<T::Real>>, T, (), ()> + System<Set = T>,
Zpk<Complex<T::Real>, Vec<Complex<T::Real>>, Vec<Complex<T::Real>>, T>: ToTf<T, Vec<T>, Vec<T>, (), ()>,
Zpk<Complex<T::Real>, Vec<Complex<T::Real>>, Vec<Complex<T::Real>>, T::Real>: ToTf<T, Vec<T>, Vec<T>, (), ()>,
source§impl<T, B, A> MinPhase for Tf<T, B, A>where
T: ComplexFloat + MulAssign<T::Real>,
B: MaybeLists<T>,
A: MaybeList<T>,
Self: ToZpk<Complex<T::Real>, Vec<Complex<T::Real>>, Vec<Complex<T::Real>>, T, (), ()> + System<Set = T>,
Zpk<Complex<T::Real>, Vec<Complex<T::Real>>, Vec<Complex<T::Real>>, T>: ToTf<T, Vec<T>, Vec<T>, (), ()>,
Zpk<Complex<T::Real>, Vec<Complex<T::Real>>, Vec<Complex<T::Real>>, T::Real>: ToTf<T, Vec<T>, Vec<T>, (), ()>,
impl<T, B, A> MinPhase for Tf<T, B, A>where
T: ComplexFloat + MulAssign<T::Real>,
B: MaybeLists<T>,
A: MaybeList<T>,
Self: ToZpk<Complex<T::Real>, Vec<Complex<T::Real>>, Vec<Complex<T::Real>>, T, (), ()> + System<Set = T>,
Zpk<Complex<T::Real>, Vec<Complex<T::Real>>, Vec<Complex<T::Real>>, T>: ToTf<T, Vec<T>, Vec<T>, (), ()>,
Zpk<Complex<T::Real>, Vec<Complex<T::Real>>, Vec<Complex<T::Real>>, T::Real>: ToTf<T, Vec<T>, Vec<T>, (), ()>,
source§impl<'a, 'b, T, B, A, O> Mul<&'b T> for &'a Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
Self: Mul<Tf<T, &'b [T; 1], ()>, Output = O>,
impl<'a, 'b, T, B, A, O> Mul<&'b T> for &'a Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
Self: Mul<Tf<T, &'b [T; 1], ()>, Output = O>,
source§impl<'b, T, B, A, O> Mul<&'b T> for Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
Self: Mul<Tf<T, &'b [T; 1], ()>, Output = O>,
impl<'b, T, B, A, O> Mul<&'b T> for Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
Self: Mul<Tf<T, &'b [T; 1], ()>, Output = O>,
source§impl<'a, 'b, T1, B1, A1, T2, B2, A2, O> Mul<&'b Tf<T2, B2, A2>> for &'a Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
B1::View<'a>: MaybeLists<T1>,
A1::View<'a>: MaybeList<T1>,
B2::View<'b>: MaybeLists<T2>,
A2::View<'b>: MaybeList<T2>,
Tf<T1, B1::View<'a>, A1::View<'a>>: Mul<Tf<T2, B2::View<'b>, A2::View<'b>>, Output = O>,
impl<'a, 'b, T1, B1, A1, T2, B2, A2, O> Mul<&'b Tf<T2, B2, A2>> for &'a Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
B1::View<'a>: MaybeLists<T1>,
A1::View<'a>: MaybeList<T1>,
B2::View<'b>: MaybeLists<T2>,
A2::View<'b>: MaybeList<T2>,
Tf<T1, B1::View<'a>, A1::View<'a>>: Mul<Tf<T2, B2::View<'b>, A2::View<'b>>, Output = O>,
source§impl<'b, T1, B1, A1, T2, B2, A2, O> Mul<&'b Tf<T2, B2, A2>> for Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
B2::View<'b>: MaybeLists<T2>,
A2::View<'b>: MaybeList<T2>,
Tf<T1, B1, A1>: Mul<Tf<T2, B2::View<'b>, A2::View<'b>>, Output = O>,
impl<'b, T1, B1, A1, T2, B2, A2, O> Mul<&'b Tf<T2, B2, A2>> for Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
B2::View<'b>: MaybeLists<T2>,
A2::View<'b>: MaybeList<T2>,
Tf<T1, B1, A1>: Mul<Tf<T2, B2::View<'b>, A2::View<'b>>, Output = O>,
source§impl<'a, T1, B1, A1, T2, B2, A2, O> Mul<Tf<T2, B2, A2>> for &'a Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
B1::View<'a>: MaybeLists<T1>,
A1::View<'a>: MaybeList<T1>,
Tf<T1, B1::View<'a>, A1::View<'a>>: Mul<Tf<T2, B2, A2>, Output = O>,
impl<'a, T1, B1, A1, T2, B2, A2, O> Mul<Tf<T2, B2, A2>> for &'a Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
B1::View<'a>: MaybeLists<T1>,
A1::View<'a>: MaybeList<T1>,
Tf<T1, B1::View<'a>, A1::View<'a>>: Mul<Tf<T2, B2, A2>, Output = O>,
source§impl<T1, T2, T3, B1, B2, B3, A1, A2, A3> Mul<Tf<T2, B2, A2>> for Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
T3: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
B3: MaybeLists<T3>,
A3: MaybeList<T3>,
Polynomial<T1, B1>: Mul<Polynomial<T2, B2>, Output = Polynomial<T3, B3>>,
Polynomial<T1, A1>: Mul<Polynomial<T2, A2>, Output = Polynomial<T3, A3>>,
Tf<T3, B3, A3>: Simplify,
impl<T1, T2, T3, B1, B2, B3, A1, A2, A3> Mul<Tf<T2, B2, A2>> for Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
T3: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
B3: MaybeLists<T3>,
A3: MaybeList<T3>,
Polynomial<T1, B1>: Mul<Polynomial<T2, B2>, Output = Polynomial<T3, B3>>,
Polynomial<T1, A1>: Mul<Polynomial<T2, A2>, Output = Polynomial<T3, A3>>,
Tf<T3, B3, A3>: Simplify,
source§impl<'a, T, B, A, O> Neg for &'a Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
B::View<'a>: MaybeLists<T>,
A::View<'a>: MaybeList<T>,
Tf<T, B::View<'a>, A::View<'a>>: Neg<Output = O>,
impl<'a, T, B, A, O> Neg for &'a Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
B::View<'a>: MaybeLists<T>,
A::View<'a>: MaybeList<T>,
Tf<T, B::View<'a>, A::View<'a>>: Neg<Output = O>,
source§impl<T, B1, B2, A> Neg for Tf<T, B1, A>where
T: ComplexFloat,
B1: MaybeLists<T>,
B2: MaybeLists<T>,
A: MaybeList<T>,
Polynomial<T, B1>: Neg<Output = Polynomial<T, B2>>,
impl<T, B1, B2, A> Neg for Tf<T, B1, A>where
T: ComplexFloat,
B1: MaybeLists<T>,
B2: MaybeLists<T>,
A: MaybeList<T>,
Polynomial<T, B1>: Neg<Output = Polynomial<T, B2>>,
source§impl<T, BB> PeiTsengNotch<BB> for Tf<T, Vec<T>, Vec<T>>
impl<T, BB> PeiTsengNotch<BB> for Tf<T, Vec<T>, Vec<T>>
fn pei_tseng_notch<FS>( bands: BB, sampling_frequency: FS ) -> Result<Self, PeiTsengNotchError>
source§impl<T1, B1, A1, T2, B2, A2> Product<Tf<T1, B1, A1>> for Tf<T2, B2, A2>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
Tf<T1, B1, A1>: ToTf<T2, B2, A2, (), ()>,
Tf<T2, B2, A2>: Mul<Output = Tf<T2, B2, A2>> + One,
impl<T1, B1, A1, T2, B2, A2> Product<Tf<T1, B1, A1>> for Tf<T2, B2, A2>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
Tf<T1, B1, A1>: ToTf<T2, B2, A2, (), ()>,
Tf<T2, B2, A2>: Mul<Output = Tf<T2, B2, A2>> + One,
source§impl<T, R, B, A> Qmf for Tf<T, B, A>where
R: Float + FloatConst + Into<T> + 'static,
T: ComplexFloat<Real = R> + Lapack<Complex = Complex<R>> + Into<Complex<R>> + 'static,
B: MaybeLists<T, Owned: MaybeOwnedLists<T>>,
A: MaybeList<T, Owned: MaybeOwnedList<T>>,
Complex<R>: AddAssign + SubAssign + MulAssign + DivAssign + DivAssign<R> + MulAssign<T>,
impl<T, R, B, A> Qmf for Tf<T, B, A>where
R: Float + FloatConst + Into<T> + 'static,
T: ComplexFloat<Real = R> + Lapack<Complex = Complex<R>> + Into<Complex<R>> + 'static,
B: MaybeLists<T, Owned: MaybeOwnedLists<T>>,
A: MaybeList<T, Owned: MaybeOwnedList<T>>,
Complex<R>: AddAssign + SubAssign + MulAssign + DivAssign + DivAssign<R> + MulAssign<T>,
source§impl<T, B, A, R> Residue for Tf<T, B, A>where
T: ComplexFloat<Real = R> + Lapack<Complex = Complex<R>> + 'static,
R: Float + FloatConst + TotalOrder + Into<T>,
B: MaybeList<T>,
A: MaybeList<T>,
Self: Simplify<Output: ToTf<T, Vec<T>, Vec<T>, (), ()>> + System<Set = T>,
Complex<R>: AddAssign + SubAssign + MulAssign + DivAssign + From<T> + DivAssign<R> + Div<T, Output = Complex<R>>,
Polynomial<T, Vec<T>>: Euclid,
impl<T, B, A, R> Residue for Tf<T, B, A>where
T: ComplexFloat<Real = R> + Lapack<Complex = Complex<R>> + 'static,
R: Float + FloatConst + TotalOrder + Into<T>,
B: MaybeList<T>,
A: MaybeList<T>,
Self: Simplify<Output: ToTf<T, Vec<T>, Vec<T>, (), ()>> + System<Set = T>,
Complex<R>: AddAssign + SubAssign + MulAssign + DivAssign + From<T> + DivAssign<R> + Div<T, Output = Complex<R>>,
Polynomial<T, Vec<T>>: Euclid,
source§impl<T, TR, B, A, R, P, RP, K> ResidueD for Tf<T, B, A>where
T: ComplexFloat<Real = TR> + ComplexOp<TR, Output = T>,
TR: Float + FloatConst + Into<T>,
B: MaybeList<T, Owned: MaybeOwnedList<T>>,
A: MaybeList<T> + for<'a> Conv<T, T, &'a [T], Output = Vec<T>, OutputT = T> + Clone,
Tf<T, B::Owned, A>: ResidueZ<Output = Rpk<T, R, P, RP, K>> + System<Set = T>,
Tf<T, Vec<T>, A>: Filter<TR, Vec<TR>, Output = Vec<T>> + System<Set = T>,
R: ComplexFloat<Real = TR>,
P: ComplexFloat<Real = TR>,
RP: MaybeList<(R, P)>,
K: MaybeList<T>,
impl<T, TR, B, A, R, P, RP, K> ResidueD for Tf<T, B, A>where
T: ComplexFloat<Real = TR> + ComplexOp<TR, Output = T>,
TR: Float + FloatConst + Into<T>,
B: MaybeList<T, Owned: MaybeOwnedList<T>>,
A: MaybeList<T> + for<'a> Conv<T, T, &'a [T], Output = Vec<T>, OutputT = T> + Clone,
Tf<T, B::Owned, A>: ResidueZ<Output = Rpk<T, R, P, RP, K>> + System<Set = T>,
Tf<T, Vec<T>, A>: Filter<TR, Vec<TR>, Output = Vec<T>> + System<Set = T>,
R: ComplexFloat<Real = TR>,
P: ComplexFloat<Real = TR>,
RP: MaybeList<(R, P)>,
K: MaybeList<T>,
source§impl<T, B, B2, A, A2, TR, R, P, RP, K> ResidueZ for Tf<T, B, A>where
T: ComplexFloat<Real = TR>,
B: MaybeList<T>,
A: MaybeList<T>,
B2: MaybeOwnedList<T>,
A2: MaybeOwnedList<T>,
TR: Float + FloatConst,
Self: Simplify<Output = Tf<T, B2, A2>> + System<Set = T>,
Tf<T, B2, A2>: Residue<Output = Rpk<T, R, P, RP, K>> + System<Set = T>,
RP: MaybeOwnedList<(R, P)>,
K: MaybeOwnedList<T>,
R: ComplexFloat<Real = TR> + Mul<P, Output = R>,
P: ComplexFloat<Real = TR>,
impl<T, B, B2, A, A2, TR, R, P, RP, K> ResidueZ for Tf<T, B, A>where
T: ComplexFloat<Real = TR>,
B: MaybeList<T>,
A: MaybeList<T>,
B2: MaybeOwnedList<T>,
A2: MaybeOwnedList<T>,
TR: Float + FloatConst,
Self: Simplify<Output = Tf<T, B2, A2>> + System<Set = T>,
Tf<T, B2, A2>: Residue<Output = Rpk<T, R, P, RP, K>> + System<Set = T>,
RP: MaybeOwnedList<(R, P)>,
K: MaybeOwnedList<T>,
R: ComplexFloat<Real = TR> + Mul<P, Output = R>,
P: ComplexFloat<Real = TR>,
source§impl<T, B, A> RtfOrSystem for Tf<T, B, A>
impl<T, B, A> RtfOrSystem for Tf<T, B, A>
source§impl<L, T, B, N, NN> SGolay<L, N> for Tf<T, B>where
T: ComplexFloat<Real: Lapack<Real = <T as ComplexFloat>::Real> + Into<T>> + Mul<<T as ComplexFloat>::Real, Output = T> + MulAssign,
Vec<T>: TryInto<B>,
Vec<Tf<T, B>>: TryInto<L>,
L: OwnedList<Tf<T, B>> + MaybeLenEq<B, true>,
B: OwnedList<T>,
<L::Length as StaticMaybe<usize>>::Opposite: MaybeAnd<usize, <B::Length as StaticMaybe<usize>>::Opposite, Output = NN>,
NN: MaybeAnd<usize, N, Output = N, Opposite: Sized>,
N: StaticMaybe<usize>,
[(); { _ }]:,
impl<L, T, B, N, NN> SGolay<L, N> for Tf<T, B>where
T: ComplexFloat<Real: Lapack<Real = <T as ComplexFloat>::Real> + Into<T>> + Mul<<T as ComplexFloat>::Real, Output = T> + MulAssign,
Vec<T>: TryInto<B>,
Vec<Tf<T, B>>: TryInto<L>,
L: OwnedList<Tf<T, B>> + MaybeLenEq<B, true>,
B: OwnedList<T>,
<L::Length as StaticMaybe<usize>>::Opposite: MaybeAnd<usize, <B::Length as StaticMaybe<usize>>::Opposite, Output = NN>,
NN: MaybeAnd<usize, N, Output = N, Opposite: Sized>,
N: StaticMaybe<usize>,
[(); { _ }]:,
source§impl<T, B, A, X, XX, Y, YY, YYY> SimS<X, XX> for Tf<T, B, A>where
T: ComplexFloat + ComplexOp<X, Output = Y>,
B: MaybeLists<T, RowsMapped<YY> = YYY>,
A: MaybeList<T>,
X: ComplexFloat<Real = T::Real> + Into<Y>,
XX: List<X, Transpose: MaybeLists<X, RowsMapped<Y> = YY>>,
YYY: Lists<Y> + OwnedListOrSingle<YY>,
Self: System<Set = T> + ToSs<T, Array2<T>, Array2<T>, Array2<T>, Array2<T>>,
Array2<T>: SsAMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsBMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsCMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsDMatrix<T, Array2<T>, Array2<T>, Array2<T>>,
Ss<T, Array2<T>, Array2<T>, Array2<T>, Array2<T>>: SimS<X, XX, Output = Vec<YY>> + System<Set = T>,
<<YYY as ListOrSingle<YY>>::Length as StaticMaybe<usize>>::Opposite: Sized,
impl<T, B, A, X, XX, Y, YY, YYY> SimS<X, XX> for Tf<T, B, A>where
T: ComplexFloat + ComplexOp<X, Output = Y>,
B: MaybeLists<T, RowsMapped<YY> = YYY>,
A: MaybeList<T>,
X: ComplexFloat<Real = T::Real> + Into<Y>,
XX: List<X, Transpose: MaybeLists<X, RowsMapped<Y> = YY>>,
YYY: Lists<Y> + OwnedListOrSingle<YY>,
Self: System<Set = T> + ToSs<T, Array2<T>, Array2<T>, Array2<T>, Array2<T>>,
Array2<T>: SsAMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsBMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsCMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsDMatrix<T, Array2<T>, Array2<T>, Array2<T>>,
Ss<T, Array2<T>, Array2<T>, Array2<T>, Array2<T>>: SimS<X, XX, Output = Vec<YY>> + System<Set = T>,
<<YYY as ListOrSingle<YY>>::Length as StaticMaybe<usize>>::Opposite: Sized,
type Output = YYY
fn sim_s<TT, W>( self, t: TT, x: XX, w: W, interpolate: bool ) -> (<XX::Transpose as MaybeLists<X>>::RowsMapped<T::Real>, Self::Output, <XX::Transpose as MaybeLists<X>>::RowsMapped<Vec<Y>>)
source§impl<T, B, A, X, XX, Y> SimZ<X, XX> for Tf<T, B, A>where
T: ComplexFloat + ComplexOp<X, Output = Y>,
B: MaybeLists<T>,
A: MaybeList<T>,
X: ComplexFloat<Real = T::Real> + Into<Y>,
XX: List<X, Transpose: MaybeLists<X>>,
Self: System<Set = T> + ToSs<T, Array2<T>, Array2<T>, Array2<T>, Array2<T>>,
Array2<T>: SsAMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsBMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsCMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsDMatrix<T, Array2<T>, Array2<T>, Array2<T>>,
Ss<T, Array2<T>, Array2<T>, Array2<T>, Array2<T>>: SimZ<X, XX, Output = Vec<Vec<Y>>> + System<Set = T>,
B::RowsMapped<Vec<Y>>: Lists<Y> + OwnedListOrSingle<Vec<Y>, Length: StaticMaybe<usize, Opposite: Sized>>,
impl<T, B, A, X, XX, Y> SimZ<X, XX> for Tf<T, B, A>where
T: ComplexFloat + ComplexOp<X, Output = Y>,
B: MaybeLists<T>,
A: MaybeList<T>,
X: ComplexFloat<Real = T::Real> + Into<Y>,
XX: List<X, Transpose: MaybeLists<X>>,
Self: System<Set = T> + ToSs<T, Array2<T>, Array2<T>, Array2<T>, Array2<T>>,
Array2<T>: SsAMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsBMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsCMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsDMatrix<T, Array2<T>, Array2<T>, Array2<T>>,
Ss<T, Array2<T>, Array2<T>, Array2<T>, Array2<T>>: SimZ<X, XX, Output = Vec<Vec<Y>>> + System<Set = T>,
B::RowsMapped<Vec<Y>>: Lists<Y> + OwnedListOrSingle<Vec<Y>, Length: StaticMaybe<usize, Opposite: Sized>>,
source§impl<T, B, A, B2, BB2, BB, AA> Simplify for Tf<T, B, A>where
Vec<T>: NotVoid,
T: ComplexFloat + AddAssign + MulAssign + DivAssign,
B: MaybeLists<T, RowsMapped<Vec<T>> = B2>,
B::MaybeSome: StaticMaybe<B::Some, Maybe<Vec<T>> = BB>,
A::MaybeSome: StaticMaybe<A::Some, Maybe<Vec<T>> = AA>,
A: MaybeList<T>,
B2: OwnedLists<T, RowOwned = Vec<T>, RowsMapped<Vec<T>> = B2> + Clone,
B2::MaybeSome: StaticMaybe<B2::Some, Maybe<B2>: MaybeOr<B2, B::RowsMapped<BB>, Output = BB2>>,
Polynomial<T, B>: Into<Polynomial<T, BB2>>,
Polynomial<T, A>: Into<Polynomial<T, AA>>,
Polynomial<T, Vec<T>>: Euclid,
BB: MaybeList<T> + Maybe<Vec<T>>,
AA: MaybeList<T> + Maybe<Vec<T>> + Clone,
B::RowsMapped<BB>: MaybeLists<T> + StaticMaybe<B2>,
BB2: MaybeLists<T> + Maybe<B2> + Clone,
Polynomial<T, AA>: Into<Polynomial<T, Vec<T>>>,
Polynomial<T, BB2::RowOwned>: Into<Polynomial<T, Vec<T>>>,
impl<T, B, A, B2, BB2, BB, AA> Simplify for Tf<T, B, A>where
Vec<T>: NotVoid,
T: ComplexFloat + AddAssign + MulAssign + DivAssign,
B: MaybeLists<T, RowsMapped<Vec<T>> = B2>,
B::MaybeSome: StaticMaybe<B::Some, Maybe<Vec<T>> = BB>,
A::MaybeSome: StaticMaybe<A::Some, Maybe<Vec<T>> = AA>,
A: MaybeList<T>,
B2: OwnedLists<T, RowOwned = Vec<T>, RowsMapped<Vec<T>> = B2> + Clone,
B2::MaybeSome: StaticMaybe<B2::Some, Maybe<B2>: MaybeOr<B2, B::RowsMapped<BB>, Output = BB2>>,
Polynomial<T, B>: Into<Polynomial<T, BB2>>,
Polynomial<T, A>: Into<Polynomial<T, AA>>,
Polynomial<T, Vec<T>>: Euclid,
BB: MaybeList<T> + Maybe<Vec<T>>,
AA: MaybeList<T> + Maybe<Vec<T>> + Clone,
B::RowsMapped<BB>: MaybeLists<T> + StaticMaybe<B2>,
BB2: MaybeLists<T> + Maybe<B2> + Clone,
Polynomial<T, AA>: Into<Polynomial<T, Vec<T>>>,
Polynomial<T, BB2::RowOwned>: Into<Polynomial<T, Vec<T>>>,
source§impl<T, B, A> SplitNumerDenom for Tf<T, B, A>
impl<T, B, A> SplitNumerDenom for Tf<T, B, A>
source§impl<T, B, A> Stabilize for Tf<T, B, A>where
T: ComplexFloat<Real: Into<T>> + Lapack<Complex = Complex<<T as ComplexFloat>::Real>> + 'static,
B: MaybeLists<T>,
A: MaybeList<T, Owned: MaybeOwnedList<T>>,
Complex<<T as ComplexFloat>::Real>: ComplexFloat<Real = <T as ComplexFloat>::Real> + AddAssign + SubAssign + MulAssign + DivAssign + DivAssign<<T as ComplexFloat>::Real> + From<T> + TruncateIm,
[(); { _ }]:,
impl<T, B, A> Stabilize for Tf<T, B, A>where
T: ComplexFloat<Real: Into<T>> + Lapack<Complex = Complex<<T as ComplexFloat>::Real>> + 'static,
B: MaybeLists<T>,
A: MaybeList<T, Owned: MaybeOwnedList<T>>,
Complex<<T as ComplexFloat>::Real>: ComplexFloat<Real = <T as ComplexFloat>::Real> + AddAssign + SubAssign + MulAssign + DivAssign + DivAssign<<T as ComplexFloat>::Real> + From<T> + TruncateIm,
[(); { _ }]:,
source§impl<T, B, A, L> StepS<L> for Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
L: List<T::Real>,
<L::Length as StaticMaybe<usize>>::Opposite: Sized,
B::RowsMapped<L::Mapped<T>>: Lists<T> + OwnedListOrSingle<L::Mapped<T>, Length: StaticMaybe<usize, Opposite: Sized>>,
Self: System<Set = T> + ToSs<T, Array2<T>, Array2<T>, Array2<T>, Array2<T>>,
Array2<T>: SsAMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsBMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsCMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsDMatrix<T, Array2<T>, Array2<T>, Array2<T>>,
Ss<T, Array2<T>, Array2<T>, Array2<T>, Array2<T>>: StepS<L, Output = Array2<L::Mapped<T>>> + System<Set = T>,
impl<T, B, A, L> StepS<L> for Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
L: List<T::Real>,
<L::Length as StaticMaybe<usize>>::Opposite: Sized,
B::RowsMapped<L::Mapped<T>>: Lists<T> + OwnedListOrSingle<L::Mapped<T>, Length: StaticMaybe<usize, Opposite: Sized>>,
Self: System<Set = T> + ToSs<T, Array2<T>, Array2<T>, Array2<T>, Array2<T>>,
Array2<T>: SsAMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsBMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsCMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsDMatrix<T, Array2<T>, Array2<T>, Array2<T>>,
Ss<T, Array2<T>, Array2<T>, Array2<T>, Array2<T>>: StepS<L, Output = Array2<L::Mapped<T>>> + System<Set = T>,
type OutputI = <B as MaybeLists<T>>::RowsMapped<<L as ContainerOrSingle<<T as ComplexFloat>::Real>>::Mapped<T>>
type Output = <B as MaybeLists<T>>::RowsMapped<<L as ContainerOrSingle<<T as ComplexFloat>::Real>>::Mapped<T>>
fn step_s<TT, W>( self, t: TT, numtaps: <L::Length as StaticMaybe<usize>>::Opposite, w: W ) -> (L, Self::Output)
source§impl<T, B, A> StepZ for Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
Self: System<Set = T> + ToSs<T, Array2<T>, Array2<T>, Array2<T>, Array2<T>>,
Array2<T>: SsAMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsBMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsCMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsDMatrix<T, Array2<T>, Array2<T>, Array2<T>>,
Ss<T, Array2<T>, Array2<T>, Array2<T>, Array2<T>>: StepZ<Output = Array2<Vec<T>>> + System<Set = T>,
B::RowsMapped<Vec<T>>: Lists<T> + OwnedListOrSingle<Vec<T>, Length: StaticMaybe<usize, Opposite: Sized>>,
impl<T, B, A> StepZ for Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
Self: System<Set = T> + ToSs<T, Array2<T>, Array2<T>, Array2<T>, Array2<T>>,
Array2<T>: SsAMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsBMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsCMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsDMatrix<T, Array2<T>, Array2<T>, Array2<T>>,
Ss<T, Array2<T>, Array2<T>, Array2<T>, Array2<T>>: StepZ<Output = Array2<Vec<T>>> + System<Set = T>,
B::RowsMapped<Vec<T>>: Lists<T> + OwnedListOrSingle<Vec<T>, Length: StaticMaybe<usize, Opposite: Sized>>,
source§impl<'a, 'b, T, B, A, O> Sub<&'b T> for &'a Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
Self: Sub<Tf<T, &'b [T; 1], ()>, Output = O>,
impl<'a, 'b, T, B, A, O> Sub<&'b T> for &'a Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
Self: Sub<Tf<T, &'b [T; 1], ()>, Output = O>,
source§impl<'b, T, B, A, O> Sub<&'b T> for Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
Self: Sub<Tf<T, &'b [T; 1], ()>, Output = O>,
impl<'b, T, B, A, O> Sub<&'b T> for Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
Self: Sub<Tf<T, &'b [T; 1], ()>, Output = O>,
source§impl<'a, 'b, T1, B1, A1, T2, B2, A2, O> Sub<&'b Tf<T2, B2, A2>> for &'a Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
B1::View<'a>: MaybeLists<T1>,
A1::View<'a>: MaybeList<T1>,
B2::View<'b>: MaybeLists<T2>,
A2::View<'b>: MaybeList<T2>,
Tf<T1, B1::View<'a>, A1::View<'a>>: Sub<Tf<T2, B2::View<'b>, A2::View<'b>>, Output = O>,
impl<'a, 'b, T1, B1, A1, T2, B2, A2, O> Sub<&'b Tf<T2, B2, A2>> for &'a Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
B1::View<'a>: MaybeLists<T1>,
A1::View<'a>: MaybeList<T1>,
B2::View<'b>: MaybeLists<T2>,
A2::View<'b>: MaybeList<T2>,
Tf<T1, B1::View<'a>, A1::View<'a>>: Sub<Tf<T2, B2::View<'b>, A2::View<'b>>, Output = O>,
source§impl<'b, T1, B1, A1, T2, B2, A2, O> Sub<&'b Tf<T2, B2, A2>> for Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
B2::View<'b>: MaybeLists<T2>,
A2::View<'b>: MaybeList<T2>,
Tf<T1, B1, A1>: Sub<Tf<T2, B2::View<'b>, A2::View<'b>>, Output = O>,
impl<'b, T1, B1, A1, T2, B2, A2, O> Sub<&'b Tf<T2, B2, A2>> for Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
B2::View<'b>: MaybeLists<T2>,
A2::View<'b>: MaybeList<T2>,
Tf<T1, B1, A1>: Sub<Tf<T2, B2::View<'b>, A2::View<'b>>, Output = O>,
source§impl<'a, T1, B1, A1, T2, B2, A2, O> Sub<Tf<T2, B2, A2>> for &'a Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
B1::View<'a>: MaybeLists<T1>,
A1::View<'a>: MaybeList<T1>,
Tf<T1, B1::View<'a>, A1::View<'a>>: Sub<Tf<T2, B2, A2>, Output = O>,
impl<'a, T1, B1, A1, T2, B2, A2, O> Sub<Tf<T2, B2, A2>> for &'a Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
B1::View<'a>: MaybeLists<T1>,
A1::View<'a>: MaybeList<T1>,
Tf<T1, B1::View<'a>, A1::View<'a>>: Sub<Tf<T2, B2, A2>, Output = O>,
source§impl<T1, B1, A1, T2, B2, A2, T3, B3, A3> Sub<Tf<T2, B2, A2>> for Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
T3: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1> + Clone,
B2: MaybeLists<T2>,
A2: MaybeList<T2> + Clone,
B3: MaybeLists<T3>,
A3: MaybeList<T3>,
Polynomial<T1, A1>: Mul<Polynomial<T2, A2>, Output = Polynomial<T3, A3>>,
Polynomial<T1, B1>: Mul<Polynomial<T2, A2>, Output: Sub<<Polynomial<T2, B2> as Mul<Polynomial<T1, A1>>>::Output, Output = Polynomial<T3, B3>>>,
Polynomial<T2, B2>: Mul<Polynomial<T1, A1>>,
Tf<T3, B3, A3>: Simplify,
impl<T1, B1, A1, T2, B2, A2, T3, B3, A3> Sub<Tf<T2, B2, A2>> for Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
T3: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1> + Clone,
B2: MaybeLists<T2>,
A2: MaybeList<T2> + Clone,
B3: MaybeLists<T3>,
A3: MaybeList<T3>,
Polynomial<T1, A1>: Mul<Polynomial<T2, A2>, Output = Polynomial<T3, A3>>,
Polynomial<T1, B1>: Mul<Polynomial<T2, A2>, Output: Sub<<Polynomial<T2, B2> as Mul<Polynomial<T1, A1>>>::Output, Output = Polynomial<T3, B3>>>,
Polynomial<T2, B2>: Mul<Polynomial<T1, A1>>,
Tf<T3, B3, A3>: Simplify,
source§impl<T1, B1, A1, T2, B2, A2> Sum<Tf<T1, B1, A1>> for Tf<T2, B2, A2>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
Tf<T1, B1, A1>: Into<Tf<T2, B2, A2>>,
Tf<T2, B2, A2>: Mul<Output = Tf<T2, B2, A2>> + Zero,
impl<T1, B1, A1, T2, B2, A2> Sum<Tf<T1, B1, A1>> for Tf<T2, B2, A2>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
Tf<T1, B1, A1>: Into<Tf<T2, B2, A2>>,
Tf<T2, B2, A2>: Mul<Output = Tf<T2, B2, A2>> + Zero,
source§impl<T1, T2, B1, B2, A1, A2, Z, P, O> ToSos<T2, B2, A2, Vec<Tf<T2, B2, A2>>, (), O> for Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1, Some: NotVoid, MaybeSome: StaticMaybe<B1::Some, Maybe<[T2; 3]>: MaybeOr<[T2; 3], B2, Output = B2>> + StaticMaybe<B1::Some, Maybe<Vec<Complex<T1::Real>>> = Z>>,
A1: MaybeList<T1, Some: NotVoid, MaybeSome: StaticMaybe<B1::Some, Maybe<[T2; 3]>: MaybeOr<[T2; 3], A2, Output = A2>> + StaticMaybe<A1::Some, Maybe<Vec<Complex<T1::Real>>> = P>>,
B2: StaticMaybe<[T2; 3]> + MaybeOwnedList<T2>,
A2: StaticMaybe<[T2; 3]> + MaybeOwnedList<T2>,
O: Maybe<usize>,
Z: MaybeList<Complex<T1::Real>>,
P: MaybeList<Complex<T1::Real>>,
Self: ToZpk<Complex<T1::Real>, Z, P, T1, (), O>,
Zpk<Complex<T1::Real>, Z, P, T1>: ToSos<T2, B2, A2, Vec<Tf<T2, B2, A2>>, (), ()>,
impl<T1, T2, B1, B2, A1, A2, Z, P, O> ToSos<T2, B2, A2, Vec<Tf<T2, B2, A2>>, (), O> for Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1, Some: NotVoid, MaybeSome: StaticMaybe<B1::Some, Maybe<[T2; 3]>: MaybeOr<[T2; 3], B2, Output = B2>> + StaticMaybe<B1::Some, Maybe<Vec<Complex<T1::Real>>> = Z>>,
A1: MaybeList<T1, Some: NotVoid, MaybeSome: StaticMaybe<B1::Some, Maybe<[T2; 3]>: MaybeOr<[T2; 3], A2, Output = A2>> + StaticMaybe<A1::Some, Maybe<Vec<Complex<T1::Real>>> = P>>,
B2: StaticMaybe<[T2; 3]> + MaybeOwnedList<T2>,
A2: StaticMaybe<[T2; 3]> + MaybeOwnedList<T2>,
O: Maybe<usize>,
Z: MaybeList<Complex<T1::Real>>,
P: MaybeList<Complex<T1::Real>>,
Self: ToZpk<Complex<T1::Real>, Z, P, T1, (), O>,
Zpk<Complex<T1::Real>, Z, P, T1>: ToSos<T2, B2, A2, Vec<Tf<T2, B2, A2>>, (), ()>,
source§impl<T1, T2, B, A> ToSs<T2, ArrayBase<OwnedRepr<T2>, Dim<[usize; 2]>>, ArrayBase<OwnedRepr<T2>, Dim<[usize; 2]>>, ArrayBase<OwnedRepr<T2>, Dim<[usize; 2]>>, ArrayBase<OwnedRepr<T2>, Dim<[usize; 2]>>> for Tf<T1, B, A>where
T1: ComplexFloat,
T2: ComplexFloat + Default,
B: MaybeLists<T1>,
A: MaybeList<T1>,
Self: ToTf<T2, Vec<Vec<T2>>, Vec<T2>, (), ()>,
Tf<T2, Vec<Vec<T2>>, Vec<T2>>: Simplify<Output = Tf<T2, Vec<Vec<T2>>, Vec<T2>>>,
Array2<T2>: SsAMatrix<T2, Array2<T2>, Array2<T2>, Array2<T2>> + SsBMatrix<T2, Array2<T2>, Array2<T2>, Array2<T2>> + SsCMatrix<T2, Array2<T2>, Array2<T2>, Array2<T2>> + SsDMatrix<T2, Array2<T2>, Array2<T2>, Array2<T2>>,
impl<T1, T2, B, A> ToSs<T2, ArrayBase<OwnedRepr<T2>, Dim<[usize; 2]>>, ArrayBase<OwnedRepr<T2>, Dim<[usize; 2]>>, ArrayBase<OwnedRepr<T2>, Dim<[usize; 2]>>, ArrayBase<OwnedRepr<T2>, Dim<[usize; 2]>>> for Tf<T1, B, A>where
T1: ComplexFloat,
T2: ComplexFloat + Default,
B: MaybeLists<T1>,
A: MaybeList<T1>,
Self: ToTf<T2, Vec<Vec<T2>>, Vec<T2>, (), ()>,
Tf<T2, Vec<Vec<T2>>, Vec<T2>>: Simplify<Output = Tf<T2, Vec<Vec<T2>>, Vec<T2>>>,
Array2<T2>: SsAMatrix<T2, Array2<T2>, Array2<T2>, Array2<T2>> + SsBMatrix<T2, Array2<T2>, Array2<T2>, Array2<T2>> + SsCMatrix<T2, Array2<T2>, Array2<T2>, Array2<T2>> + SsDMatrix<T2, Array2<T2>, Array2<T2>, Array2<T2>>,
source§impl<'a, T1, B1, A1, T2, B2, A2> ToTf<T2, B2, A2, (), ()> for Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
Polynomial<T1, B1>: Into<Polynomial<T2, B2>>,
Polynomial<T1, A1>: Into<Polynomial<T2, A2>>,
impl<'a, T1, B1, A1, T2, B2, A2> ToTf<T2, B2, A2, (), ()> for Tf<T1, B1, A1>where
T1: ComplexFloat,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
Polynomial<T1, B1>: Into<Polynomial<T2, B2>>,
Polynomial<T1, A1>: Into<Polynomial<T2, A2>>,
source§impl<T1, B1, A1, T2, B2, A2> ToTf<T2, B2, A2, (), usize> for Tf<T1, B1, A1>where
T1: ComplexFloat + 'static,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
for<'a> Polynomial<T1, B1::RowView<'a>>: Into<Polynomial<T2, B2>>,
Polynomial<T1, A1>: Into<Polynomial<T2, A2>>,
impl<T1, B1, A1, T2, B2, A2> ToTf<T2, B2, A2, (), usize> for Tf<T1, B1, A1>where
T1: ComplexFloat + 'static,
T2: ComplexFloat,
B1: MaybeLists<T1>,
A1: MaybeList<T1>,
B2: MaybeLists<T2>,
A2: MaybeList<T2>,
for<'a> Polynomial<T1, B1::RowView<'a>>: Into<Polynomial<T2, B2>>,
Polynomial<T1, A1>: Into<Polynomial<T2, A2>>,
source§impl<T, K, B, B2, A, A2, Z, P, O> ToZpk<Complex<<K as ComplexFloat>::Real>, Z, P, K, (), O> for Tf<T, B, A>where
O: Maybe<usize>,
T: ComplexFloat,
K: ComplexFloat + DivAssign + Lapack<Complex = Complex<<K as ComplexFloat>::Real>>,
B: MaybeLists<T, MaybeSome: StaticMaybe<B::Some, Maybe<Vec<Complex<<K as ComplexFloat>::Real>>>: MaybeOr<Vec<Complex<<K as ComplexFloat>::Real>>, Z, Output = Z>>>,
A: MaybeList<T, MaybeSome: StaticMaybe<A::Some, Maybe<Vec<Complex<<K as ComplexFloat>::Real>>>: MaybeOr<Vec<Complex<<K as ComplexFloat>::Real>>, P, Output = P>>>,
Z: MaybeList<Complex<<K as ComplexFloat>::Real>> + StaticMaybe<Vec<Complex<<K as ComplexFloat>::Real>>, Maybe<Vec<K>> = B2>,
P: MaybeList<Complex<<K as ComplexFloat>::Real>> + StaticMaybe<Vec<Complex<<K as ComplexFloat>::Real>>, Maybe<Vec<K>> = A2>,
Self: Simplify<Output: ToTf<K, B2, A2, (), O>>,
B2: MaybeList<K> + Maybe<Vec<K>>,
A2: MaybeList<K> + Maybe<Vec<K>>,
Complex<<K as ComplexFloat>::Real>: From<K> + AddAssign + SubAssign + MulAssign + DivAssign + DivAssign<<K as ComplexFloat>::Real>,
impl<T, K, B, B2, A, A2, Z, P, O> ToZpk<Complex<<K as ComplexFloat>::Real>, Z, P, K, (), O> for Tf<T, B, A>where
O: Maybe<usize>,
T: ComplexFloat,
K: ComplexFloat + DivAssign + Lapack<Complex = Complex<<K as ComplexFloat>::Real>>,
B: MaybeLists<T, MaybeSome: StaticMaybe<B::Some, Maybe<Vec<Complex<<K as ComplexFloat>::Real>>>: MaybeOr<Vec<Complex<<K as ComplexFloat>::Real>>, Z, Output = Z>>>,
A: MaybeList<T, MaybeSome: StaticMaybe<A::Some, Maybe<Vec<Complex<<K as ComplexFloat>::Real>>>: MaybeOr<Vec<Complex<<K as ComplexFloat>::Real>>, P, Output = P>>>,
Z: MaybeList<Complex<<K as ComplexFloat>::Real>> + StaticMaybe<Vec<Complex<<K as ComplexFloat>::Real>>, Maybe<Vec<K>> = B2>,
P: MaybeList<Complex<<K as ComplexFloat>::Real>> + StaticMaybe<Vec<Complex<<K as ComplexFloat>::Real>>, Maybe<Vec<K>> = A2>,
Self: Simplify<Output: ToTf<K, B2, A2, (), O>>,
B2: MaybeList<K> + Maybe<Vec<K>>,
A2: MaybeList<K> + Maybe<Vec<K>>,
Complex<<K as ComplexFloat>::Real>: From<K> + AddAssign + SubAssign + MulAssign + DivAssign + DivAssign<<K as ComplexFloat>::Real>,
source§impl<T, B, A, W, WW, Y, A2> Window<W, WW, Tf<Y, <B as MaybeLists<T>>::RowsMapped<<WW as ContainerOrSingle<W>>::Mapped<Y>>, A2>> for Tf<T, B, A>where
T: ComplexOp<W, Output = Y>,
B: MaybeLists<T>,
A: MaybeList<T>,
W: ComplexFloat + Into<Y>,
Y: ComplexFloat,
WW: List<W>,
A2: MaybeList<Y>,
B::RowsMapped<Vec<T>>: Lists<T, RowsMapped<WW::Mapped<Y>> = B::RowsMapped<WW::Mapped<Y>>>,
B::RowsMapped<WW::Mapped<Y>>: Lists<Y>,
Polynomial<Y, ()>: Into<Polynomial<Y, A2>>,
Self: for<'a> ImpZ<'a, B::RowsMapped<Vec<T>>, Vec<T::Real>, usize> + System<Set = T>,
impl<T, B, A, W, WW, Y, A2> Window<W, WW, Tf<Y, <B as MaybeLists<T>>::RowsMapped<<WW as ContainerOrSingle<W>>::Mapped<Y>>, A2>> for Tf<T, B, A>where
T: ComplexOp<W, Output = Y>,
B: MaybeLists<T>,
A: MaybeList<T>,
W: ComplexFloat + Into<Y>,
Y: ComplexFloat,
WW: List<W>,
A2: MaybeList<Y>,
B::RowsMapped<Vec<T>>: Lists<T, RowsMapped<WW::Mapped<Y>> = B::RowsMapped<WW::Mapped<Y>>>,
B::RowsMapped<WW::Mapped<Y>>: Lists<Y>,
Polynomial<Y, ()>: Into<Polynomial<Y, A2>>,
Self: for<'a> ImpZ<'a, B::RowsMapped<Vec<T>>, Vec<T::Real>, usize> + System<Set = T>,
source§impl<T, B, A> Zero for Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
Polynomial<T, [T; 0]>: Into<Polynomial<T, B>>,
Polynomial<T, ()>: Into<Polynomial<T, A>>,
Self: Add<Output = Self>,
impl<T, B, A> Zero for Tf<T, B, A>where
T: ComplexFloat,
B: MaybeLists<T>,
A: MaybeList<T>,
Polynomial<T, [T; 0]>: Into<Polynomial<T, B>>,
Polynomial<T, ()>: Into<Polynomial<T, A>>,
Self: Add<Output = Self>,
source§impl<T, B, A, const W: usize> ZfTrans<W> for Tf<T, B, A>where
T: ComplexFloat + Mul<T::Real, Output = T> + Div<T::Real, Output = T> + AddAssign + DivAssign,
B: MaybeLists<T>,
A: MaybeList<T>,
B::RowsMapped<Vec<T>>: MaybeLists<T, RowsMapped<Tf<T, Vec<T>, Vec<T>>> = B::RowsMapped<Tf<T, Vec<T>, Vec<T>>>, RowOwned = Vec<T>>,
Self: ToTf<T, B::RowsMapped<Vec<T>>, Vec<T>, (), ()> + System<Set = T>,
[(); { _ }]:,
impl<T, B, A, const W: usize> ZfTrans<W> for Tf<T, B, A>where
T: ComplexFloat + Mul<T::Real, Output = T> + Div<T::Real, Output = T> + AddAssign + DivAssign,
B: MaybeLists<T>,
A: MaybeList<T>,
B::RowsMapped<Vec<T>>: MaybeLists<T, RowsMapped<Tf<T, Vec<T>, Vec<T>>> = B::RowsMapped<Tf<T, Vec<T>, Vec<T>>>, RowOwned = Vec<T>>,
Self: ToTf<T, B::RowsMapped<Vec<T>>, Vec<T>, (), ()> + System<Set = T>,
[(); { _ }]:,
impl<T: Copy + ComplexFloat, B: Copy + MaybeLists<T>, A: Copy + MaybeList<T>> Copy for Tf<T, B, A>
impl<T, B, A> MaybeRtfOrSystem<T> for Tf<T, B, A>
impl<T, B, A> MaybeSystem<T> for Tf<T, B, A>
impl<T, B, A> System for Tf<T, B, A>
Auto Trait Implementations§
impl<T, B, A> Freeze for Tf<T, B, A>
impl<T, B = (), A = ()> !NotPolynomial for Tf<T, B, A>
impl<T, B, A> NotRange for Tf<T, B, A>
impl<T, B, A> NotVoid for Tf<T, B, A>
impl<T, B, A> RefUnwindSafe for Tf<T, B, A>
impl<T, B, A> Send for Tf<T, B, A>
impl<T, B, A> Sync for Tf<T, B, A>
impl<T, B, A> Unpin for Tf<T, B, A>
impl<T, B, A> UnwindSafe for Tf<T, B, A>
Blanket Implementations§
source§impl<T, X, XX, N> BSplineEval<T, X, N> for XX
impl<T, X, XX, N> BSplineEval<T, X, N> for XX
fn bspline_eval<TT, C, CC>(
self,
numtaps: N,
knots: TT,
control_points: CC,
degree: usize
) -> (<X as ContainerOrSingle<T>>::Mapped<<C as ContainerOrSingle<T>>::Mapped<T>>, X)where
TT: List<T>,
C: ListOrSingle<T> + Clone,
<C as ContainerOrSingle<T>>::Mapped<T>: OwnedListOrSingle<T, Length = usize>,
CC: List<C>,
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T, C, X, XX, N> CSpline1dEval<T, X, N, C> for XXwhere
T: Float + AddAssign,
XX: IntoList<T, X, N>,
X: ListOrSingle<T>,
<X as ContainerOrSingle<T>>::Mapped<T>: OwnedListOrSingle<T>,
N: Maybe<usize>,
C: List<T>,
impl<T, C, X, XX, N> CSpline1dEval<T, X, N, C> for XXwhere
T: Float + AddAssign,
XX: IntoList<T, X, N>,
X: ListOrSingle<T>,
<X as ContainerOrSingle<T>>::Mapped<T>: OwnedListOrSingle<T>,
N: Maybe<usize>,
C: List<T>,
fn cspline_1d_eval( self, numtaps: N, c: C ) -> (<X as ContainerOrSingle<T>>::Mapped<T>, X)
source§impl<T, L, R, N> Chirp<T, L, N> for R
impl<T, L, R, N> Chirp<T, L, N> for R
fn chirp( self, n: N, frequencies: Range<T>, times: Range<T>, curve: ChirpCurve, phase: T ) -> (<L as ContainerOrSingle<T>>::Mapped<T>, L)
source§impl<T> ContainerOrSingle<T> for T
impl<T> ContainerOrSingle<T> for T
type Index = ()
type Mapped<M> = M
fn map_to_owned<'a, F>( &'a self, map: F ) -> <T as ContainerOrSingle<T>>::Mapped<<F as FnOnce(&'a T)>::Output>
fn map_into_owned<F>( self, map: F ) -> <T as ContainerOrSingle<T>>::Mapped<<F as FnOnce(T)>::Output>
fn try_map_to_owned<'a, F, O, E>( &'a self, map: F ) -> Result<<T as ContainerOrSingle<T>>::Mapped<O>, E>
fn try_map_into_owned<F, O, E>( self, map: F ) -> Result<<T as ContainerOrSingle<T>>::Mapped<O>, E>
fn index_get(&self, _: <T as ContainerOrSingle<T>>::Index) -> Option<&T>
source§impl<W, S, X, XX, O> Filter<X, XX> for Swhere
<S as RtfOrSystem>::Set: ComplexOp<X, Output = W>,
X: Into<W> + ComplexFloat<Real = <W as ComplexFloat>::Real>,
XX: Lists<X>,
W: ComplexOp<X, Output = W, Real = <<S as RtfOrSystem>::Set as ComplexFloat>::Real> + ComplexFloat,
Rtf<W, S>: FilterMut<X, XX, Output = O, Set = W> + RtfOrSystem,
S: System,
O: Lists<W>,
impl<W, S, X, XX, O> Filter<X, XX> for Swhere
<S as RtfOrSystem>::Set: ComplexOp<X, Output = W>,
X: Into<W> + ComplexFloat<Real = <W as ComplexFloat>::Real>,
XX: Lists<X>,
W: ComplexOp<X, Output = W, Real = <<S as RtfOrSystem>::Set as ComplexFloat>::Real> + ComplexFloat,
Rtf<W, S>: FilterMut<X, XX, Output = O, Set = W> + RtfOrSystem,
S: System,
O: Lists<W>,
source§impl<T, L, R, N> GMonoPuls<T, L, N> for R
impl<T, L, R, N> GMonoPuls<T, L, N> for R
fn gmonopuls(self, n: N, fc: T) -> (<L as ContainerOrSingle<T>>::Mapped<T>, L)
source§impl<T, L, R, N> GausPuls<T, L, N> for R
impl<T, L, R, N> GausPuls<T, L, N> for R
fn gauspuls( self, n: N, fc: T, bw: T ) -> (<L as ContainerOrSingle<T>>::Mapped<T>, <L as ContainerOrSingle<T>>::Mapped<T>, <L as ContainerOrSingle<T>>::Mapped<T>, L)
source§impl<T, L, R, N> GaussSpline<T, L, N> for R
impl<T, L, R, N> GaussSpline<T, L, N> for R
fn gauss_spline( self, n: N, order: usize ) -> (<L as ContainerOrSingle<T>>::Mapped<T>, L)
source§impl<T, L, R, N> HaarWavF<T, L, N> for R
impl<T, L, R, N> HaarWavF<T, L, N> for R
fn haarwavf(self, n: N) -> (<L as ContainerOrSingle<T>>::Mapped<T>, L)
source§impl<S, T> IirDesign for S
impl<S, T> IirDesign for S
fn iir_design<const F: usize>( passband_frequencies: [<T as ComplexFloat>::Real; F], stopband_frequencies: [<T as ComplexFloat>::Real; F], passband_ripple: <T as ComplexFloat>::Real, stopband_attenuation: <T as ComplexFloat>::Real, plane: FilterGenPlane<<T as ComplexFloat>::Real>, filter_type: IirFilterType ) -> Result<S, FilterBandError>
source§impl<T> ListOrSingle<T> for T
impl<T> ListOrSingle<T> for T
source§impl<T> ListsOrSingle<T> for T
impl<T> ListsOrSingle<T> for T
source§impl<T> MatrixOrSingle<T> for T
impl<T> MatrixOrSingle<T> for T
source§impl<T, L, R, N> Mexihat<T, L, N> for R
impl<T, L, R, N> Mexihat<T, L, N> for R
fn mexihat(self, n: N) -> (<L as ContainerOrSingle<T>>::Mapped<T>, L)
source§impl<T, L, R, N> Meyeraux<T, L, N> for R
impl<T, L, R, N> Meyeraux<T, L, N> for R
fn meyeraux(self, n: N) -> (<L as ContainerOrSingle<T>>::Mapped<T>, L)
source§impl<T, L, R, N> Morlet<T, L, N> for R
impl<T, L, R, N> Morlet<T, L, N> for R
fn morlet(self, n: N) -> (<L as ContainerOrSingle<T>>::Mapped<T>, L)
source§impl<T> OwnedListOrSingle<T> for T
impl<T> OwnedListOrSingle<T> for T
fn from_len_fn<F>( _: <<T as ListOrSingle<T>>::Length as StaticMaybe<usize>>::Opposite, f: F ) -> T
fn as_mut_slice(&mut self) -> &mut [T]
source§impl<'a, S, T, H, W, N> PhaseZ<'a, H, W, N> for Swhere
T: ComplexFloat,
<T as ComplexFloat>::Real: Sum + AddAssign + SubAssign,
S: FreqZ<'a, <H as ContainerOrSingle<<T as ComplexFloat>::Real>>::Mapped<Complex<<T as ComplexFloat>::Real>>, W, N, Set = T> + System,
H: Lists<<T as ComplexFloat>::Real>,
<H as ContainerOrSingle<<T as ComplexFloat>::Real>>::Mapped<Complex<<T as ComplexFloat>::Real>>: Lists<Complex<<T as ComplexFloat>::Real>>,
<<H as ContainerOrSingle<<T as ComplexFloat>::Real>>::Mapped<Complex<<T as ComplexFloat>::Real>> as MaybeLists<Complex<<T as ComplexFloat>::Real>>>::RowOwned: OwnedList<Complex<<T as ComplexFloat>::Real>>,
<<<H as ContainerOrSingle<<T as ComplexFloat>::Real>>::Mapped<Complex<<T as ComplexFloat>::Real>> as MaybeLists<Complex<<T as ComplexFloat>::Real>>>::RowOwned as ContainerOrSingle<Complex<<T as ComplexFloat>::Real>>>::Mapped<<T as ComplexFloat>::Real>: OwnedList<<T as ComplexFloat>::Real>,
<<H as ContainerOrSingle<<T as ComplexFloat>::Real>>::Mapped<Complex<<T as ComplexFloat>::Real>> as MaybeLists<Complex<<T as ComplexFloat>::Real>>>::RowsMapped<<<<H as ContainerOrSingle<<T as ComplexFloat>::Real>>::Mapped<Complex<<T as ComplexFloat>::Real>> as MaybeLists<Complex<<T as ComplexFloat>::Real>>>::RowOwned as ContainerOrSingle<Complex<<T as ComplexFloat>::Real>>>::Mapped<<T as ComplexFloat>::Real>>: Into<H>,
W: List<<T as ComplexFloat>::Real>,
N: Maybe<usize>,
impl<'a, S, T, H, W, N> PhaseZ<'a, H, W, N> for Swhere
T: ComplexFloat,
<T as ComplexFloat>::Real: Sum + AddAssign + SubAssign,
S: FreqZ<'a, <H as ContainerOrSingle<<T as ComplexFloat>::Real>>::Mapped<Complex<<T as ComplexFloat>::Real>>, W, N, Set = T> + System,
H: Lists<<T as ComplexFloat>::Real>,
<H as ContainerOrSingle<<T as ComplexFloat>::Real>>::Mapped<Complex<<T as ComplexFloat>::Real>>: Lists<Complex<<T as ComplexFloat>::Real>>,
<<H as ContainerOrSingle<<T as ComplexFloat>::Real>>::Mapped<Complex<<T as ComplexFloat>::Real>> as MaybeLists<Complex<<T as ComplexFloat>::Real>>>::RowOwned: OwnedList<Complex<<T as ComplexFloat>::Real>>,
<<<H as ContainerOrSingle<<T as ComplexFloat>::Real>>::Mapped<Complex<<T as ComplexFloat>::Real>> as MaybeLists<Complex<<T as ComplexFloat>::Real>>>::RowOwned as ContainerOrSingle<Complex<<T as ComplexFloat>::Real>>>::Mapped<<T as ComplexFloat>::Real>: OwnedList<<T as ComplexFloat>::Real>,
<<H as ContainerOrSingle<<T as ComplexFloat>::Real>>::Mapped<Complex<<T as ComplexFloat>::Real>> as MaybeLists<Complex<<T as ComplexFloat>::Real>>>::RowsMapped<<<<H as ContainerOrSingle<<T as ComplexFloat>::Real>>::Mapped<Complex<<T as ComplexFloat>::Real>> as MaybeLists<Complex<<T as ComplexFloat>::Real>>>::RowOwned as ContainerOrSingle<Complex<<T as ComplexFloat>::Real>>>::Mapped<<T as ComplexFloat>::Real>>: Into<H>,
W: List<<T as ComplexFloat>::Real>,
N: Maybe<usize>,
source§impl<T, L, RR, N> PulseTrain<T, L, N> for RR
impl<T, L, RR, N> PulseTrain<T, L, N> for RR
fn pulse_train<D, G, GG, P, R, O>(
self,
n: N,
train: D,
pulse: P,
fold: R
) -> (<D as ContainerOrSingle<(T, GG)>>::Mapped<<L as ContainerOrSingle<T>>::Mapped<O>>, <L as ContainerOrSingle<T>>::Mapped<O>, L)where
D: ListOrSingle<(T, GG)>,
GG: StaticMaybe<G, MaybeOr<G, T> = G> + Clone,
G: Clone,
<D as ContainerOrSingle<(T, GG)>>::Mapped<<L as ContainerOrSingle<T>>::Mapped<O>>: ListOrSingle<<L as ContainerOrSingle<T>>::Mapped<O>>,
<L as ContainerOrSingle<T>>::Mapped<O>: ListOrSingle<O>,
P: FnMut(T),
R: Fn(O, O) -> O,
O: Zero + Clone,
<P as FnOnce(T)>::Output: Clone + Mul<G, Output = O>,
source§impl<T, C, X, XX, N> QSpline1dEval<T, X, N, C> for XXwhere
T: Float + AddAssign,
XX: IntoList<T, X, N>,
X: ListOrSingle<T>,
<X as ContainerOrSingle<T>>::Mapped<T>: OwnedListOrSingle<T>,
N: Maybe<usize>,
C: List<T>,
impl<T, C, X, XX, N> QSpline1dEval<T, X, N, C> for XXwhere
T: Float + AddAssign,
XX: IntoList<T, X, N>,
X: ListOrSingle<T>,
<X as ContainerOrSingle<T>>::Mapped<T>: OwnedListOrSingle<T>,
N: Maybe<usize>,
C: List<T>,
fn qspline_1d_eval( self, numtaps: N, c: C ) -> (<X as ContainerOrSingle<T>>::Mapped<T>, X)
source§impl<T, L, R, N> RectPuls<T, L, N> for R
impl<T, L, R, N> RectPuls<T, L, N> for R
fn rectpuls( self, n: N, bandwidth: T ) -> (<L as ContainerOrSingle<T>>::Mapped<T>, L)
source§impl<T, E> ResultOrOk<T, E> for T
impl<T, E> ResultOrOk<T, E> for T
source§impl<T, L, R, N> SigmoidTrain<T, L, N> for Rwhere
T: Float + FloatConst,
L: ListOrSingle<T>,
R: IntoList<T, L, N>,
N: Maybe<usize>,
<L as ContainerOrSingle<T>>::Mapped<T>: ListOrSingle<T>,
impl<T, L, R, N> SigmoidTrain<T, L, N> for Rwhere
T: Float + FloatConst,
L: ListOrSingle<T>,
R: IntoList<T, L, N>,
N: Maybe<usize>,
<L as ContainerOrSingle<T>>::Mapped<T>: ListOrSingle<T>,
fn sigmoid_train<TR>(
self,
n: N,
train: TR
) -> (<TR as ContainerOrSingle<(Range<T>, T, T)>>::Mapped<<L as ContainerOrSingle<T>>::Mapped<T>>, <L as ContainerOrSingle<T>>::Mapped<T>, L)where
TR: ListOrSingle<(Range<T>, T, T)>,
<TR as ContainerOrSingle<(Range<T>, T, T)>>::Mapped<<L as ContainerOrSingle<T>>::Mapped<T>>: ListOrSingle<<L as ContainerOrSingle<T>>::Mapped<T>>,
source§impl<Some> StaticMaybe<Some> for Some
impl<Some> StaticMaybe<Some> for Some
const IS_SOME: bool = true
const IS_NONE: bool = false
type None = ()
type Some = Some
type Opposite = ()
type Maybe<M: StaticMaybe<M> + ?Sized> = <M as StaticMaybe<M>>::Some
type MaybeOr<M: ?Sized, O: ?Sized> = M
fn maybe_from_fn<F>(func: F) -> Somewhere
F: FnOnce() -> Some,
fn maybe_or_from_fn<M, O>( maybe: M, _or: O ) -> <Some as StaticMaybe<Some>>::MaybeOr<<M as FnOnce()>::Output, <O as FnOnce()>::Output>
fn maybe_map<F>( self, map: F ) -> <Some as StaticMaybe<Some>>::Maybe<<F as FnOnce(Some)>::Output>
source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read moresource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self
is actually part of its subset T
(and can be converted to it).source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.