signal_processing 0.3.0

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

pub trait ComplexOp<Rhs>: ComplexFloat + Into<<Self as ComplexOp<Rhs>>::Output>
where
    Rhs: ComplexFloat + Into<<Self as ComplexOp<Rhs>>::Output>
{
    type Output: ComplexFloat;
}

impl<T> ComplexOp<T> for T
where
    T: ComplexFloat
{
    type Output = T;
}
impl<T> ComplexOp<T> for Complex<T>
where
    T: Float + FloatConst
{
    type Output = Complex<T>;
}
impl<T> ComplexOp<Complex<T>> for T
where
    T: Float + FloatConst
{
    type Output = Complex<T>;
}