Skip to main content

EvaluatablePolynomial

Trait EvaluatablePolynomial 

Source
pub trait EvaluatablePolynomial<C, Out>: Polynomial<C> {
    type EvaluationPoint: ?Sized;

    // Required method
    fn evaluate_at_point(
        &self,
        point: &Self::EvaluationPoint,
    ) -> Result<Out, EvaluationError>;
}

Required Associated Types§

Source

type EvaluationPoint: ?Sized

The type of points a polynomial can be evaluated on. For univariate polynomials this typically is Out, for multivariate this is [Out].

Required Methods§

Source

fn evaluate_at_point( &self, point: &Self::EvaluationPoint, ) -> Result<Out, EvaluationError>

Evaluates the polynomial at the given point.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl EvaluatablePolynomial<i8, i8> for i8

Source§

impl EvaluatablePolynomial<i16, i16> for i16

Source§

impl EvaluatablePolynomial<i32, i32> for i32

Source§

impl EvaluatablePolynomial<i64, i64> for i64

Source§

impl EvaluatablePolynomial<i128, i128> for i128

Source§

impl EvaluatablePolynomial<u8, u8> for u8

Source§

impl EvaluatablePolynomial<u16, u16> for u16

Source§

impl EvaluatablePolynomial<u32, u32> for u32

Source§

impl EvaluatablePolynomial<u64, u64> for u64

Source§

impl EvaluatablePolynomial<u128, u128> for u128

Source§

impl<const LIMBS: usize> EvaluatablePolynomial<Int<LIMBS>, Int<LIMBS>> for Int<LIMBS>

Source§

type EvaluationPoint = Int<LIMBS>

Source§

fn evaluate_at_point(&self, _point: &Self) -> Result<Self, EvaluationError>

Implementors§

Source§

impl<F: FromPrimitiveWithConfig> EvaluatablePolynomial<F, F> for NatEvaluatedPoly<F>

Source§

impl<F: PrimeField> EvaluatablePolynomial<F, F> for DynamicPolynomialF<F>

Source§

impl<R: Clone + Zero + One + CheckedAdd + CheckedMul, const DEGREE_PLUS_ONE: usize> EvaluatablePolynomial<Boolean, R> for BinaryRefPoly<DEGREE_PLUS_ONE>

Source§

impl<R: Clone + Zero + One + CheckedAdd + CheckedMul, const DEGREE_PLUS_ONE: usize> EvaluatablePolynomial<Boolean, R> for BinaryU64Poly<DEGREE_PLUS_ONE>

Source§

impl<R: FixedSemiring> EvaluatablePolynomial<R, R> for DynamicPolynomialFS<R>

Source§

impl<R: Semiring, const DEGREE_PLUS_ONE: usize> EvaluatablePolynomial<R, R> for DensePolynomial<R, DEGREE_PLUS_ONE>