pub trait ChallengeField<F: Field>: EncodableLevel {
type SumcheckRepr: IntoTranscriptField<Self> + Algebra<F>;
// Provided method
fn from_sumcheck_repr(values: &[Self::SumcheckRepr], out: &mut [Self]) { ... }
}Expand description
A challenge field and the arithmetic representation used by its residual sumcheck.
The representation depends on the challenge field alone. A 128-bit challenge uses the carryless-multiply representation. A 64-bit challenge uses its polynomial-basis carryless-multiply representation.
A folded codeword over this field is an encoding under its own level’s encoder.
Required Associated Types§
Sourcetype SumcheckRepr: IntoTranscriptField<Self> + Algebra<F>
type SumcheckRepr: IntoTranscriptField<Self> + Algebra<F>
Isomorphic field used for residual sumcheck arithmetic.
Provided Methods§
Sourcefn from_sumcheck_repr(values: &[Self::SumcheckRepr], out: &mut [Self])
fn from_sumcheck_repr(values: &[Self::SumcheckRepr], out: &mut [Self])
Writes every value of values, held in the sumcheck representation, into out.
The default maps one value at a time.
§Panics
The two slices differ in length.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl<F: Field> ChallengeField<F> for BinaryField64
impl<F: Field> ChallengeField<F> for BinaryField64
type SumcheckRepr = Poly64
Source§impl<F: Field> ChallengeField<F> for BinaryField128
impl<F: Field> ChallengeField<F> for BinaryField128
Source§fn from_sumcheck_repr(values: &[Ghash128], out: &mut [Self])
fn from_sumcheck_repr(values: &[Ghash128], out: &mut [Self])
Crosses a block of polynomial coordinates back into the tower basis in one pass.