Struct o1_utils::chunked_polynomial::ChunkedPolynomial
source · pub struct ChunkedPolynomial<F: Field> {
pub polys: Vec<DensePolynomial<F>>,
pub size: usize,
}
Expand description
This struct contains multiple chunk polynomials with degree size-1
.
Fields§
§polys: Vec<DensePolynomial<F>>
The chunk polynomials.
size: usize
Each chunk polynomial has degree size-1
.
Implementations§
source§impl<F: Field> ChunkedPolynomial<F>
impl<F: Field> ChunkedPolynomial<F>
sourcepub fn evaluate_chunks(&self, elm: F) -> Vec<F>
pub fn evaluate_chunks(&self, elm: F) -> Vec<F>
This function evaluates polynomial in chunks.
sourcepub fn linearize(&self, zeta_n: F) -> DensePolynomial<F>
pub fn linearize(&self, zeta_n: F) -> DensePolynomial<F>
Multiplies the chunks of a polynomial with powers of zeta^n to make it of degree n-1.
For example, if a polynomial can be written f = f0 + x^n f1 + x^2n f2
(where f0, f1, f2 are of degree n-1), then this function returns the new semi-evaluated
f'(x) = f0(x) + zeta^n f1(x) + zeta^2n f2(x)
.
Auto Trait Implementations§
impl<F> RefUnwindSafe for ChunkedPolynomial<F>where F: RefUnwindSafe,
impl<F> Send for ChunkedPolynomial<F>
impl<F> Sync for ChunkedPolynomial<F>
impl<F> Unpin for ChunkedPolynomial<F>where F: Unpin,
impl<F> UnwindSafe for ChunkedPolynomial<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