signal_processing 0.3.0

A signal processing library.
Documentation
use num::complex::ComplexFloat;
use option_trait::Maybe;

use crate::{quantities::{List, MaybeOwnedList, ProductSequence}, systems::{Sos, Tf}};

impl<'a, T1, T2, B1, B2, A1, A2, S1, S2> From<&'a Sos<T1, B1, A1, S1>> for Sos<T2, B2, A2, S2>
where
    T1: ComplexFloat,
    T2: ComplexFloat,
    B1: Maybe<[T1; 3]> + MaybeOwnedList<T1>,
    B2: Maybe<[T2; 3]> + MaybeOwnedList<T2>,
    A1: Maybe<[T1; 3]> + MaybeOwnedList<T1>,
    A2: Maybe<[T2; 3]> + MaybeOwnedList<T2>,
    S1: List<Tf<T1, B1, A1>>,
    S2: List<Tf<T2, B2, A2>>,
    S1::View<'a>: List<Tf<T1, B1, A1>>,
    ProductSequence<Tf<T1, B1, A1>, S1::View<'a>>: Into<ProductSequence<Tf<T2, B2, A2>, S2>>
{
    fn from(sos: &'a Sos<T1, B1, A1, S1>) -> Self
    {
        Sos {
            sos: sos.sos.as_view().into()
        }
    }
}