pub type OuterPcs = TwoAdicFriPcs<OuterVal, OuterDft, OuterValMmcs, OuterChallengeMmcs>;
Aliased Type§
struct OuterPcs { /* private fields */ }
Implementations
Source§impl<Val, Dft, InputMmcs, FriMmcs> TwoAdicFriPcs<Val, Dft, InputMmcs, FriMmcs>
impl<Val, Dft, InputMmcs, FriMmcs> TwoAdicFriPcs<Val, Dft, InputMmcs, FriMmcs>
pub const fn new( dft: Dft, mmcs: InputMmcs, fri: FriConfig<FriMmcs>, ) -> TwoAdicFriPcs<Val, Dft, InputMmcs, FriMmcs>
Trait Implementations
Source§impl<Val, Dft, InputMmcs, FriMmcs> Debug for TwoAdicFriPcs<Val, Dft, InputMmcs, FriMmcs>
impl<Val, Dft, InputMmcs, FriMmcs> Debug for TwoAdicFriPcs<Val, Dft, InputMmcs, FriMmcs>
Source§impl<Val, Dft, InputMmcs, FriMmcs, Challenge, Challenger> Pcs<Challenge, Challenger> for TwoAdicFriPcs<Val, Dft, InputMmcs, FriMmcs>where
Val: TwoAdicField,
Dft: TwoAdicSubgroupDft<Val>,
InputMmcs: Mmcs<Val>,
FriMmcs: Mmcs<Challenge>,
Challenge: TwoAdicField + ExtensionField<Val>,
Challenger: FieldChallenger<Val> + CanObserve<<FriMmcs as Mmcs<Challenge>>::Commitment> + GrindingChallenger<Witness = Val>,
impl<Val, Dft, InputMmcs, FriMmcs, Challenge, Challenger> Pcs<Challenge, Challenger> for TwoAdicFriPcs<Val, Dft, InputMmcs, FriMmcs>where
Val: TwoAdicField,
Dft: TwoAdicSubgroupDft<Val>,
InputMmcs: Mmcs<Val>,
FriMmcs: Mmcs<Challenge>,
Challenge: TwoAdicField + ExtensionField<Val>,
Challenger: FieldChallenger<Val> + CanObserve<<FriMmcs as Mmcs<Challenge>>::Commitment> + GrindingChallenger<Witness = Val>,
type Domain = TwoAdicMultiplicativeCoset<Val>
Source§type Commitment = <InputMmcs as Mmcs<Val>>::Commitment
type Commitment = <InputMmcs as Mmcs<Val>>::Commitment
The commitment that’s sent to the verifier.
Source§type ProverData = <InputMmcs as Mmcs<Val>>::ProverData<DenseMatrix<Val>>
type ProverData = <InputMmcs as Mmcs<Val>>::ProverData<DenseMatrix<Val>>
Data that the prover stores for committed polynomials, to help the prover with opening.
Source§type EvaluationsOnDomain<'a> = RowIndexMappedView<BitReversalPerm, DenseMatrix<Val, &'a [Val]>>
type EvaluationsOnDomain<'a> = RowIndexMappedView<BitReversalPerm, DenseMatrix<Val, &'a [Val]>>
Type of the output of
get_evaluations_on_domain
.Source§type Proof = FriProof<Challenge, FriMmcs, Val, Vec<BatchOpening<Val, InputMmcs>>>
type Proof = FriProof<Challenge, FriMmcs, Val, Vec<BatchOpening<Val, InputMmcs>>>
The opening argument.
type Error = FriError<<FriMmcs as Mmcs<Challenge>>::Error, <InputMmcs as Mmcs<Val>>::Error>
Source§fn natural_domain_for_degree(
&self,
degree: usize,
) -> <TwoAdicFriPcs<Val, Dft, InputMmcs, FriMmcs> as Pcs<Challenge, Challenger>>::Domain
fn natural_domain_for_degree( &self, degree: usize, ) -> <TwoAdicFriPcs<Val, Dft, InputMmcs, FriMmcs> as Pcs<Challenge, Challenger>>::Domain
This should return a coset domain (s.t. Domain::next_point returns Some)