pub struct UnivariatePolynomial<F: PrimeField> {
pub degree: Option<u32>,
/* private fields */
}Expand description
Represents a polynomial, which is a sum of monomials.
Fields§
§degree: Option<u32>The degree of the polynomial, if known.
Implementations§
Source§impl<F: PrimeField> UnivariatePolynomial<F>
impl<F: PrimeField> UnivariatePolynomial<F>
Sourcepub fn new(monomials: Vec<Monomial<F>>) -> UnivariatePolynomial<F>
pub fn new(monomials: Vec<Monomial<F>>) -> UnivariatePolynomial<F>
Adds a monomial to the polynomial. If a monomial with the same exponent already exists, their coefficients are combined.
§Arguments
exponent- The exponent of the monomial to add.coefficients- The coefficient of the monomial to add.
Sourcepub fn default() -> UnivariatePolynomial<F>
pub fn default() -> UnivariatePolynomial<F>
Creates a default Polynomial with no monomials and no degree.
§Returns
A default Polynomial instance.
Sourcepub fn interpolate(x: Vec<F>, y: Vec<F>) -> UnivariatePolynomial<F>
pub fn interpolate(x: Vec<F>, y: Vec<F>) -> UnivariatePolynomial<F>
Trait Implementations§
Source§impl<F: PrimeField> Add for UnivariatePolynomial<F>
impl<F: PrimeField> Add for UnivariatePolynomial<F>
Source§fn add(self, p2: UnivariatePolynomial<F>) -> Self
fn add(self, p2: UnivariatePolynomial<F>) -> Self
Source§type Output = UnivariatePolynomial<F>
type Output = UnivariatePolynomial<F>
The resulting type after applying the
+ operator.Source§impl<F: Clone + PrimeField> Clone for UnivariatePolynomial<F>
impl<F: Clone + PrimeField> Clone for UnivariatePolynomial<F>
Source§fn clone(&self) -> UnivariatePolynomial<F>
fn clone(&self) -> UnivariatePolynomial<F>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<F: Debug + PrimeField> Debug for UnivariatePolynomial<F>
impl<F: Debug + PrimeField> Debug for UnivariatePolynomial<F>
Source§impl<F: PrimeField> Mul for UnivariatePolynomial<F>
impl<F: PrimeField> Mul for UnivariatePolynomial<F>
Source§fn mul(self, p2: UnivariatePolynomial<F>) -> Self
fn mul(self, p2: UnivariatePolynomial<F>) -> Self
Source§type Output = UnivariatePolynomial<F>
type Output = UnivariatePolynomial<F>
The resulting type after applying the
* operator.Auto Trait Implementations§
impl<F> Freeze for UnivariatePolynomial<F>
impl<F> RefUnwindSafe for UnivariatePolynomial<F>where
F: RefUnwindSafe,
impl<F> Send for UnivariatePolynomial<F>
impl<F> Sync for UnivariatePolynomial<F>
impl<F> Unpin for UnivariatePolynomial<F>where
F: Unpin,
impl<F> UnwindSafe for UnivariatePolynomial<F>where
F: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more