Skip to main content

ZipTypes

Trait ZipTypes 

Source
pub trait ZipTypes:
    Clone
    + Debug
    + Send
    + Sync {
    type Eval: ConstCoeffBitWidth + Default + Named + Clone + Debug + Send + Sync;
    type Cw: FixedSemiring + ConstCoeffBitWidth + ConstTranscribable + FromRef<Self::Eval> + CheckedAdd + Named + Copy + Debug;
    type Fmod: ConstIntSemiring + ConstTranscribable + Named;
    type PrimeTest: PrimalityTest<Self::Fmod>;
    type Chal: ConstIntRing + ConstTranscribable + Named;
    type Pt: ConstIntRing;
    type CombR: ConstIntRing + Neg<Output = Self::CombR> + ConstTranscribable + FromRef<Self::CombR> + for<'a> MulByScalar<&'a Self::Chal>;
    type Comb: FixedSemiring + Polynomial<Self::CombR> + FromRef<Self::Eval> + FromRef<Self::Cw> + Named;
    type EvalDotChal: InnerProduct<Self::Eval, Self::Chal, Self::CombR> + Debug;
    type CombDotChal: InnerProduct<Self::Comb, Self::Chal, Self::CombR> + Debug;
    type ArrCombRDotChal: InnerProduct<[Self::CombR], Self::Chal, Self::CombR> + Debug;

    const NUM_COLUMN_OPENINGS: usize;
}

Required Associated Constants§

Required Associated Types§

Source

type Eval: ConstCoeffBitWidth + Default + Named + Clone + Debug + Send + Sync

Semiring of witness/polynomial evaluations on boolean hypercube

Source

type Cw: FixedSemiring + ConstCoeffBitWidth + ConstTranscribable + FromRef<Self::Eval> + CheckedAdd + Named + Copy + Debug

Semiring of codeword elements, at least as wide as the evaluation ring

Source

type Fmod: ConstIntSemiring + ConstTranscribable + Named

Semiring type used to draft field modulus elements, natural numbers

Source

type PrimeTest: PrimalityTest<Self::Fmod>

Source

type Chal: ConstIntRing + ConstTranscribable + Named

Ring of challenge elements (coefficients) to perform a random linear combination of codewords

Source

type Pt: ConstIntRing

Ring of point coordinates to evaluate the multilinear polynomial

Source

type CombR: ConstIntRing + Neg<Output = Self::CombR> + ConstTranscribable + FromRef<Self::CombR> + for<'a> MulByScalar<&'a Self::Chal>

Coefficient ring of linear combination polynomial Self::Comb

Source

type Comb: FixedSemiring + Polynomial<Self::CombR> + FromRef<Self::Eval> + FromRef<Self::Cw> + Named

Ring of elements in the linear combination of codewords, at least as wide as the evaluation, codeword, and challenge rings.

Source

type EvalDotChal: InnerProduct<Self::Eval, Self::Chal, Self::CombR> + Debug

Source

type CombDotChal: InnerProduct<Self::Comb, Self::Chal, Self::CombR> + Debug

Source

type ArrCombRDotChal: InnerProduct<[Self::CombR], Self::Chal, Self::CombR> + Debug

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§