binius_core::polynomial::multivariate

Trait MultivariatePoly

source
pub trait MultivariatePoly<P>:
    Debug
    + Send
    + Sync {
    // Required methods
    fn n_vars(&self) -> usize;
    fn degree(&self) -> usize;
    fn evaluate(&self, query: &[P]) -> Result<P, Error>;
    fn binary_tower_level(&self) -> usize;
}
Expand description

A multivariate polynomial over a binary tower field.

The definition MultivariatePoly is nearly identical to that of CompositionPolyOS, except that MultivariatePoly is object safe, whereas CompositionPolyOS is not.

Required Methods§

source

fn n_vars(&self) -> usize

The number of variables.

source

fn degree(&self) -> usize

Total degree of the polynomial.

source

fn evaluate(&self, query: &[P]) -> Result<P, Error>

Evaluate the polynomial at a point in the extension field.

source

fn binary_tower_level(&self) -> usize

Returns the maximum binary tower level of all constants in the arithmetic expression.

Implementors§