Trait ark_poly_commit::Polynomial[][src]

pub trait Polynomial<F>: Clone + Debug + Hash + PartialEq<Self> + Eq + Add<Self> + Neg + Zero + CanonicalSerialize + CanonicalDeserialize + for<'a> AddAssign<&'a Self> + for<'a> AddAssign<(F, &'a Self)> + for<'a> SubAssign<&'a Self> where
    F: Field
{ type Point: Sized + Clone + Ord + Debug + Sync + Hash; pub fn degree(&self) -> usize;
pub fn evaluate(&self, point: &Self::Point) -> F; }

Describes the common interface for univariate and multivariate polynomials

Associated Types

type Point: Sized + Clone + Ord + Debug + Sync + Hash[src]

The type of evaluation points for this polynomial.

Loading content...

Required methods

pub fn degree(&self) -> usize[src]

Returns the total degree of the polynomial

pub fn evaluate(&self, point: &Self::Point) -> F[src]

Evaluates self at the given point in Self::Point.

Loading content...

Implementations on Foreign Types

impl<F> Polynomial<F> for SparsePolynomial<F> where
    F: Field
[src]

type Point = F

pub fn degree(&self) -> usize[src]

Returns the degree of the polynomial.

pub fn evaluate(&self, point: &F) -> F[src]

Evaluates self at the given point in the field.

impl<F> Polynomial<F> for SparsePolynomial<F, SparseTerm> where
    F: Field
[src]

type Point = Vec<F, Global>

pub fn degree(&self) -> usize[src]

Returns the total degree of the polynomial

pub fn evaluate(&self, point: &Vec<F, Global>) -> F[src]

Evaluates self at the given point in Self::Point.

impl<F> Polynomial<F> for DensePolynomial<F> where
    F: Field
[src]

type Point = F

pub fn degree(&self) -> usize[src]

Returns the total degree of the polynomial

pub fn evaluate(&self, point: &F) -> F[src]

Evaluates self at the given point in Self::Point.

Loading content...

Implementors

Loading content...