Skip to main content

EncodingSize

Trait EncodingSize 

Source
pub trait EncodingSize: ArraySize {
    type EncodedPolynomialSize: ArraySize;
    type ValueStep: ArraySize;
    type ByteStep: ArraySize;
}
Expand description

An integer that can describe encoded polynomials.

Required Associated Types§

Source

type EncodedPolynomialSize: ArraySize

Size of an encoded polynomial.

Source

type ValueStep: ArraySize

Value step.

Source

type ByteStep: ArraySize

Byte step.

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<D> EncodingSize for D
where D: ArraySize + Mul<U8> + Gcd<U8> + Mul<U32>, Prod<D, U32>: ArraySize, Prod<D, U8>: Div<Gcf<D, U8>>, Quot<Prod<D, U8>, Gcf<D, U8>>: Div<D> + Div<U8>, Quot<Quot<Prod<D, U8>, Gcf<D, U8>>, D>: ArraySize, Quot<Quot<Prod<D, U8>, Gcf<D, U8>>, U8>: ArraySize,

Source§

type EncodedPolynomialSize = <D as Mul<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>>>::Output

Source§

type ValueStep = <<<D as Mul<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>>>::Output as Div<<D as Gcd<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>>>::Output>>::Output as Div<D>>::Output

Source§

type ByteStep = <<<D as Mul<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>>>::Output as Div<<D as Gcd<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>>>::Output>>::Output as Div<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>>>::Output