Trait ml_dsa::param::EncodingSize

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

An integer that can be used as a length for encoded values.

Required Associated Types§

Object Safety§

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,

§

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

§

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

§

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