pub trait Normalize: List {
    type Output: List;
}
Expand description

Normalizing an IOPattern with merge operations applied recursively

Required Associated Types§

source

type Output: List

The output of the normalization

Implementors§

source§

impl Normalize for Nil

§

type Output = Nil

source§

impl<L: Normalize> Normalize for Cons<Absorb<U0>, L>

§

type Output = <L as Normalize>::Output

source§

impl<L: Normalize> Normalize for Cons<Squeeze<U0>, L>

§

type Output = <L as Normalize>::Output

source§

impl<U: Unsigned, B: Bit> Normalize for Cons<Absorb<UInt<U, B>>, Nil>

§

type Output = Cons<Absorb<UInt<U, B>>, Nil>

source§

impl<U: Unsigned, B: Bit> Normalize for Cons<Squeeze<UInt<U, B>>, Nil>

§

type Output = Cons<Squeeze<UInt<U, B>>, Nil>

source§

impl<U: Unsigned, B: Bit, M: Unsigned, T: List> Normalize for Cons<Absorb<UInt<U, B>>, Cons<Absorb<M>, T>>where UInt<U, B>: Add<M>, Cons<Absorb<Sum<UInt<U, B>, M>>, T>: Normalize,

§

type Output = <Cons<Absorb<<UInt<U, B> as Add<M>>::Output>, T> as Normalize>::Output

source§

impl<U: Unsigned, B: Bit, M: Unsigned, T: List> Normalize for Cons<Squeeze<UInt<U, B>>, Cons<Squeeze<M>, T>>where UInt<U, B>: Add<M>, Cons<Squeeze<Sum<UInt<U, B>, M>>, T>: Normalize,

§

type Output = <Cons<Squeeze<<UInt<U, B> as Add<M>>::Output>, T> as Normalize>::Output

source§

impl<U: Unsigned, B: Bit, T: List> Normalize for Cons<Absorb<UInt<U, B>>, Cons<Squeeze<U0>, T>>where Cons<Absorb<UInt<U, B>>, T>: Normalize,

§

type Output = <Cons<Absorb<UInt<U, B>>, T> as Normalize>::Output

source§

impl<U: Unsigned, B: Bit, T: List> Normalize for Cons<Squeeze<UInt<U, B>>, Cons<Absorb<U0>, T>>where Cons<Squeeze<UInt<U, B>>, T>: Normalize,

§

type Output = <Cons<Squeeze<UInt<U, B>>, T> as Normalize>::Output

source§

impl<U: Unsigned, B: Bit, U2: Unsigned, B2: Bit, T: List> Normalize for Cons<Absorb<UInt<U, B>>, Cons<Squeeze<UInt<U2, B2>>, T>>where Cons<Squeeze<UInt<U2, B2>>, T>: Normalize,

§

type Output = Cons<Absorb<UInt<U, B>>, <Cons<Squeeze<UInt<U2, B2>>, T> as Normalize>::Output>

source§

impl<U: Unsigned, B: Bit, U2: Unsigned, B2: Bit, T: List> Normalize for Cons<Squeeze<UInt<U, B>>, Cons<Absorb<UInt<U2, B2>>, T>>where Cons<Absorb<UInt<U2, B2>>, T>: Normalize,

§

type Output = Cons<Squeeze<UInt<U, B>>, <Cons<Absorb<UInt<U2, B2>>, T> as Normalize>::Output>