Struct algebraics::polynomial::Polynomial
source · [−]pub struct Polynomial<T: PolynomialCoefficient> { /* private fields */ }
Expand description
A single-variable polynomial.
the term at index n
is self.coefficients()[n] * pow(x, n)
Invariants
self.coefficients().last()
is either None
or Some(v)
where !v.is_zero()
Implementations
sourceimpl<T: PolynomialCoefficient> Polynomial<T>
impl<T: PolynomialCoefficient> Polynomial<T>
pub fn checked_pseudo_div_rem(self, rhs: &Self) -> Option<PseudoDivRem<T>>
pub fn pseudo_div_rem(self, rhs: &Self) -> PseudoDivRem<T>
pub fn exact_pseudo_div(self, rhs: &Self) -> (Polynomial<T>, T)
pub fn checked_exact_pseudo_div(self, rhs: &Self) -> Option<(Polynomial<T>, T)>
sourceimpl<T: PolynomialCoefficient + for<'a> ExactDiv<&'a T, Output = T>> Polynomial<T>
impl<T: PolynomialCoefficient + for<'a> ExactDiv<&'a T, Output = T>> Polynomial<T>
sourceimpl<T: PolynomialDivSupported> Polynomial<T>
impl<T: PolynomialDivSupported> Polynomial<T>
sourceimpl Polynomial<BigInt>
impl Polynomial<BigInt>
pub fn factor_with_rng<R: Rng + ?Sized>(
&self,
rng: &mut R
) -> PolynomialFactors<BigInt>
pub fn factor(&self) -> PolynomialFactors<BigInt>
sourceimpl<T: PolynomialCoefficient + for<'a> ExactDiv<&'a T, Output = T>> Polynomial<T>
impl<T: PolynomialCoefficient + for<'a> ExactDiv<&'a T, Output = T>> Polynomial<T>
sourcepub fn subresultant_gcd(self, rhs: Self) -> Polynomial<T>
pub fn subresultant_gcd(self, rhs: Self) -> Polynomial<T>
returns the non-reduced GCD computed from the subresultant remainder sequence.
The algorithm used is derived from the one given in http://web.archive.org/web/20190221040758/https://pdfs.semanticscholar.org/2e6b/95ba84e2160748ba8fc310cdc408fc9bbade.pdf
pub fn nonzero_resultant(self, rhs: Self) -> Option<T>
pub fn resultant(self, rhs: Self) -> T where
T: Zero,
sourceimpl<T: PolynomialCoefficient> Polynomial<T>
impl<T: PolynomialCoefficient> Polynomial<T>
sourceimpl<T: PolynomialCoefficient> Polynomial<T>
impl<T: PolynomialCoefficient> Polynomial<T>
pub fn make_monomial(coefficient: T, variable_exponent: usize) -> Self
pub fn nonzero_coefficient(&self, index: usize) -> Option<T>
pub fn coefficient(&self, index: usize) -> T where
T: Zero,
pub fn nonzero_highest_power_coefficient(&self) -> Option<T>
pub fn highest_power_coefficient(&self) -> T where
T: Zero,
pub fn into_coefficients(self) -> Vec<T>
pub fn split_out_divisor(self) -> (Vec<T::Element>, T::Divisor)
pub fn iter(&self) -> Iter<'_, T>ⓘNotable traits for Iter<'_, T>impl<T: PolynomialCoefficient> Iterator for Iter<'_, T> type Item = T;
pub fn len(&self) -> usize
pub fn is_empty(&self) -> bool
pub fn degree(&self) -> Option<usize>
pub fn negate(&mut self)
sourcepub fn nonzero_content(&self) -> Option<T> where
T: GCD<Output = T> + PartialOrd,
pub fn nonzero_content(&self) -> Option<T> where
T: GCD<Output = T> + PartialOrd,
returns greatest common divisor of all coefficients
sourcepub fn content(&self) -> T where
T: GCD<Output = T> + PartialOrd + Zero,
pub fn content(&self) -> T where
T: GCD<Output = T> + PartialOrd + Zero,
returns greatest common divisor of all coefficients
pub fn primitive_part_assign(&mut self) where
T: GCD<Output = T> + PartialOrd + for<'a> ExactDiv<&'a T, Output = T>,
pub fn into_primitive_part(self) -> Self where
T: GCD<Output = T> + PartialOrd + for<'a> ExactDiv<&'a T, Output = T>,
pub fn primitive_part(&self) -> Self where
T: GCD<Output = T> + PartialOrd + for<'a> ExactDiv<&'a T, Output = T>,
pub fn monic_assign(&mut self) where
T: for<'a> ExactDiv<&'a T, Output = T>,
pub fn into_monic(self) -> Self where
T: for<'a> ExactDiv<&'a T, Output = T>,
sourcepub fn nonzero_reducing_factor(&self) -> Option<T> where
T: PolynomialReducingFactorSupported,
pub fn nonzero_reducing_factor(&self) -> Option<T> where
T: PolynomialReducingFactorSupported,
returns the factor f
of the passed in polynomial p
where p / f
is content-free (for integer polynomials) or monic (for polynomials over fields).
sourcepub fn reducing_factor(&self) -> T where
T: PolynomialReducingFactorSupported + Zero,
pub fn reducing_factor(&self) -> T where
T: PolynomialReducingFactorSupported + Zero,
returns the factor f
of the passed in polynomial p
where p / f
is content-free (for integer polynomials) or monic (for polynomials over fields).
returns zero when p
is zero.
sourcepub fn reduce_assign(&mut self) where
T: PolynomialReducingFactorSupported + for<'a> ExactDiv<&'a T, Output = T>,
pub fn reduce_assign(&mut self) where
T: PolynomialReducingFactorSupported + for<'a> ExactDiv<&'a T, Output = T>,
converts self
to be content-free (for integer polynomials) or monic (for polynomials over fields).
sourcepub fn into_reduced(self) -> Self where
T: PolynomialReducingFactorSupported + for<'a> ExactDiv<&'a T, Output = T>,
pub fn into_reduced(self) -> Self where
T: PolynomialReducingFactorSupported + for<'a> ExactDiv<&'a T, Output = T>,
returns self
converted to be content-free (for integer polynomials) or monic (for polynomials over fields).
sourcepub fn to_reduced(&self) -> Self where
T: PolynomialReducingFactorSupported + for<'a> ExactDiv<&'a T, Output = T>,
pub fn to_reduced(&self) -> Self where
T: PolynomialReducingFactorSupported + for<'a> ExactDiv<&'a T, Output = T>,
returns self
converted to be content-free (for integer polynomials) or monic (for polynomials over fields).
pub fn to_sturm_sequence(&self) -> Vec<Polynomial<T>> where
T: PolynomialDivSupported,
pub fn into_sturm_sequence(self) -> Vec<Polynomial<T>> where
T: PolynomialDivSupported,
pub fn to_primitive_sturm_sequence(&self) -> Vec<Polynomial<T>> where
T: GCD<Output = T> + PartialOrd + for<'a> ExactDiv<&'a T, Output = T>,
pub fn into_primitive_sturm_sequence(self) -> Vec<Polynomial<T>> where
T: GCD<Output = T> + PartialOrd + for<'a> ExactDiv<&'a T, Output = T>,
pub fn into_derivative(self) -> Self
pub fn derivative(&self) -> Self
pub fn eval_generic<V: for<'a> Mul<&'a V, Output = V> + Add<T, Output = V>>(
&self,
at: &V,
zero: V
) -> V
pub fn into_eval_generic<V: for<'a> Mul<&'a V, Output = V> + Add<T, Output = V>>(
self,
at: &V,
zero: V
) -> V
pub fn eval(&self, at: &T) -> T
pub fn into_eval(self, at: &T) -> T
pub fn set_one_if_nonzero(&mut self) -> Result<(), ()>
pub fn into_one_if_nonzero(self) -> Result<Self, Self>
pub fn to_one_if_nonzero(&self) -> Option<Self>
pub fn nonzero_max_norm(&self) -> Option<T> where
T: Ord + PolynomialCoefficientAbsSupported,
pub fn max_norm(&self) -> T where
T: Ord + PolynomialCoefficientAbsSupported + Zero,
pub fn nonzero_manhattan_norm(&self) -> Option<T> where
T: PolynomialCoefficientAbsSupported,
pub fn manhattan_norm(&self) -> T where
T: PolynomialCoefficientAbsSupported + Zero,
sourceimpl<T> Polynomial<T> where
T: PolynomialDivSupported + RingCharacteristic<Type = CharacteristicZero> + PolynomialReducingFactorSupported + GCD<Output = T> + PartialOrd,
impl<T> Polynomial<T> where
T: PolynomialDivSupported + RingCharacteristic<Type = CharacteristicZero> + PolynomialReducingFactorSupported + GCD<Output = T> + PartialOrd,
sourcepub fn square_free_factorization_using_yuns_algorithm(
&self
) -> SquareFreePolynomialFactors<T>
pub fn square_free_factorization_using_yuns_algorithm(
&self
) -> SquareFreePolynomialFactors<T>
splits self
into square-free factors using Yun’s algorithm
Note that the returned factors are not necessarily irreducible.
sourceimpl<T: PolynomialDivSupported + PolynomialReducingFactorSupported> Polynomial<T>
impl<T: PolynomialDivSupported + PolynomialReducingFactorSupported> Polynomial<T>
pub fn is_square_free(&self) -> bool
Trait Implementations
sourceimpl<'a, T: PolynomialCoefficient> Add<&'a Polynomial<T>> for Polynomial<T>
impl<'a, T: PolynomialCoefficient> Add<&'a Polynomial<T>> for Polynomial<T>
type Output = Polynomial<T>
type Output = Polynomial<T>
The resulting type after applying the +
operator.
sourcefn add(self, rhs: &Polynomial<T>) -> Self::Output
fn add(self, rhs: &Polynomial<T>) -> Self::Output
Performs the +
operation. Read more
sourceimpl<'a, T: PolynomialCoefficient> Add<&'a Polynomial<T>> for &'a Polynomial<T>
impl<'a, T: PolynomialCoefficient> Add<&'a Polynomial<T>> for &'a Polynomial<T>
sourceimpl<'a, T: PolynomialCoefficient> Add<&'a T> for Polynomial<T>
impl<'a, T: PolynomialCoefficient> Add<&'a T> for Polynomial<T>
sourceimpl<'a, T: PolynomialCoefficient> Add<&'a T> for &'a Polynomial<T>
impl<'a, T: PolynomialCoefficient> Add<&'a T> for &'a Polynomial<T>
sourceimpl<T: PolynomialCoefficient> Add<Polynomial<T>> for Polynomial<T>
impl<T: PolynomialCoefficient> Add<Polynomial<T>> for Polynomial<T>
type Output = Polynomial<T>
type Output = Polynomial<T>
The resulting type after applying the +
operator.
sourcefn add(self, rhs: Polynomial<T>) -> Self::Output
fn add(self, rhs: Polynomial<T>) -> Self::Output
Performs the +
operation. Read more
sourceimpl<'a, T: PolynomialCoefficient> Add<Polynomial<T>> for &'a Polynomial<T>
impl<'a, T: PolynomialCoefficient> Add<Polynomial<T>> for &'a Polynomial<T>
type Output = Polynomial<T>
type Output = Polynomial<T>
The resulting type after applying the +
operator.
sourcefn add(self, rhs: Polynomial<T>) -> Self::Output
fn add(self, rhs: Polynomial<T>) -> Self::Output
Performs the +
operation. Read more
sourceimpl<T: PolynomialCoefficient> Add<T> for Polynomial<T>
impl<T: PolynomialCoefficient> Add<T> for Polynomial<T>
sourceimpl<'a, T: PolynomialCoefficient> Add<T> for &'a Polynomial<T>
impl<'a, T: PolynomialCoefficient> Add<T> for &'a Polynomial<T>
sourceimpl<'a, T: PolynomialCoefficient> AddAssign<&'a Polynomial<T>> for Polynomial<T>
impl<'a, T: PolynomialCoefficient> AddAssign<&'a Polynomial<T>> for Polynomial<T>
sourcefn add_assign(&mut self, rhs: &Polynomial<T>)
fn add_assign(&mut self, rhs: &Polynomial<T>)
Performs the +=
operation. Read more
sourceimpl<'a, T: PolynomialCoefficient> AddAssign<&'a T> for Polynomial<T>
impl<'a, T: PolynomialCoefficient> AddAssign<&'a T> for Polynomial<T>
sourcefn add_assign(&mut self, rhs: &T)
fn add_assign(&mut self, rhs: &T)
Performs the +=
operation. Read more
sourceimpl<T: PolynomialCoefficient> AddAssign<Polynomial<T>> for Polynomial<T>
impl<T: PolynomialCoefficient> AddAssign<Polynomial<T>> for Polynomial<T>
sourcefn add_assign(&mut self, rhs: Polynomial<T>)
fn add_assign(&mut self, rhs: Polynomial<T>)
Performs the +=
operation. Read more
sourceimpl<T: PolynomialCoefficient> AddAssign<T> for Polynomial<T>
impl<T: PolynomialCoefficient> AddAssign<T> for Polynomial<T>
sourcefn add_assign(&mut self, rhs: T)
fn add_assign(&mut self, rhs: T)
Performs the +=
operation. Read more
sourceimpl<T: PolynomialCoefficient> CheckedAdd for Polynomial<T>
impl<T: PolynomialCoefficient> CheckedAdd for Polynomial<T>
sourcefn checked_add(&self, rhs: &Self) -> Option<Self>
fn checked_add(&self, rhs: &Self) -> Option<Self>
Adds two numbers, checking for overflow. If overflow happens, None
is
returned. Read more
sourceimpl<T: PolynomialDivSupported> CheckedDiv for Polynomial<T>
impl<T: PolynomialDivSupported> CheckedDiv for Polynomial<T>
sourcefn checked_div(&self, rhs: &Self) -> Option<Self>
fn checked_div(&self, rhs: &Self) -> Option<Self>
Divides two numbers, checking for underflow, overflow and division by
zero. If any of that happens, None
is returned. Read more
sourceimpl<T: PolynomialCoefficient> CheckedMul for Polynomial<T>
impl<T: PolynomialCoefficient> CheckedMul for Polynomial<T>
sourcefn checked_mul(&self, rhs: &Self) -> Option<Self>
fn checked_mul(&self, rhs: &Self) -> Option<Self>
Multiplies two numbers, checking for underflow or overflow. If underflow
or overflow happens, None
is returned. Read more
sourceimpl<T: PolynomialDivSupported> CheckedRem for Polynomial<T>
impl<T: PolynomialDivSupported> CheckedRem for Polynomial<T>
sourcefn checked_rem(&self, rhs: &Self) -> Option<Self>
fn checked_rem(&self, rhs: &Self) -> Option<Self>
Finds the remainder of dividing two numbers, checking for underflow, overflow and division
by zero. If any of that happens, None
is returned. Read more
sourceimpl<T: PolynomialCoefficient> CheckedSub for Polynomial<T>
impl<T: PolynomialCoefficient> CheckedSub for Polynomial<T>
sourcefn checked_sub(&self, rhs: &Self) -> Option<Self>
fn checked_sub(&self, rhs: &Self) -> Option<Self>
Subtracts two numbers, checking for underflow. If underflow happens,
None
is returned. Read more
sourceimpl<T: Clone + PolynomialCoefficient> Clone for Polynomial<T> where
T::Element: Clone,
T::Divisor: Clone,
impl<T: Clone + PolynomialCoefficient> Clone for Polynomial<T> where
T::Element: Clone,
T::Divisor: Clone,
sourcefn clone(&self) -> Polynomial<T>
fn clone(&self) -> Polynomial<T>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl<T: Debug + PolynomialCoefficient> Debug for Polynomial<T> where
T::Element: Debug,
T::Divisor: Debug,
impl<T: Debug + PolynomialCoefficient> Debug for Polynomial<T> where
T::Element: Debug,
T::Divisor: Debug,
sourceimpl<T: PolynomialCoefficient> Default for Polynomial<T>
impl<T: PolynomialCoefficient> Default for Polynomial<T>
sourceimpl<T: Display + PolynomialCoefficient> Display for Polynomial<T>
impl<T: Display + PolynomialCoefficient> Display for Polynomial<T>
sourceimpl<T: PolynomialDivSupported> Div<&'_ Polynomial<T>> for Polynomial<T>
impl<T: PolynomialDivSupported> Div<&'_ Polynomial<T>> for Polynomial<T>
type Output = Polynomial<T>
type Output = Polynomial<T>
The resulting type after applying the /
operator.
sourcefn div(self, rhs: &Polynomial<T>) -> Polynomial<T>
fn div(self, rhs: &Polynomial<T>) -> Polynomial<T>
Performs the /
operation. Read more
sourceimpl<'a, 'b, T: PolynomialDivSupported> Div<&'a Polynomial<T>> for &'b Polynomial<T>
impl<'a, 'b, T: PolynomialDivSupported> Div<&'a Polynomial<T>> for &'b Polynomial<T>
type Output = Polynomial<T>
type Output = Polynomial<T>
The resulting type after applying the /
operator.
sourcefn div(self, rhs: &Polynomial<T>) -> Polynomial<T>
fn div(self, rhs: &Polynomial<T>) -> Polynomial<T>
Performs the /
operation. Read more
sourceimpl<'a, T: PolynomialCoefficient + for<'b> ExactDiv<&'b T, Output = T>> Div<&'a T> for &'a Polynomial<T>
impl<'a, T: PolynomialCoefficient + for<'b> ExactDiv<&'b T, Output = T>> Div<&'a T> for &'a Polynomial<T>
type Output = Polynomial<T>
type Output = Polynomial<T>
The resulting type after applying the /
operator.
sourcefn div(self, rhs: &T) -> Polynomial<T>
fn div(self, rhs: &T) -> Polynomial<T>
Performs the /
operation. Read more
sourceimpl<'a, T: PolynomialCoefficient + for<'b> ExactDiv<&'b T, Output = T>> Div<&'a T> for Polynomial<T>
impl<'a, T: PolynomialCoefficient + for<'b> ExactDiv<&'b T, Output = T>> Div<&'a T> for Polynomial<T>
type Output = Polynomial<T>
type Output = Polynomial<T>
The resulting type after applying the /
operator.
sourcefn div(self, rhs: &T) -> Polynomial<T>
fn div(self, rhs: &T) -> Polynomial<T>
Performs the /
operation. Read more
sourceimpl<T: PolynomialDivSupported> Div<Polynomial<T>> for Polynomial<T>
impl<T: PolynomialDivSupported> Div<Polynomial<T>> for Polynomial<T>
type Output = Polynomial<T>
type Output = Polynomial<T>
The resulting type after applying the /
operator.
sourcefn div(self, rhs: Polynomial<T>) -> Polynomial<T>
fn div(self, rhs: Polynomial<T>) -> Polynomial<T>
Performs the /
operation. Read more
sourceimpl<T: PolynomialDivSupported> Div<Polynomial<T>> for &Polynomial<T>
impl<T: PolynomialDivSupported> Div<Polynomial<T>> for &Polynomial<T>
type Output = Polynomial<T>
type Output = Polynomial<T>
The resulting type after applying the /
operator.
sourcefn div(self, rhs: Polynomial<T>) -> Polynomial<T>
fn div(self, rhs: Polynomial<T>) -> Polynomial<T>
Performs the /
operation. Read more
sourceimpl<'a, T: PolynomialCoefficient + for<'b> ExactDiv<&'b T, Output = T>> Div<T> for &'a Polynomial<T>
impl<'a, T: PolynomialCoefficient + for<'b> ExactDiv<&'b T, Output = T>> Div<T> for &'a Polynomial<T>
type Output = Polynomial<T>
type Output = Polynomial<T>
The resulting type after applying the /
operator.
sourcefn div(self, rhs: T) -> Polynomial<T>
fn div(self, rhs: T) -> Polynomial<T>
Performs the /
operation. Read more
sourceimpl<T: PolynomialCoefficient + for<'a> ExactDiv<&'a T, Output = T>> Div<T> for Polynomial<T>
impl<T: PolynomialCoefficient + for<'a> ExactDiv<&'a T, Output = T>> Div<T> for Polynomial<T>
type Output = Polynomial<T>
type Output = Polynomial<T>
The resulting type after applying the /
operator.
sourcefn div(self, rhs: T) -> Polynomial<T>
fn div(self, rhs: T) -> Polynomial<T>
Performs the /
operation. Read more
sourceimpl<T: PolynomialDivSupported> DivAssign<&'_ Polynomial<T>> for Polynomial<T>
impl<T: PolynomialDivSupported> DivAssign<&'_ Polynomial<T>> for Polynomial<T>
sourcefn div_assign(&mut self, rhs: &Polynomial<T>)
fn div_assign(&mut self, rhs: &Polynomial<T>)
Performs the /=
operation. Read more
sourceimpl<'a, T: PolynomialCoefficient + for<'b> ExactDiv<&'b T, Output = T>> DivAssign<&'a T> for Polynomial<T>
impl<'a, T: PolynomialCoefficient + for<'b> ExactDiv<&'b T, Output = T>> DivAssign<&'a T> for Polynomial<T>
sourcefn div_assign(&mut self, rhs: &T)
fn div_assign(&mut self, rhs: &T)
Performs the /=
operation. Read more
sourceimpl<T: PolynomialDivSupported> DivAssign<Polynomial<T>> for Polynomial<T>
impl<T: PolynomialDivSupported> DivAssign<Polynomial<T>> for Polynomial<T>
sourcefn div_assign(&mut self, rhs: Polynomial<T>)
fn div_assign(&mut self, rhs: Polynomial<T>)
Performs the /=
operation. Read more
sourceimpl<T: PolynomialCoefficient + for<'a> ExactDiv<&'a T, Output = T>> DivAssign<T> for Polynomial<T>
impl<T: PolynomialCoefficient + for<'a> ExactDiv<&'a T, Output = T>> DivAssign<T> for Polynomial<T>
sourcefn div_assign(&mut self, rhs: T)
fn div_assign(&mut self, rhs: T)
Performs the /=
operation. Read more
sourceimpl<T: PolynomialCoefficient + for<'a> ExactDiv<&'a T, Output = T>> ExactDiv<&'_ Polynomial<T>> for Polynomial<T>
impl<T: PolynomialCoefficient + for<'a> ExactDiv<&'a T, Output = T>> ExactDiv<&'_ Polynomial<T>> for Polynomial<T>
type Output = Polynomial<T>
fn exact_div(self, rhs: &Polynomial<T>) -> Polynomial<T>
fn checked_exact_div(self, rhs: &Polynomial<T>) -> Option<Polynomial<T>>
sourceimpl<'a, T: PolynomialCoefficient + for<'b> ExactDiv<&'b T, Output = T>> ExactDiv<&'a T> for &'a Polynomial<T>
impl<'a, T: PolynomialCoefficient + for<'b> ExactDiv<&'b T, Output = T>> ExactDiv<&'a T> for &'a Polynomial<T>
type Output = Polynomial<T>
fn exact_div(self, rhs: &T) -> Polynomial<T>
fn checked_exact_div(self, rhs: &T) -> Option<Polynomial<T>>
sourceimpl<'a, T: PolynomialCoefficient + for<'b> ExactDiv<&'b T, Output = T>> ExactDiv<&'a T> for Polynomial<T>
impl<'a, T: PolynomialCoefficient + for<'b> ExactDiv<&'b T, Output = T>> ExactDiv<&'a T> for Polynomial<T>
type Output = Polynomial<T>
fn exact_div(self, rhs: &T) -> Polynomial<T>
fn checked_exact_div(self, rhs: &T) -> Option<Polynomial<T>>
sourceimpl<'l, 'r, T: PolynomialCoefficient + for<'a> ExactDiv<&'a T, Output = T>> ExactDiv<&'r Polynomial<T>> for &'l Polynomial<T>
impl<'l, 'r, T: PolynomialCoefficient + for<'a> ExactDiv<&'a T, Output = T>> ExactDiv<&'r Polynomial<T>> for &'l Polynomial<T>
type Output = Polynomial<T>
fn exact_div(self, rhs: &Polynomial<T>) -> Polynomial<T>
fn checked_exact_div(self, rhs: &Polynomial<T>) -> Option<Polynomial<T>>
sourceimpl<T: PolynomialCoefficient + for<'a> ExactDiv<&'a T, Output = T>> ExactDiv<Polynomial<T>> for Polynomial<T>
impl<T: PolynomialCoefficient + for<'a> ExactDiv<&'a T, Output = T>> ExactDiv<Polynomial<T>> for Polynomial<T>
type Output = Polynomial<T>
fn exact_div(self, rhs: Polynomial<T>) -> Polynomial<T>
fn checked_exact_div(self, rhs: Polynomial<T>) -> Option<Polynomial<T>>
sourceimpl<T: PolynomialCoefficient + for<'a> ExactDiv<&'a T, Output = T>> ExactDiv<Polynomial<T>> for &Polynomial<T>
impl<T: PolynomialCoefficient + for<'a> ExactDiv<&'a T, Output = T>> ExactDiv<Polynomial<T>> for &Polynomial<T>
type Output = Polynomial<T>
fn exact_div(self, rhs: Polynomial<T>) -> Polynomial<T>
fn checked_exact_div(self, rhs: Polynomial<T>) -> Option<Polynomial<T>>
sourceimpl<'a, T: PolynomialCoefficient + for<'b> ExactDiv<&'b T, Output = T>> ExactDiv<T> for &'a Polynomial<T>
impl<'a, T: PolynomialCoefficient + for<'b> ExactDiv<&'b T, Output = T>> ExactDiv<T> for &'a Polynomial<T>
type Output = Polynomial<T>
fn exact_div(self, rhs: T) -> Polynomial<T>
fn checked_exact_div(self, rhs: T) -> Option<Polynomial<T>>
sourceimpl<T: PolynomialCoefficient + for<'a> ExactDiv<&'a T, Output = T>> ExactDiv<T> for Polynomial<T>
impl<T: PolynomialCoefficient + for<'a> ExactDiv<&'a T, Output = T>> ExactDiv<T> for Polynomial<T>
type Output = Polynomial<T>
fn exact_div(self, rhs: T) -> Polynomial<T>
fn checked_exact_div(self, rhs: T) -> Option<Polynomial<T>>
sourceimpl<T: PolynomialCoefficient + for<'a> ExactDiv<&'a T, Output = T>> ExactDivAssign<&'_ Polynomial<T>> for Polynomial<T>
impl<T: PolynomialCoefficient + for<'a> ExactDiv<&'a T, Output = T>> ExactDivAssign<&'_ Polynomial<T>> for Polynomial<T>
fn exact_div_assign(&mut self, rhs: &Polynomial<T>)
fn checked_exact_div_assign(&mut self, rhs: &Polynomial<T>) -> Result<(), ()>
sourceimpl<'a, T: PolynomialCoefficient + for<'b> ExactDiv<&'b T, Output = T>> ExactDivAssign<&'a T> for Polynomial<T>
impl<'a, T: PolynomialCoefficient + for<'b> ExactDiv<&'b T, Output = T>> ExactDivAssign<&'a T> for Polynomial<T>
fn exact_div_assign(&mut self, rhs: &T)
fn checked_exact_div_assign(&mut self, rhs: &T) -> Result<(), ()>
sourceimpl<T: PolynomialCoefficient + for<'a> ExactDiv<&'a T, Output = T>> ExactDivAssign<Polynomial<T>> for Polynomial<T>
impl<T: PolynomialCoefficient + for<'a> ExactDiv<&'a T, Output = T>> ExactDivAssign<Polynomial<T>> for Polynomial<T>
fn exact_div_assign(&mut self, rhs: Polynomial<T>)
fn checked_exact_div_assign(&mut self, rhs: Polynomial<T>) -> Result<(), ()>
sourceimpl<T: PolynomialCoefficient + for<'a> ExactDiv<&'a T, Output = T>> ExactDivAssign<T> for Polynomial<T>
impl<T: PolynomialCoefficient + for<'a> ExactDiv<&'a T, Output = T>> ExactDivAssign<T> for Polynomial<T>
fn exact_div_assign(&mut self, rhs: T)
fn checked_exact_div_assign(&mut self, rhs: T) -> Result<(), ()>
sourceimpl<T> ExtendedGCD<Polynomial<T>> for Polynomial<T> where
T: PolynomialCoefficient + PolynomialDivSupported + PolynomialReducingFactorSupported,
impl<T> ExtendedGCD<Polynomial<T>> for Polynomial<T> where
T: PolynomialCoefficient + PolynomialDivSupported + PolynomialReducingFactorSupported,
fn extended_gcd(&self, rhs: &Self) -> ExtendedGCDResult<Self>
fn extended_gcd_lcm(&self, rhs: &Self) -> ExtendedGCDAndLCM<Self>
sourceimpl<T: PolynomialCoefficient> From<&'_ [T]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<&'_ [T]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<&'_ T> for Polynomial<T>
impl<T: PolynomialCoefficient> From<&'_ T> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<[T; 0]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<[T; 0]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<[T; 1]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<[T; 1]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<[T; 10]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<[T; 10]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<[T; 11]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<[T; 11]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<[T; 12]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<[T; 12]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<[T; 13]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<[T; 13]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<[T; 14]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<[T; 14]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<[T; 15]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<[T; 15]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<[T; 16]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<[T; 16]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<[T; 17]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<[T; 17]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<[T; 18]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<[T; 18]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<[T; 19]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<[T; 19]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<[T; 2]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<[T; 2]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<[T; 20]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<[T; 20]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<[T; 21]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<[T; 21]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<[T; 22]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<[T; 22]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<[T; 23]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<[T; 23]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<[T; 24]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<[T; 24]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<[T; 25]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<[T; 25]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<[T; 26]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<[T; 26]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<[T; 27]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<[T; 27]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<[T; 28]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<[T; 28]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<[T; 29]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<[T; 29]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<[T; 3]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<[T; 3]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<[T; 30]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<[T; 30]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<[T; 31]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<[T; 31]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<[T; 32]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<[T; 32]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<[T; 4]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<[T; 4]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<[T; 5]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<[T; 5]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<[T; 6]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<[T; 6]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<[T; 7]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<[T; 7]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<[T; 8]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<[T; 8]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<[T; 9]> for Polynomial<T>
impl<T: PolynomialCoefficient> From<[T; 9]> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<(Vec<<T as PolynomialCoefficient>::Element, Global>, <T as PolynomialCoefficient>::Divisor)> for Polynomial<T>
impl<T: PolynomialCoefficient> From<(Vec<<T as PolynomialCoefficient>::Element, Global>, <T as PolynomialCoefficient>::Divisor)> for Polynomial<T>
sourceimpl<'a, T: PolynomialCoefficient> From<Cow<'a, [T]>> for Polynomial<T>
impl<'a, T: PolynomialCoefficient> From<Cow<'a, [T]>> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<T> for Polynomial<T>
impl<T: PolynomialCoefficient> From<T> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> From<Vec<T, Global>> for Polynomial<T>
impl<T: PolynomialCoefficient> From<Vec<T, Global>> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> FromIterator<T> for Polynomial<T>
impl<T: PolynomialCoefficient> FromIterator<T> for Polynomial<T>
sourcefn from_iter<I: IntoIterator<Item = T>>(iter: I) -> Self
fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> Self
Creates a value from an iterator. Read more
sourceimpl<T: PolynomialCoefficient + FromPrimitive> FromPrimitive for Polynomial<T>
impl<T: PolynomialCoefficient + FromPrimitive> FromPrimitive for Polynomial<T>
sourcefn from_i8(v: i8) -> Option<Self>
fn from_i8(v: i8) -> Option<Self>
Converts an i8
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_u8(v: u8) -> Option<Self>
fn from_u8(v: u8) -> Option<Self>
Converts an u8
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_i16(v: i16) -> Option<Self>
fn from_i16(v: i16) -> Option<Self>
Converts an i16
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_u16(v: u16) -> Option<Self>
fn from_u16(v: u16) -> Option<Self>
Converts an u16
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_i32(v: i32) -> Option<Self>
fn from_i32(v: i32) -> Option<Self>
Converts an i32
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_u32(v: u32) -> Option<Self>
fn from_u32(v: u32) -> Option<Self>
Converts an u32
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_i64(v: i64) -> Option<Self>
fn from_i64(v: i64) -> Option<Self>
Converts an i64
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_u64(v: u64) -> Option<Self>
fn from_u64(v: u64) -> Option<Self>
Converts an u64
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_i128(v: i128) -> Option<Self>
fn from_i128(v: i128) -> Option<Self>
Converts an i128
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_u128(v: u128) -> Option<Self>
fn from_u128(v: u128) -> Option<Self>
Converts an u128
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_isize(v: isize) -> Option<Self>
fn from_isize(v: isize) -> Option<Self>
Converts an isize
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_usize(v: usize) -> Option<Self>
fn from_usize(v: usize) -> Option<Self>
Converts a usize
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourceimpl<T> GCD<Polynomial<T>> for Polynomial<T> where
T: PolynomialCoefficient + PolynomialDivSupported + PolynomialReducingFactorSupported,
impl<T> GCD<Polynomial<T>> for Polynomial<T> where
T: PolynomialCoefficient + PolynomialDivSupported + PolynomialReducingFactorSupported,
sourceimpl<T: Hash + PolynomialCoefficient> Hash for Polynomial<T> where
T::Element: Hash,
T::Divisor: Hash,
impl<T: Hash + PolynomialCoefficient> Hash for Polynomial<T> where
T::Element: Hash,
T::Divisor: Hash,
sourceimpl<T: PolynomialCoefficient> Into<(Vec<<T as PolynomialCoefficient>::Element, Global>, <T as PolynomialCoefficient>::Divisor)> for Polynomial<T>
impl<T: PolynomialCoefficient> Into<(Vec<<T as PolynomialCoefficient>::Element, Global>, <T as PolynomialCoefficient>::Divisor)> for Polynomial<T>
sourceimpl<T: PolynomialCoefficient> IntoIterator for Polynomial<T>
impl<T: PolynomialCoefficient> IntoIterator for Polynomial<T>
type Item = T
type Item = T
The type of the elements being iterated over.
sourceimpl<'a, T: PolynomialCoefficient> IntoIterator for &'a Polynomial<T>
impl<'a, T: PolynomialCoefficient> IntoIterator for &'a Polynomial<T>
sourceimpl<'a, T: PolynomialCoefficient> Mul<&'a Polynomial<T>> for &'a Polynomial<T>
impl<'a, T: PolynomialCoefficient> Mul<&'a Polynomial<T>> for &'a Polynomial<T>
type Output = Polynomial<T>
type Output = Polynomial<T>
The resulting type after applying the *
operator.
sourcefn mul(self, rhs: &Polynomial<T>) -> Polynomial<T>
fn mul(self, rhs: &Polynomial<T>) -> Polynomial<T>
Performs the *
operation. Read more
sourceimpl<'a, T: PolynomialCoefficient> Mul<&'a Polynomial<T>> for Polynomial<T>
impl<'a, T: PolynomialCoefficient> Mul<&'a Polynomial<T>> for Polynomial<T>
type Output = Polynomial<T>
type Output = Polynomial<T>
The resulting type after applying the *
operator.
sourcefn mul(self, rhs: &Polynomial<T>) -> Polynomial<T>
fn mul(self, rhs: &Polynomial<T>) -> Polynomial<T>
Performs the *
operation. Read more
sourceimpl<'a, T: PolynomialCoefficient> Mul<&'a T> for &'a Polynomial<T>
impl<'a, T: PolynomialCoefficient> Mul<&'a T> for &'a Polynomial<T>
type Output = Polynomial<T>
type Output = Polynomial<T>
The resulting type after applying the *
operator.
sourcefn mul(self, rhs: &T) -> Polynomial<T>
fn mul(self, rhs: &T) -> Polynomial<T>
Performs the *
operation. Read more
sourceimpl<'a, T: PolynomialCoefficient> Mul<&'a T> for Polynomial<T>
impl<'a, T: PolynomialCoefficient> Mul<&'a T> for Polynomial<T>
type Output = Polynomial<T>
type Output = Polynomial<T>
The resulting type after applying the *
operator.
sourcefn mul(self, rhs: &T) -> Polynomial<T>
fn mul(self, rhs: &T) -> Polynomial<T>
Performs the *
operation. Read more
sourceimpl<'a, T: PolynomialCoefficient> Mul<Polynomial<T>> for &'a Polynomial<T>
impl<'a, T: PolynomialCoefficient> Mul<Polynomial<T>> for &'a Polynomial<T>
type Output = Polynomial<T>
type Output = Polynomial<T>
The resulting type after applying the *
operator.
sourcefn mul(self, rhs: Polynomial<T>) -> Polynomial<T>
fn mul(self, rhs: Polynomial<T>) -> Polynomial<T>
Performs the *
operation. Read more
sourceimpl<T: PolynomialCoefficient> Mul<Polynomial<T>> for Polynomial<T>
impl<T: PolynomialCoefficient> Mul<Polynomial<T>> for Polynomial<T>
type Output = Polynomial<T>
type Output = Polynomial<T>
The resulting type after applying the *
operator.
sourcefn mul(self, rhs: Polynomial<T>) -> Polynomial<T>
fn mul(self, rhs: Polynomial<T>) -> Polynomial<T>
Performs the *
operation. Read more
sourceimpl<'a, T: PolynomialCoefficient> Mul<T> for &'a Polynomial<T>
impl<'a, T: PolynomialCoefficient> Mul<T> for &'a Polynomial<T>
type Output = Polynomial<T>
type Output = Polynomial<T>
The resulting type after applying the *
operator.
sourcefn mul(self, rhs: T) -> Polynomial<T>
fn mul(self, rhs: T) -> Polynomial<T>
Performs the *
operation. Read more
sourceimpl<T: PolynomialCoefficient> Mul<T> for Polynomial<T>
impl<T: PolynomialCoefficient> Mul<T> for Polynomial<T>
type Output = Polynomial<T>
type Output = Polynomial<T>
The resulting type after applying the *
operator.
sourcefn mul(self, rhs: T) -> Polynomial<T>
fn mul(self, rhs: T) -> Polynomial<T>
Performs the *
operation. Read more
sourceimpl<'a, T: PolynomialCoefficient> MulAssign<&'a Polynomial<T>> for Polynomial<T>
impl<'a, T: PolynomialCoefficient> MulAssign<&'a Polynomial<T>> for Polynomial<T>
sourcefn mul_assign(&mut self, rhs: &Polynomial<T>)
fn mul_assign(&mut self, rhs: &Polynomial<T>)
Performs the *=
operation. Read more
sourceimpl<'a, T: PolynomialCoefficient> MulAssign<&'a T> for Polynomial<T>
impl<'a, T: PolynomialCoefficient> MulAssign<&'a T> for Polynomial<T>
sourcefn mul_assign(&mut self, rhs: &T)
fn mul_assign(&mut self, rhs: &T)
Performs the *=
operation. Read more
sourceimpl<T: PolynomialCoefficient> MulAssign<Polynomial<T>> for Polynomial<T>
impl<T: PolynomialCoefficient> MulAssign<Polynomial<T>> for Polynomial<T>
sourcefn mul_assign(&mut self, rhs: Polynomial<T>)
fn mul_assign(&mut self, rhs: Polynomial<T>)
Performs the *=
operation. Read more
sourceimpl<T: PolynomialCoefficient> MulAssign<T> for Polynomial<T>
impl<T: PolynomialCoefficient> MulAssign<T> for Polynomial<T>
sourcefn mul_assign(&mut self, rhs: T)
fn mul_assign(&mut self, rhs: T)
Performs the *=
operation. Read more
sourceimpl<T: PolynomialCoefficient> Neg for Polynomial<T>
impl<T: PolynomialCoefficient> Neg for Polynomial<T>
type Output = Polynomial<T>
type Output = Polynomial<T>
The resulting type after applying the -
operator.
sourcefn neg(self) -> Polynomial<T>
fn neg(self) -> Polynomial<T>
Performs the unary -
operation. Read more
sourceimpl<T: PolynomialCoefficient> Neg for &Polynomial<T>
impl<T: PolynomialCoefficient> Neg for &Polynomial<T>
type Output = Polynomial<T>
type Output = Polynomial<T>
The resulting type after applying the -
operator.
sourcefn neg(self) -> Polynomial<T>
fn neg(self) -> Polynomial<T>
Performs the unary -
operation. Read more
sourceimpl<T: PolynomialCoefficient> One for Polynomial<T> where
T::Element: One,
impl<T: PolynomialCoefficient> One for Polynomial<T> where
T::Element: One,
sourceimpl<T: PartialEq + PolynomialCoefficient> PartialEq<Polynomial<T>> for Polynomial<T> where
T::Element: PartialEq,
T::Divisor: PartialEq,
impl<T: PartialEq + PolynomialCoefficient> PartialEq<Polynomial<T>> for Polynomial<T> where
T::Element: PartialEq,
T::Divisor: PartialEq,
sourcefn eq(&self, other: &Polynomial<T>) -> bool
fn eq(&self, other: &Polynomial<T>) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &Polynomial<T>) -> bool
fn ne(&self, other: &Polynomial<T>) -> bool
This method tests for !=
.
sourceimpl<T: PolynomialCoefficient<Divisor = DivisorIsOne, Element = T> + One> PolynomialCoefficient for Polynomial<T> where
T::Element: Zero + One,
impl<T: PolynomialCoefficient<Divisor = DivisorIsOne, Element = T> + One> PolynomialCoefficient for Polynomial<T> where
T::Element: Zero + One,
type Element = Polynomial<T>
type Divisor = DivisorIsOne
const NESTING_DEPTH: usize
fn is_element_zero(element: &Self::Element) -> bool
fn is_element_one(element: &Self::Element) -> bool
fn is_coefficient_zero(coefficient: &Self) -> bool
fn is_coefficient_one(coefficient: &Self) -> bool
fn set_element_zero(element: &mut Self::Element)
fn set_element_one(element: &mut Self::Element)
fn set_coefficient_zero(coefficient: &mut Self)
fn set_coefficient_one(coefficient: &mut Self)
fn make_zero_element(_element: Cow<'_, Self::Element>) -> Self::Element
fn make_one_element(element: Cow<'_, Self::Element>) -> Self::Element
fn make_zero_coefficient_from_element(_element: Cow<'_, Self::Element>) -> Self
fn make_one_coefficient_from_element(element: Cow<'_, Self::Element>) -> Self
fn make_zero_coefficient_from_coefficient(_coefficient: Cow<'_, Self>) -> Self
fn make_one_coefficient_from_coefficient(coefficient: Cow<'_, Self>) -> Self
fn negate_element(element: &mut Self::Element)
fn mul_element_by_usize(
element: Cow<'_, Self::Element>,
multiplier: usize
) -> Self::Element
fn mul_assign_element_by_usize(element: &mut Self::Element, multiplier: usize)
fn divisor_to_element(
_v: Cow<'_, Self::Divisor>,
other_element: Cow<'_, Self::Element>
) -> Self::Element
fn coefficients_to_elements(
coefficients: Cow<'_, [Self]>
) -> (Vec<Self::Element>, Self::Divisor)
fn make_coefficient(
element: Cow<'_, Self::Element>,
_divisor: Cow<'_, Self::Divisor>
) -> Self
fn reduce_divisor(_elements: &mut [Self::Element], _divisor: &mut Self::Divisor)
fn get_reduced_divisor(
elements: &[Self::Element],
_divisor: &Self::Divisor
) -> (Vec<Self::Element>, Self::Divisor)
fn coefficient_to_element(
coefficient: Cow<'_, Self>
) -> (Self::Element, Self::Divisor)
fn divisor_pow_usize(_base: Self::Divisor, _exponent: usize) -> Self::Divisor
fn element_pow_usize(base: Self::Element, exponent: usize) -> Self::Element
fn coefficient_pow_usize(base: Self, exponent: usize) -> Self
fn from_iterator<I: Iterator<Item = Self>>(iter: I) -> Polynomial<Self>
sourceimpl<T: PolynomialCoefficient, E: Integer + Clone> Pow<E> for &Polynomial<T>
impl<T: PolynomialCoefficient, E: Integer + Clone> Pow<E> for &Polynomial<T>
type Output = Polynomial<T>
type Output = Polynomial<T>
The result after applying the operator.
sourcefn pow(self, exponent: E) -> Polynomial<T>
fn pow(self, exponent: E) -> Polynomial<T>
Returns self
to the power rhs
. Read more
sourceimpl<T: PolynomialCoefficient, E: Integer + Clone> Pow<E> for Polynomial<T>
impl<T: PolynomialCoefficient, E: Integer + Clone> Pow<E> for Polynomial<T>
type Output = Polynomial<T>
type Output = Polynomial<T>
The result after applying the operator.
sourcefn pow(self, exponent: E) -> Polynomial<T>
fn pow(self, exponent: E) -> Polynomial<T>
Returns self
to the power rhs
. Read more
sourceimpl<T: PolynomialDivSupported> Rem<&'_ Polynomial<T>> for Polynomial<T>
impl<T: PolynomialDivSupported> Rem<&'_ Polynomial<T>> for Polynomial<T>
type Output = Polynomial<T>
type Output = Polynomial<T>
The resulting type after applying the %
operator.
sourcefn rem(self, rhs: &Polynomial<T>) -> Polynomial<T>
fn rem(self, rhs: &Polynomial<T>) -> Polynomial<T>
Performs the %
operation. Read more
sourceimpl<'a, 'b, T: PolynomialDivSupported> Rem<&'a Polynomial<T>> for &'b Polynomial<T>
impl<'a, 'b, T: PolynomialDivSupported> Rem<&'a Polynomial<T>> for &'b Polynomial<T>
type Output = Polynomial<T>
type Output = Polynomial<T>
The resulting type after applying the %
operator.
sourcefn rem(self, rhs: &Polynomial<T>) -> Polynomial<T>
fn rem(self, rhs: &Polynomial<T>) -> Polynomial<T>
Performs the %
operation. Read more
sourceimpl<T: PolynomialDivSupported> Rem<Polynomial<T>> for Polynomial<T>
impl<T: PolynomialDivSupported> Rem<Polynomial<T>> for Polynomial<T>
type Output = Polynomial<T>
type Output = Polynomial<T>
The resulting type after applying the %
operator.
sourcefn rem(self, rhs: Polynomial<T>) -> Polynomial<T>
fn rem(self, rhs: Polynomial<T>) -> Polynomial<T>
Performs the %
operation. Read more
sourceimpl<T: PolynomialDivSupported> Rem<Polynomial<T>> for &Polynomial<T>
impl<T: PolynomialDivSupported> Rem<Polynomial<T>> for &Polynomial<T>
type Output = Polynomial<T>
type Output = Polynomial<T>
The resulting type after applying the %
operator.
sourcefn rem(self, rhs: Polynomial<T>) -> Polynomial<T>
fn rem(self, rhs: Polynomial<T>) -> Polynomial<T>
Performs the %
operation. Read more
sourceimpl<T: PolynomialDivSupported> RemAssign<&'_ Polynomial<T>> for Polynomial<T>
impl<T: PolynomialDivSupported> RemAssign<&'_ Polynomial<T>> for Polynomial<T>
sourcefn rem_assign(&mut self, rhs: &Polynomial<T>)
fn rem_assign(&mut self, rhs: &Polynomial<T>)
Performs the %=
operation. Read more
sourceimpl<T: PolynomialDivSupported> RemAssign<Polynomial<T>> for Polynomial<T>
impl<T: PolynomialDivSupported> RemAssign<Polynomial<T>> for Polynomial<T>
sourcefn rem_assign(&mut self, rhs: Polynomial<T>)
fn rem_assign(&mut self, rhs: Polynomial<T>)
Performs the %=
operation. Read more
sourceimpl<'a, T: PolynomialCoefficient> Sub<&'a Polynomial<T>> for Polynomial<T>
impl<'a, T: PolynomialCoefficient> Sub<&'a Polynomial<T>> for Polynomial<T>
type Output = Polynomial<T>
type Output = Polynomial<T>
The resulting type after applying the -
operator.
sourcefn sub(self, rhs: &Polynomial<T>) -> Self::Output
fn sub(self, rhs: &Polynomial<T>) -> Self::Output
Performs the -
operation. Read more
sourceimpl<'a, T: PolynomialCoefficient> Sub<&'a Polynomial<T>> for &'a Polynomial<T>
impl<'a, T: PolynomialCoefficient> Sub<&'a Polynomial<T>> for &'a Polynomial<T>
sourceimpl<'a, T: PolynomialCoefficient> Sub<&'a T> for Polynomial<T>
impl<'a, T: PolynomialCoefficient> Sub<&'a T> for Polynomial<T>
sourceimpl<'a, T: PolynomialCoefficient> Sub<&'a T> for &'a Polynomial<T>
impl<'a, T: PolynomialCoefficient> Sub<&'a T> for &'a Polynomial<T>
sourceimpl<T: PolynomialCoefficient> Sub<Polynomial<T>> for Polynomial<T>
impl<T: PolynomialCoefficient> Sub<Polynomial<T>> for Polynomial<T>
type Output = Polynomial<T>
type Output = Polynomial<T>
The resulting type after applying the -
operator.
sourcefn sub(self, rhs: Polynomial<T>) -> Self::Output
fn sub(self, rhs: Polynomial<T>) -> Self::Output
Performs the -
operation. Read more
sourceimpl<'a, T: PolynomialCoefficient> Sub<Polynomial<T>> for &'a Polynomial<T>
impl<'a, T: PolynomialCoefficient> Sub<Polynomial<T>> for &'a Polynomial<T>
type Output = Polynomial<T>
type Output = Polynomial<T>
The resulting type after applying the -
operator.
sourcefn sub(self, rhs: Polynomial<T>) -> Self::Output
fn sub(self, rhs: Polynomial<T>) -> Self::Output
Performs the -
operation. Read more
sourceimpl<T: PolynomialCoefficient> Sub<T> for Polynomial<T>
impl<T: PolynomialCoefficient> Sub<T> for Polynomial<T>
sourceimpl<'a, T: PolynomialCoefficient> Sub<T> for &'a Polynomial<T>
impl<'a, T: PolynomialCoefficient> Sub<T> for &'a Polynomial<T>
sourceimpl<'a, T: PolynomialCoefficient> SubAssign<&'a Polynomial<T>> for Polynomial<T>
impl<'a, T: PolynomialCoefficient> SubAssign<&'a Polynomial<T>> for Polynomial<T>
sourcefn sub_assign(&mut self, rhs: &Polynomial<T>)
fn sub_assign(&mut self, rhs: &Polynomial<T>)
Performs the -=
operation. Read more
sourceimpl<'a, T: PolynomialCoefficient> SubAssign<&'a T> for Polynomial<T>
impl<'a, T: PolynomialCoefficient> SubAssign<&'a T> for Polynomial<T>
sourcefn sub_assign(&mut self, rhs: &T)
fn sub_assign(&mut self, rhs: &T)
Performs the -=
operation. Read more
sourceimpl<T: PolynomialCoefficient> SubAssign<Polynomial<T>> for Polynomial<T>
impl<T: PolynomialCoefficient> SubAssign<Polynomial<T>> for Polynomial<T>
sourcefn sub_assign(&mut self, rhs: Polynomial<T>)
fn sub_assign(&mut self, rhs: Polynomial<T>)
Performs the -=
operation. Read more
sourceimpl<T: PolynomialCoefficient> SubAssign<T> for Polynomial<T>
impl<T: PolynomialCoefficient> SubAssign<T> for Polynomial<T>
sourcefn sub_assign(&mut self, rhs: T)
fn sub_assign(&mut self, rhs: T)
Performs the -=
operation. Read more
sourceimpl<T: PolynomialCoefficient + ToPrimitive> ToPrimitive for Polynomial<T>
impl<T: PolynomialCoefficient + ToPrimitive> ToPrimitive for Polynomial<T>
sourcefn to_i8(&self) -> Option<i8>
fn to_i8(&self) -> Option<i8>
Converts the value of self
to an i8
. If the value cannot be
represented by an i8
, then None
is returned. Read more
sourcefn to_u8(&self) -> Option<u8>
fn to_u8(&self) -> Option<u8>
Converts the value of self
to a u8
. If the value cannot be
represented by a u8
, then None
is returned. Read more
sourcefn to_i16(&self) -> Option<i16>
fn to_i16(&self) -> Option<i16>
Converts the value of self
to an i16
. If the value cannot be
represented by an i16
, then None
is returned. Read more
sourcefn to_u16(&self) -> Option<u16>
fn to_u16(&self) -> Option<u16>
Converts the value of self
to a u16
. If the value cannot be
represented by a u16
, then None
is returned. Read more
sourcefn to_i32(&self) -> Option<i32>
fn to_i32(&self) -> Option<i32>
Converts the value of self
to an i32
. If the value cannot be
represented by an i32
, then None
is returned. Read more
sourcefn to_u32(&self) -> Option<u32>
fn to_u32(&self) -> Option<u32>
Converts the value of self
to a u32
. If the value cannot be
represented by a u32
, then None
is returned. Read more
sourcefn to_i64(&self) -> Option<i64>
fn to_i64(&self) -> Option<i64>
Converts the value of self
to an i64
. If the value cannot be
represented by an i64
, then None
is returned. Read more
sourcefn to_u64(&self) -> Option<u64>
fn to_u64(&self) -> Option<u64>
Converts the value of self
to a u64
. If the value cannot be
represented by a u64
, then None
is returned. Read more
sourcefn to_i128(&self) -> Option<i128>
fn to_i128(&self) -> Option<i128>
Converts the value of self
to an i128
. If the value cannot be
represented by an i128
(i64
under the default implementation), then
None
is returned. Read more
sourcefn to_u128(&self) -> Option<u128>
fn to_u128(&self) -> Option<u128>
Converts the value of self
to a u128
. If the value cannot be
represented by a u128
(u64
under the default implementation), then
None
is returned. Read more
sourcefn to_isize(&self) -> Option<isize>
fn to_isize(&self) -> Option<isize>
Converts the value of self
to an isize
. If the value cannot be
represented by an isize
, then None
is returned. Read more
sourcefn to_usize(&self) -> Option<usize>
fn to_usize(&self) -> Option<usize>
Converts the value of self
to a usize
. If the value cannot be
represented by a usize
, then None
is returned. Read more
sourceimpl<T: PolynomialCoefficient> Zero for Polynomial<T>
impl<T: PolynomialCoefficient> Zero for Polynomial<T>
impl<T: Eq + PolynomialCoefficient> Eq for Polynomial<T> where
T::Element: Eq,
T::Divisor: Eq,
impl<T: PolynomialCoefficient> StructuralEq for Polynomial<T>
impl<T: PolynomialCoefficient> StructuralPartialEq for Polynomial<T>
Auto Trait Implementations
impl<T> RefUnwindSafe for Polynomial<T> where
<T as PolynomialCoefficient>::Divisor: RefUnwindSafe,
<T as PolynomialCoefficient>::Element: RefUnwindSafe,
impl<T> Send for Polynomial<T> where
<T as PolynomialCoefficient>::Divisor: Send,
<T as PolynomialCoefficient>::Element: Send,
impl<T> Sync for Polynomial<T> where
<T as PolynomialCoefficient>::Divisor: Sync,
<T as PolynomialCoefficient>::Element: Sync,
impl<T> Unpin for Polynomial<T> where
<T as PolynomialCoefficient>::Divisor: Unpin,
<T as PolynomialCoefficient>::Element: Unpin,
impl<T> UnwindSafe for Polynomial<T> where
<T as PolynomialCoefficient>::Divisor: UnwindSafe,
<T as PolynomialCoefficient>::Element: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more