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§
sourcefn evaluate(&self, query: &[P]) -> Result<P, Error>
fn evaluate(&self, query: &[P]) -> Result<P, Error>
Evaluate the polynomial at a point in the extension field.
sourcefn binary_tower_level(&self) -> usize
fn binary_tower_level(&self) -> usize
Returns the maximum binary tower level of all constants in the arithmetic expression.