pub struct FriCommitments<const N: usize, F, H: Hasher> { /* private fields */ }Expand description
Result of a polynomial folding (FRI COMMIT phase).
Use crate::commit_polynomial to create a FriCommitments from a polynomial in coefficient form,
or FriCommitments::new to create it from the evaluations directly.
Use crate::build_proof to get an actual FRI proof from a FriCommitments.
Implementations§
Source§impl<const N: usize, F: FftField, H: Hasher> FriCommitments<N, F, H>
impl<const N: usize, F: FftField, H: Hasher> FriCommitments<N, F, H>
Sourcepub fn new<R>(
evaluations: Vec<F>,
rng: R,
blowup_factor: usize,
remainder_degree_plus_one: usize,
) -> Selfwhere
R: ReseedableRng<Seed = H::Hash>,
pub fn new<R>(
evaluations: Vec<F>,
rng: R,
blowup_factor: usize,
remainder_degree_plus_one: usize,
) -> Selfwhere
R: ReseedableRng<Seed = H::Hash>,
Commits the polynomial according to FRI algorithm.
evaluationsis the list of evaluations of the polynomial on then-th roots of unity (wheren = evaluations.len()).
See crate::commit_polynomial for information about the other parameters.
§Panics
This may either panic or have unspecified behaviour if remainder_degree_plus_one is inconsistent with
the degree-bound of the polynomial and the folding factor, or if F does not contain a subgroup of size
evaluations.len().
Trait Implementations§
Auto Trait Implementations§
impl<const N: usize, F, H> Freeze for FriCommitments<N, F, H>
impl<const N: usize, F, H> RefUnwindSafe for FriCommitments<N, F, H>
impl<const N: usize, F, H> Send for FriCommitments<N, F, H>
impl<const N: usize, F, H> Sync for FriCommitments<N, F, H>
impl<const N: usize, F, H> Unpin for FriCommitments<N, F, H>
impl<const N: usize, F, H> UnwindSafe for FriCommitments<N, F, H>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more