pub trait HornerCompositions<P: PackedField> {
    // Required methods
    fn evaluate(
        &self,
        challenge: P::Scalar,
        query: &[P]
    ) -> Result<Option<P>, Error>;
    fn evaluate_with_inner_evals(
        &self,
        challenge: P::Scalar,
        inner_evals: &[P::Scalar]
    ) -> Result<P::Scalar, Error>;
}

Required Methods§

source

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

source

fn evaluate_with_inner_evals( &self, challenge: P::Scalar, inner_evals: &[P::Scalar] ) -> Result<P::Scalar, Error>

Implementations on Foreign Types§

source§

impl<P: PackedField> HornerCompositions<P> for ()

source§

fn evaluate( &self, _challenge: P::Scalar, _query: &[P] ) -> Result<Option<P>, Error>

source§

fn evaluate_with_inner_evals( &self, _challenge: P::Scalar, inner_evals: &[P::Scalar] ) -> Result<P::Scalar, Error>

source§

impl<P: PackedField, C, IC> HornerCompositions<P> for (Vec<C>, IC)
where C: CompositionPoly<P>, IC: HornerCompositions<P>,

source§

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

source§

fn evaluate_with_inner_evals( &self, challenge: P::Scalar, inner_evals: &[P::Scalar] ) -> Result<P::Scalar, Error>

Implementors§