Struct ark_r1cs_std::poly::evaluations::univariate::EvaluationsVar
source · pub struct EvaluationsVar<F: PrimeField> {
pub evals: Vec<FpVar<F>>,
pub lagrange_interpolator: Option<LagrangeInterpolator<F>>,
/* private fields */
}
Expand description
Stores a UV polynomial in evaluation form.
Fields§
§evals: Vec<FpVar<F>>
Evaluations of univariate polynomial over domain
lagrange_interpolator: Option<LagrangeInterpolator<F>>
Optional Lagrange Interpolator. Useful for lagrange interpolation.
Implementations§
source§impl<F: PrimeField> EvaluationsVar<F>
impl<F: PrimeField> EvaluationsVar<F>
sourcepub fn from_vec_and_domain(
evaluations: Vec<FpVar<F>>,
domain: Radix2DomainVar<F>,
interpolate: bool
) -> Self
pub fn from_vec_and_domain(
evaluations: Vec<FpVar<F>>,
domain: Radix2DomainVar<F>,
interpolate: bool
) -> Self
Construct Self
from evaluations and a domain.
interpolate
indicates if user wants to interpolate this polynomial
using lagrange interpolation.
sourcepub fn generate_interpolation_cache(&mut self)
pub fn generate_interpolation_cache(&mut self)
Precompute necessary calculation for lagrange interpolation and mark it ready to interpolate
sourcepub fn interpolate_and_evaluate(
&self,
interpolation_point: &FpVar<F>
) -> Result<FpVar<F>, SynthesisError>
pub fn interpolate_and_evaluate(
&self,
interpolation_point: &FpVar<F>
) -> Result<FpVar<F>, SynthesisError>
Returns constraints for Interpolating and evaluating at
interpolation_point
Trait Implementations§
source§impl<'a, 'b, F: PrimeField> Add<&'a EvaluationsVar<F>> for &'b EvaluationsVar<F>
impl<'a, 'b, F: PrimeField> Add<&'a EvaluationsVar<F>> for &'b EvaluationsVar<F>
§type Output = EvaluationsVar<F>
type Output = EvaluationsVar<F>
+
operator.source§impl<'a, F: PrimeField> AddAssign<&'a EvaluationsVar<F>> for EvaluationsVar<F>
impl<'a, F: PrimeField> AddAssign<&'a EvaluationsVar<F>> for EvaluationsVar<F>
source§fn add_assign(&mut self, other: &'a EvaluationsVar<F>)
fn add_assign(&mut self, other: &'a EvaluationsVar<F>)
Performs the +=
operations, assuming domain.offset
is equal.
source§impl<F: Clone + PrimeField> Clone for EvaluationsVar<F>
impl<F: Clone + PrimeField> Clone for EvaluationsVar<F>
source§fn clone(&self) -> EvaluationsVar<F>
fn clone(&self) -> EvaluationsVar<F>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<'a, 'b, F: PrimeField> Div<&'a EvaluationsVar<F>> for &'b EvaluationsVar<F>
impl<'a, 'b, F: PrimeField> Div<&'a EvaluationsVar<F>> for &'b EvaluationsVar<F>
§type Output = EvaluationsVar<F>
type Output = EvaluationsVar<F>
/
operator.source§impl<'a, F: PrimeField> DivAssign<&'a EvaluationsVar<F>> for EvaluationsVar<F>
impl<'a, F: PrimeField> DivAssign<&'a EvaluationsVar<F>> for EvaluationsVar<F>
source§fn div_assign(&mut self, other: &'a EvaluationsVar<F>)
fn div_assign(&mut self, other: &'a EvaluationsVar<F>)
Performs the /=
operations, assuming domain.offset
is equal.
source§impl<'a, 'b, F: PrimeField> Mul<&'a EvaluationsVar<F>> for &'b EvaluationsVar<F>
impl<'a, 'b, F: PrimeField> Mul<&'a EvaluationsVar<F>> for &'b EvaluationsVar<F>
source§fn mul(self, rhs: &'a EvaluationsVar<F>) -> Self::Output
fn mul(self, rhs: &'a EvaluationsVar<F>) -> Self::Output
Performs the *
operations, assuming domain.offset
is equal.
§type Output = EvaluationsVar<F>
type Output = EvaluationsVar<F>
*
operator.source§impl<'a, F: PrimeField> MulAssign<&'a EvaluationsVar<F>> for EvaluationsVar<F>
impl<'a, F: PrimeField> MulAssign<&'a EvaluationsVar<F>> for EvaluationsVar<F>
source§fn mul_assign(&mut self, other: &'a EvaluationsVar<F>)
fn mul_assign(&mut self, other: &'a EvaluationsVar<F>)
Performs the *=
operations, assuming domain.offset
is equal.
source§impl<'a, 'b, F: PrimeField> Sub<&'a EvaluationsVar<F>> for &'b EvaluationsVar<F>
impl<'a, 'b, F: PrimeField> Sub<&'a EvaluationsVar<F>> for &'b EvaluationsVar<F>
§type Output = EvaluationsVar<F>
type Output = EvaluationsVar<F>
-
operator.source§impl<'a, F: PrimeField> SubAssign<&'a EvaluationsVar<F>> for EvaluationsVar<F>
impl<'a, F: PrimeField> SubAssign<&'a EvaluationsVar<F>> for EvaluationsVar<F>
source§fn sub_assign(&mut self, other: &'a EvaluationsVar<F>)
fn sub_assign(&mut self, other: &'a EvaluationsVar<F>)
Performs the -=
operations, assuming domain.offset
is equal.