signal_processing 0.3.0

A signal processing library.
Documentation
use num::{complex::ComplexFloat, traits::Inv};

use crate::{quantities::MaybeList, systems::Zpk};

impl<T, Z, P, K> Inv for Zpk<T, Z, P, K>
where
    T: ComplexFloat,
    K: ComplexFloat<Real = T::Real> + Inv<Output: ComplexFloat<Real = T::Real>>,
    Z: MaybeList<T>,
    P: MaybeList<T>
{
    type Output = Zpk<T, P, Z, <K as Inv>::Output>;

    fn inv(self) -> Self::Output
    {
        Zpk {
            z: self.p,
            p: self.z,
            k: self.k.inv()
        }
    }
}