Struct poly_commit::Fft
source · pub struct Fft<F: FftField> {
pub elements: Vec<F>,
/* private fields */
}
Expand description
fft construction using n th root of unity supports polynomial operation less than n degree
Fields§
§elements: Vec<F>
Implementations§
source§impl<F: FftField> Fft<F>
impl<F: FftField> Fft<F>
pub fn new(k: usize) -> Self
sourcepub fn generator_inv(&self) -> F
pub fn generator_inv(&self) -> F
nth unity of root
sourcepub fn dft(&self, coeffs: &mut Coefficients<F>)
pub fn dft(&self, coeffs: &mut Coefficients<F>)
perform discrete fourier transform
sourcepub fn idft(&self, coeffs: &mut Coefficients<F>)
pub fn idft(&self, coeffs: &mut Coefficients<F>)
perform classic inverse discrete fourier transform
sourcepub fn coset_dft(&self, coeffs: &mut Coefficients<F>)
pub fn coset_dft(&self, coeffs: &mut Coefficients<F>)
perform discrete fourier transform on coset
sourcepub fn coset_idft(&self, coeffs: &mut Coefficients<F>)
pub fn coset_idft(&self, coeffs: &mut Coefficients<F>)
perform discrete fourier transform on coset
sourcepub fn poly_mul(
&self,
rhs: Coefficients<F>,
lhs: Coefficients<F>
) -> Coefficients<F>
pub fn poly_mul( &self, rhs: Coefficients<F>, lhs: Coefficients<F> ) -> Coefficients<F>
polynomial multiplication
sourcepub fn evaluate_all_lagrange_coefficients(&self, tau: F) -> Vec<F>
pub fn evaluate_all_lagrange_coefficients(&self, tau: F) -> Vec<F>
Evaluate all the lagrange polynomials defined by this domain at the
point tau
.
sourcepub fn compute_vanishing_poly_over_coset(
&self,
poly_degree: u64
) -> PointsValue<F>
pub fn compute_vanishing_poly_over_coset( &self, poly_degree: u64 ) -> PointsValue<F>
Given that the domain size is D
This function computes the D
evaluation points for
the vanishing polynomial of degree n
over a coset
Trait Implementations§
source§impl<F: PartialEq + FftField> PartialEq<Fft<F>> for Fft<F>
impl<F: PartialEq + FftField> PartialEq<Fft<F>> for Fft<F>
impl<F: Eq + FftField> Eq for Fft<F>
impl<F: FftField> StructuralEq for Fft<F>
impl<F: FftField> StructuralPartialEq for Fft<F>
Auto Trait Implementations§
impl<F> RefUnwindSafe for Fft<F>where F: RefUnwindSafe,
impl<F> Send for Fft<F>
impl<F> Sync for Fft<F>
impl<F> Unpin for Fft<F>where F: Unpin,
impl<F> UnwindSafe for Fft<F>where F: UnwindSafe,
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