Type Alias OuterPcs

Source
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>

Source

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>
where Val: Debug, Dft: Debug, InputMmcs: Debug, FriMmcs: Debug,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
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>,

Source§

type Domain = TwoAdicMultiplicativeCoset<Val>

Source§

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>>

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 of the output of get_evaluations_on_domain.
Source§

type Proof = FriProof<Challenge, FriMmcs, Val, Vec<BatchOpening<Val, InputMmcs>>>

The opening argument.
Source§

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

This should return a coset domain (s.t. Domain::next_point returns Some)
Source§

fn commit( &self, evaluations: Vec<(<TwoAdicFriPcs<Val, Dft, InputMmcs, FriMmcs> as Pcs<Challenge, Challenger>>::Domain, DenseMatrix<Val>)>, ) -> (<TwoAdicFriPcs<Val, Dft, InputMmcs, FriMmcs> as Pcs<Challenge, Challenger>>::Commitment, <TwoAdicFriPcs<Val, Dft, InputMmcs, FriMmcs> as Pcs<Challenge, Challenger>>::ProverData)

Source§

fn get_evaluations_on_domain<'a>( &self, prover_data: &'a <TwoAdicFriPcs<Val, Dft, InputMmcs, FriMmcs> as Pcs<Challenge, Challenger>>::ProverData, idx: usize, domain: <TwoAdicFriPcs<Val, Dft, InputMmcs, FriMmcs> as Pcs<Challenge, Challenger>>::Domain, ) -> <TwoAdicFriPcs<Val, Dft, InputMmcs, FriMmcs> as Pcs<Challenge, Challenger>>::EvaluationsOnDomain<'a>

Source§

fn open( &self, rounds: Vec<(&<TwoAdicFriPcs<Val, Dft, InputMmcs, FriMmcs> as Pcs<Challenge, Challenger>>::ProverData, Vec<Vec<Challenge>>)>, challenger: &mut Challenger, ) -> (Vec<Vec<Vec<Vec<Challenge>>>>, <TwoAdicFriPcs<Val, Dft, InputMmcs, FriMmcs> as Pcs<Challenge, Challenger>>::Proof)

Source§

fn verify( &self, rounds: Vec<(<TwoAdicFriPcs<Val, Dft, InputMmcs, FriMmcs> as Pcs<Challenge, Challenger>>::Commitment, Vec<(<TwoAdicFriPcs<Val, Dft, InputMmcs, FriMmcs> as Pcs<Challenge, Challenger>>::Domain, Vec<(Challenge, Vec<Challenge>)>)>)>, proof: &<TwoAdicFriPcs<Val, Dft, InputMmcs, FriMmcs> as Pcs<Challenge, Challenger>>::Proof, challenger: &mut Challenger, ) -> Result<(), <TwoAdicFriPcs<Val, Dft, InputMmcs, FriMmcs> as Pcs<Challenge, Challenger>>::Error>