pub trait CompositionPoly<F: Field>:
Debug
+ Send
+ Sync {
// Required methods
fn n_vars(&self) -> usize;
fn degree(&self) -> usize;
fn evaluate<P: PackedField<Scalar: ExtensionField<F>>>(
&self,
query: &[P],
) -> Result<P, Error>;
fn binary_tower_level(&self) -> usize;
fn batch_evaluate<P: PackedField<Scalar: ExtensionField<F>>>(
&self,
batch_query: &[&[P]],
evals: &mut [P],
) -> Result<(), Error>;
}
Expand description
A generic version of the CompositionPolyOS
trait that is not object-safe.
Required Methods§
fn n_vars(&self) -> usize
fn degree(&self) -> usize
fn evaluate<P: PackedField<Scalar: ExtensionField<F>>>( &self, query: &[P], ) -> Result<P, Error>
fn binary_tower_level(&self) -> usize
fn batch_evaluate<P: PackedField<Scalar: ExtensionField<F>>>( &self, batch_query: &[&[P]], evals: &mut [P], ) -> Result<(), Error>
Object Safety§
This trait is not object safe.