Skip to main content

evaluate_inplace_scalars

Function evaluate_inplace_scalars 

Source
pub fn evaluate_inplace_scalars<F: FieldOps>(
    evals: impl DerefMut<Target = [F]>,
    point: &[F],
) -> F
Expand description

Evaluates a multilinear polynomial at a given point in-place using scalar operations.

This is a simple variant of multilinear evaluation that works directly on slices of scalars with only a FieldOps bound. For each coordinate (highest to lowest), it folds the upper half into the lower half: evals[j] += r * (evals[j + half] - evals[j]).

The final result is stored in evals[0] after all folds.

§Arguments

  • evals - The 2^n evaluations over the boolean hypercube, modified in-place
  • point - The n coordinates at which to evaluate the polynomial

§Panics

Panics if evals.len() != 1 << point.len().