Normalize

Trait Normalize 

Source
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

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl Normalize for Nil

Source§

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

Source§

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

Source§

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

Source§

impl<U: Unsigned, B: Bit> Normalize for 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,

Source§

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,

Source§

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,

Source§

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,

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,

Source§

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,

Source§

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