[−][src]Struct series::poly::Polynomial
Laurent polynomial in a single variable
Methods
impl<Var, C: Coeff> Polynomial<Var, C>
[src]
pub fn new(var: Var, min_pow: isize, coeffs: Vec<C>) -> Polynomial<Var, C>
[src]
Create a new Laurent polynomial
Example
This creates a Laurent polynomial in the variable "x", starting at "x"^-1 with coefficients 1, 2, 3. In other words, the polynomial x^-1 + 2 + 3*x.
let p = series::Polynomial::new("x", -1, vec!(1,2,3));
pub fn var(&self) -> &Var
[src]
Get the polynomial variable
Example
let p = series::Polynomial::new("x", -1, vec!(1,2,3)); assert_eq!(p.var(), &"x");
pub fn coeff(&self, pow: isize) -> &C
[src]
Get the coefficient of the polynomial variable to the given power.
Example
let p = series::Polynomial::new("x", -1, vec!(1,2,3)); assert_eq!(p.coeff(-5), &0); assert_eq!(p.coeff(-2), &0); assert_eq!(p.coeff(-1), &1); assert_eq!(p.coeff(0), &2); assert_eq!(p.coeff(1), &3); assert_eq!(p.coeff(2), &0); assert_eq!(p.coeff(5), &0);
pub fn min_pow(&self) -> Option<isize>
[src]
Get the leading power of the polynomial variable
For vanishing polynomials None
is returned
Example
let p = series::Polynomial::new("x", -1, vec!(1,2,3)); assert_eq!(p.min_pow(), Some(-1)); let p = series::Polynomial::new("x", -1, vec![0]); assert_eq!(p.min_pow(), None);
pub fn max_pow(&self) -> Option<isize>
[src]
Get the highest power of the polynomial variable
For vanishing polynomials None
is returned
Example
let p = series::Polynomial::new("x", -1, vec!(1,2,3)); assert_eq!(p.max_pow(), Some(1)); let p = series::Polynomial::new("x", -1, vec![0]); assert_eq!(p.max_pow(), None);
pub fn len(&self) -> usize
[src]
Get the difference between the highest and the lowest power of the polynomial variable
Example
let p = series::Polynomial::new("x", -1, vec!(1,2,3)); assert_eq!(p.len(), 3);
pub fn is_empty(&self) -> bool
[src]
Check if the polynomial is zero
Example
let p = series::Polynomial::new("x", -1, vec!(1,2,3)); assert!(!p.is_empty()); let p = series::Polynomial::new("x", -1, vec!(0)); assert!(p.is_empty());
pub fn iter(&self) -> Iter<C>
[src]
Iterator over the polynomial powers and coefficients.
Example
let p = series::Polynomial::new("x", -1, vec!(1,2,3)); let mut iter = p.iter(); assert_eq!(iter.next(), Some((-1, &1))); assert_eq!(iter.next(), Some((0, &2))); assert_eq!(iter.next(), Some((1, &3))); assert_eq!(iter.next(), None);
pub fn cutoff_at(self, cutoff_pow: isize) -> Series<Var, C>
[src]
Turn a polynomial into a series with the given cutoff
Example
let p = series::Polynomial::new("x", -1, vec!(1,2,3)); let s = series::Series::with_cutoff("x", -1, 5, vec!(1,2,3)); assert_eq!(p.cutoff_at(5), s);
Trait Implementations
impl<Var: Clone, C: Coeff + Clone, Rhs> Add<Rhs> for Polynomial<Var, C> where
Polynomial<Var, C>: AddAssign<Rhs>,
[src]
Polynomial<Var, C>: AddAssign<Rhs>,
type Output = Polynomial<Var, C>
The resulting type after applying the +
operator.
fn add(self, other: Rhs) -> Self::Output
[src]
impl<'a, Var, C: Coeff, T> Add<T> for &'a Polynomial<Var, C> where
PolynomialSlice<'a, Var, C>: Add<T, Output = Polynomial<Var, C>>,
[src]
PolynomialSlice<'a, Var, C>: Add<T, Output = Polynomial<Var, C>>,
type Output = Polynomial<Var, C>
The resulting type after applying the +
operator.
fn add(self, other: T) -> Self::Output
[src]
impl<'a, Var, C: Coeff> AddAssign<&'a C> for Polynomial<Var, C> where
Polynomial<Var, C>: AddAssign,
C: Clone + AddAssign<&'a C>,
[src]
Polynomial<Var, C>: AddAssign,
C: Clone + AddAssign<&'a C>,
fn add_assign(&mut self, other: &'a C)
[src]
impl<'a, Var: PartialEq + Debug, C: Coeff + Clone> AddAssign<&'a Polynomial<Var, C>> for Polynomial<Var, C> where
C: AddAssign<&'c C>,
[src]
C: AddAssign<&'c C>,
fn add_assign(&mut self, other: &'a Polynomial<Var, C>)
[src]
Set p = p + q for two Laurent polynomials p and q
Example
use series::Polynomial; let mut p = Polynomial::new("x", -3, vec!(1.,0.,-3.)); let q = Polynomial::new("x", -1, vec!(3., 4., 5.)); let res = Polynomial::new("x", -3, vec!(1.,0.,0.,4.,5.)); p += &q; assert_eq!(res, p);
Panics
Panics if the polynomials have different expansion variables.
impl<Var, C: Coeff> AddAssign<C> for Polynomial<Var, C> where
Polynomial<Var, C>: AddAssign<&'c C>,
[src]
Polynomial<Var, C>: AddAssign<&'c C>,
fn add_assign(&mut self, other: C)
[src]
impl<Var, C: Coeff> AddAssign<Polynomial<Var, C>> for Polynomial<Var, C> where
C: AddAssign<&'c C>,
Var: PartialEq + Debug,
C: Clone + AddAssign,
[src]
C: AddAssign<&'c C>,
Var: PartialEq + Debug,
C: Clone + AddAssign,
fn add_assign(&mut self, other: Polynomial<Var, C>)
[src]
Set p = p + q for two polynomial p and q
Example
use series::Polynomial; let mut p = Polynomial::new("x", -3, vec!(1.,0.,-3.)); let q = Polynomial::new("x", -1, vec!(3., 4., 5.)); let res = Polynomial::new("x", -3, vec!(1.,0.,0.,4.,5.)); p += q; assert_eq!(res, p);
Panics
Panics if the polynomials have different expansion variables.
impl<'a, Var: PartialEq + Debug, C: Coeff + Clone> AddAssign<PolynomialSlice<'a, Var, C>> for Polynomial<Var, C> where
C: AddAssign<&'c C>,
[src]
C: AddAssign<&'c C>,
fn add_assign(&mut self, other: PolynomialSlice<'a, Var, C>)
[src]
impl<'a, Var: 'a, C: 'a + Coeff> AsSlice<'a, Range<isize>> for Polynomial<Var, C>
[src]
type Output = PolynomialSlice<'a, Var, C>
fn as_slice(&'a self, r: Range<isize>) -> Self::Output
[src]
impl<'a, Var: 'a, C: 'a + Coeff> AsSlice<'a, RangeFrom<isize>> for Polynomial<Var, C>
[src]
type Output = PolynomialSlice<'a, Var, C>
fn as_slice(&'a self, r: RangeFrom<isize>) -> Self::Output
[src]
impl<'a, Var: 'a, C: 'a + Coeff> AsSlice<'a, RangeFull> for Polynomial<Var, C>
[src]
impl<'a, Var: 'a, C: 'a + Coeff> AsSlice<'a, RangeInclusive<isize>> for Polynomial<Var, C>
[src]
type Output = PolynomialSlice<'a, Var, C>
fn as_slice(&'a self, r: RangeInclusive<isize>) -> Self::Output
[src]
impl<'a, Var: 'a, C: 'a + Coeff> AsSlice<'a, RangeTo<isize>> for Polynomial<Var, C>
[src]
type Output = PolynomialSlice<'a, Var, C>
fn as_slice(&'a self, r: RangeTo<isize>) -> Self::Output
[src]
impl<'a, Var: 'a, C: 'a + Coeff> AsSlice<'a, RangeToInclusive<isize>> for Polynomial<Var, C>
[src]
type Output = PolynomialSlice<'a, Var, C>
fn as_slice(&'a self, r: RangeToInclusive<isize>) -> Self::Output
[src]
impl<Var: Clone, C: Clone + Coeff> Clone for Polynomial<Var, C>
[src]
fn clone(&self) -> Polynomial<Var, C>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<Var: Debug, C: Debug + Coeff> Debug for Polynomial<Var, C>
[src]
impl<Var: Display, C: Coeff + Display> Display for Polynomial<Var, C>
[src]
impl<'a, Var, C: Coeff> Div<&'a C> for Polynomial<Var, C> where
C: DivAssign<&'c C>,
[src]
C: DivAssign<&'c C>,
type Output = Polynomial<Var, C>
The resulting type after applying the /
operator.
fn div(self, other: &'a C) -> Self::Output
[src]
impl<Var, C: Coeff> Div<C> for Polynomial<Var, C> where
C: DivAssign<&'c C>,
[src]
C: DivAssign<&'c C>,
type Output = Polynomial<Var, C>
The resulting type after applying the /
operator.
fn div(self, other: C) -> Self::Output
[src]
impl<'a, Var, C: Coeff, T> Div<T> for &'a Polynomial<Var, C> where
PolynomialSlice<'a, Var, C>: Div<T, Output = Polynomial<Var, C>>,
[src]
PolynomialSlice<'a, Var, C>: Div<T, Output = Polynomial<Var, C>>,
type Output = Polynomial<Var, C>
The resulting type after applying the /
operator.
fn div(self, other: T) -> Self::Output
[src]
impl<'a, Var, C: Coeff> DivAssign<&'a C> for Polynomial<Var, C> where
C: DivAssign<&'a C>,
[src]
C: DivAssign<&'a C>,
fn div_assign(&mut self, other: &'a C)
[src]
Divide each monomial by a factor
Example
use series::Polynomial; let mut p = Polynomial::new("x", -3, vec!(1.,0.,-3.)); p /= &2.; let res = Polynomial::new("x", -3, vec!(0.5,0.,-1.5)); assert_eq!(res, p);
impl<Var, C: Coeff> DivAssign<C> for Polynomial<Var, C> where
C: DivAssign<&'a C>,
[src]
C: DivAssign<&'a C>,
fn div_assign(&mut self, other: C)
[src]
Divide each monomial by a factor
Example
use series::Polynomial; let mut p = Polynomial::new("x", -3, vec!(1.,0.,-3.)); p /= 2.; let res = Polynomial::new("x", -3, vec!(0.5,0.,-1.5)); assert_eq!(res, p);
impl<Var: Eq, C: Eq + Coeff> Eq for Polynomial<Var, C>
[src]
impl<Var, C: Coeff> From<Polynomial<Var, C>> for PolynomialParts<Var, C>
[src]
fn from(p: Polynomial<Var, C>) -> Self
[src]
impl<'a, Var: Clone, C: Coeff + Clone> From<PolynomialSlice<'a, Var, C>> for Polynomial<Var, C>
[src]
fn from(s: PolynomialSlice<'a, Var, C>) -> Polynomial<Var, C>
[src]
impl<Var, C: Coeff> From<Series<Var, C>> for Polynomial<Var, C>
[src]
impl<Var: Hash, C: Hash + Coeff> Hash for Polynomial<Var, C>
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl<Var, C: Coeff> Index<isize> for Polynomial<Var, C>
[src]
type Output = C
The returned type after indexing.
fn index(&self, index: isize) -> &Self::Output
[src]
Get the coefficient of the polynomial variable to the given power.
Panics
Panics if the index is smaller than the leading power or bigger than the highest power
Example
let p = series::Polynomial::new("x", -1, vec!(1,2,3)); assert_eq!(p[-1], 1); assert_eq!(p[0], 2); assert_eq!(p[1], 3); assert!(std::panic::catch_unwind(|| p[-2]).is_err()); assert!(std::panic::catch_unwind(|| p[2]).is_err());
impl<Var, C: Coeff> IntoIterator for Polynomial<Var, C>
[src]
type Item = (isize, C)
The type of the elements being iterated over.
type IntoIter = IntoIter<C>
Which kind of iterator are we turning this into?
fn into_iter(self) -> IntoIter<C>
[src]
Consuming iterator over the polynomial powers and coefficients.
Example
let p = series::Polynomial::new("x", -1, vec!(1,2,3)); let mut iter = p.into_iter(); assert_eq!(iter.next(), Some((-1, 1))); assert_eq!(iter.next(), Some((0, 2))); assert_eq!(iter.next(), Some((1, 3))); assert_eq!(iter.next(), None);
impl<'a, 'b, Var: Clone, C: Coeff> KaratsubaMul<&'b Polynomial<Var, C>> for PolynomialSlice<'a, Var, C> where
Var: Clone + PartialEq + Debug,
C: Clone,
C: AddAssign,
Polynomial<Var, C>: AddAssign<&'c Polynomial<Var, C>> + SubAssign<&'c Polynomial<Var, C>>,
Polynomial<Var, C>: AddAssign<Polynomial<Var, C>> + SubAssign<Polynomial<Var, C>>,
PolynomialSlice<'c, Var, C>: Add<Output = Polynomial<Var, C>>,
&'c C: Mul<Output = C>,
[src]
Var: Clone + PartialEq + Debug,
C: Clone,
C: AddAssign,
Polynomial<Var, C>: AddAssign<&'c Polynomial<Var, C>> + SubAssign<&'c Polynomial<Var, C>>,
Polynomial<Var, C>: AddAssign<Polynomial<Var, C>> + SubAssign<Polynomial<Var, C>>,
PolynomialSlice<'c, Var, C>: Add<Output = Polynomial<Var, C>>,
&'c C: Mul<Output = C>,
type Output = Polynomial<Var, C>
fn karatsuba_mul(
self,
rhs: &'b Polynomial<Var, C>,
min_size: usize
) -> Self::Output
[src]
self,
rhs: &'b Polynomial<Var, C>,
min_size: usize
) -> Self::Output
impl<'a, 'b, Var: Clone, C: Coeff> KaratsubaMul<&'b Polynomial<Var, C>> for &'a Polynomial<Var, C> where
Var: Clone + PartialEq + Debug,
C: Clone,
C: AddAssign,
Polynomial<Var, C>: AddAssign<&'c Polynomial<Var, C>> + SubAssign<&'c Polynomial<Var, C>>,
Polynomial<Var, C>: AddAssign<Polynomial<Var, C>> + SubAssign<Polynomial<Var, C>>,
PolynomialSlice<'c, Var, C>: Add<Output = Polynomial<Var, C>>,
&'c C: Mul<Output = C>,
[src]
Var: Clone + PartialEq + Debug,
C: Clone,
C: AddAssign,
Polynomial<Var, C>: AddAssign<&'c Polynomial<Var, C>> + SubAssign<&'c Polynomial<Var, C>>,
Polynomial<Var, C>: AddAssign<Polynomial<Var, C>> + SubAssign<Polynomial<Var, C>>,
PolynomialSlice<'c, Var, C>: Add<Output = Polynomial<Var, C>>,
&'c C: Mul<Output = C>,
type Output = Polynomial<Var, C>
fn karatsuba_mul(
self,
rhs: &'b Polynomial<Var, C>,
min_size: usize
) -> Self::Output
[src]
self,
rhs: &'b Polynomial<Var, C>,
min_size: usize
) -> Self::Output
impl<'a, 'b, Var: Clone, C: Coeff> KaratsubaMul<PolynomialSlice<'b, Var, C>> for &'a Polynomial<Var, C> where
Var: Clone + PartialEq + Debug,
C: Clone,
C: AddAssign,
Polynomial<Var, C>: AddAssign<&'c Polynomial<Var, C>> + SubAssign<&'c Polynomial<Var, C>>,
Polynomial<Var, C>: AddAssign<Polynomial<Var, C>> + SubAssign<Polynomial<Var, C>>,
PolynomialSlice<'c, Var, C>: Add<Output = Polynomial<Var, C>>,
&'c C: Mul<Output = C>,
[src]
Var: Clone + PartialEq + Debug,
C: Clone,
C: AddAssign,
Polynomial<Var, C>: AddAssign<&'c Polynomial<Var, C>> + SubAssign<&'c Polynomial<Var, C>>,
Polynomial<Var, C>: AddAssign<Polynomial<Var, C>> + SubAssign<Polynomial<Var, C>>,
PolynomialSlice<'c, Var, C>: Add<Output = Polynomial<Var, C>>,
&'c C: Mul<Output = C>,
type Output = Polynomial<Var, C>
fn karatsuba_mul(
self,
rhs: PolynomialSlice<'b, Var, C>,
min_size: usize
) -> Self::Output
[src]
self,
rhs: PolynomialSlice<'b, Var, C>,
min_size: usize
) -> Self::Output
impl<'a, Var, C: Coeff> Mul<&'a C> for Polynomial<Var, C> where
C: MulAssign<&'c C>,
[src]
C: MulAssign<&'c C>,
type Output = Polynomial<Var, C>
The resulting type after applying the *
operator.
fn mul(self, other: &'a C) -> Self::Output
[src]
impl<'a, Var, C: Coeff> Mul<&'a Polynomial<Var, C>> for Polynomial<Var, C> where
Polynomial<Var, C>: MulAssign<PolynomialSlice<'a, Var, C>>,
[src]
Polynomial<Var, C>: MulAssign<PolynomialSlice<'a, Var, C>>,
type Output = Polynomial<Var, C>
The resulting type after applying the *
operator.
fn mul(self, other: &'a Polynomial<Var, C>) -> Self::Output
[src]
impl<'a, 'b, Var, C: Coeff> Mul<&'b Polynomial<Var, C>> for PolynomialSlice<'a, Var, C> where
PolynomialSlice<'a, Var, C>: Mul<PolynomialSlice<'b, Var, C>, Output = Polynomial<Var, C>>,
[src]
PolynomialSlice<'a, Var, C>: Mul<PolynomialSlice<'b, Var, C>, Output = Polynomial<Var, C>>,
type Output = Polynomial<Var, C>
The resulting type after applying the *
operator.
fn mul(self, other: &'b Polynomial<Var, C>) -> Self::Output
[src]
impl<Var, C: Coeff> Mul<C> for Polynomial<Var, C> where
C: MulAssign<&'c C>,
[src]
C: MulAssign<&'c C>,
type Output = Polynomial<Var, C>
The resulting type after applying the *
operator.
fn mul(self, other: C) -> Self::Output
[src]
impl<'a, Var, C: Coeff> Mul<Polynomial<Var, C>> for PolynomialSlice<'a, Var, C> where
PolynomialSlice<'a, Var, C>: Mul<PolynomialSlice<'b, Var, C>, Output = Polynomial<Var, C>>,
[src]
PolynomialSlice<'a, Var, C>: Mul<PolynomialSlice<'b, Var, C>, Output = Polynomial<Var, C>>,
type Output = Polynomial<Var, C>
The resulting type after applying the *
operator.
fn mul(self, other: Polynomial<Var, C>) -> Self::Output
[src]
impl<Var, C: Coeff> Mul<Polynomial<Var, C>> for Polynomial<Var, C> where
Polynomial<Var, C>: MulAssign,
[src]
Polynomial<Var, C>: MulAssign,
type Output = Polynomial<Var, C>
The resulting type after applying the *
operator.
fn mul(self, other: Polynomial<Var, C>) -> Self::Output
[src]
impl<'a, Var, C: Coeff> Mul<PolynomialSlice<'a, Var, C>> for Polynomial<Var, C> where
Polynomial<Var, C>: MulAssign<PolynomialSlice<'a, Var, C>>,
[src]
Polynomial<Var, C>: MulAssign<PolynomialSlice<'a, Var, C>>,
type Output = Polynomial<Var, C>
The resulting type after applying the *
operator.
fn mul(self, other: PolynomialSlice<'a, Var, C>) -> Self::Output
[src]
impl<'a, Var, C: Coeff, T> Mul<T> for &'a Polynomial<Var, C> where
PolynomialSlice<'a, Var, C>: Mul<T, Output = Polynomial<Var, C>>,
[src]
PolynomialSlice<'a, Var, C>: Mul<T, Output = Polynomial<Var, C>>,
type Output = Polynomial<Var, C>
The resulting type after applying the *
operator.
fn mul(self, other: T) -> Self::Output
[src]
impl<'a, Var, C: Coeff> MulAssign<&'a C> for Polynomial<Var, C> where
C: MulAssign<&'a C>,
[src]
C: MulAssign<&'a C>,
fn mul_assign(&mut self, other: &'a C)
[src]
Multiply each monomial by a factor
Example
use series::Polynomial; let mut p = Polynomial::new("x", -3, vec!(1.,0.,-3.)); p *= &2.; let res = Polynomial::new("x", -3, vec!(2.,0.,-6.)); assert_eq!(res, p);
impl<'a, Var: PartialEq + Debug, C: Coeff + Clone + AddAssign> MulAssign<&'a Polynomial<Var, C>> for Polynomial<Var, C> where
Polynomial<Var, C>: MulAssign<PolynomialSlice<'a, Var, C>>,
[src]
Polynomial<Var, C>: MulAssign<PolynomialSlice<'a, Var, C>>,
fn mul_assign(&mut self, other: &'a Polynomial<Var, C>)
[src]
impl<Var, C: Coeff> MulAssign<C> for Polynomial<Var, C> where
C: MulAssign<&'a C>,
[src]
C: MulAssign<&'a C>,
fn mul_assign(&mut self, other: C)
[src]
Multiply each monomial by a factor
Example
use series::Polynomial; let mut p = Polynomial::new("x", -3, vec!(1.,0.,-3.)); p *= 2.; let res = Polynomial::new("x", -3, vec!(2.,0.,-6.)); assert_eq!(res, p);
impl<Var, C: Coeff> MulAssign<Polynomial<Var, C>> for Polynomial<Var, C> where
Polynomial<Var, C>: MulAssign<&'a Polynomial<Var, C>>,
[src]
Polynomial<Var, C>: MulAssign<&'a Polynomial<Var, C>>,
fn mul_assign(&mut self, other: Polynomial<Var, C>)
[src]
impl<'a, Var, C: Coeff> MulAssign<PolynomialSlice<'a, Var, C>> for Polynomial<Var, C> where
PolynomialSlice<'b, Var, C>: Mul<PolynomialSlice<'a, Var, C>, Output = Polynomial<Var, C>>,
[src]
PolynomialSlice<'b, Var, C>: Mul<PolynomialSlice<'a, Var, C>, Output = Polynomial<Var, C>>,
fn mul_assign(&mut self, other: PolynomialSlice<'a, Var, C>)
[src]
impl<Var, C: Coeff + Neg<Output = C>> Neg for Polynomial<Var, C>
[src]
type Output = Polynomial<Var, C>
The resulting type after applying the -
operator.
fn neg(self) -> Self::Output
[src]
Compute -p for a Laurent polynomial p
Example
let p = series::Polynomial::new("x", -3, vec!(1.,0.,-3.)); let minus_p = series::Polynomial::new("x", -3, vec!(-1.,0.,3.)); assert_eq!(-p, minus_p);
impl<'a, Var: Clone, C: Coeff> Neg for &'a Polynomial<Var, C> where
PolynomialSlice<'a, Var, C>: Neg,
[src]
PolynomialSlice<'a, Var, C>: Neg,
type Output = <PolynomialSlice<'a, Var, C> as Neg>::Output
The resulting type after applying the -
operator.
fn neg(self) -> Self::Output
[src]
Compute -p for a Laurent polynomial p
Example
let p = series::Polynomial::new("x", -3, vec!(1.,0.,-3.)); let minus_p = series::Polynomial::new("x", -3, vec!(-1.,0.,3.)); assert_eq!(-&p, minus_p);
impl<Var: Ord, C: Ord + Coeff> Ord for Polynomial<Var, C>
[src]
fn cmp(&self, other: &Polynomial<Var, C>) -> Ordering
[src]
#[must_use]
fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]
fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]
fn clamp(self, min: Self, max: Self) -> Self
[src]
impl<Var: PartialEq, C: PartialEq + Coeff> PartialEq<Polynomial<Var, C>> for Polynomial<Var, C>
[src]
fn eq(&self, other: &Polynomial<Var, C>) -> bool
[src]
fn ne(&self, other: &Polynomial<Var, C>) -> bool
[src]
impl<Var: PartialOrd, C: PartialOrd + Coeff> PartialOrd<Polynomial<Var, C>> for Polynomial<Var, C>
[src]
fn partial_cmp(&self, other: &Polynomial<Var, C>) -> Option<Ordering>
[src]
fn lt(&self, other: &Polynomial<Var, C>) -> bool
[src]
fn le(&self, other: &Polynomial<Var, C>) -> bool
[src]
fn gt(&self, other: &Polynomial<Var, C>) -> bool
[src]
fn ge(&self, other: &Polynomial<Var, C>) -> bool
[src]
impl<Var, C: Coeff> StructuralEq for Polynomial<Var, C>
[src]
impl<Var, C: Coeff> StructuralPartialEq for Polynomial<Var, C>
[src]
impl<Var, C: Coeff, T> Sub<T> for Polynomial<Var, C> where
Polynomial<Var, C>: SubAssign<T>,
[src]
Polynomial<Var, C>: SubAssign<T>,
type Output = Polynomial<Var, C>
The resulting type after applying the -
operator.
fn sub(self, other: T) -> Self::Output
[src]
impl<'a, Var, C: Coeff, T> Sub<T> for &'a Polynomial<Var, C> where
PolynomialSlice<'a, Var, C>: Sub<T, Output = Polynomial<Var, C>>,
[src]
PolynomialSlice<'a, Var, C>: Sub<T, Output = Polynomial<Var, C>>,
type Output = Polynomial<Var, C>
The resulting type after applying the -
operator.
fn sub(self, other: T) -> Self::Output
[src]
impl<'a, Var, C: Coeff> SubAssign<&'a Polynomial<Var, C>> for Polynomial<Var, C> where
&'c Polynomial<Var, C>: Neg<Output = Polynomial<Var, C>>,
Polynomial<Var, C>: AddAssign<Polynomial<Var, C>>,
[src]
&'c Polynomial<Var, C>: Neg<Output = Polynomial<Var, C>>,
Polynomial<Var, C>: AddAssign<Polynomial<Var, C>>,
fn sub_assign(&mut self, other: &'a Polynomial<Var, C>)
[src]
impl<'c, Var, C: Coeff> SubAssign<&'c C> for Polynomial<Var, C> where
Polynomial<Var, C>: AddAssign<C>,
C: AddAssign,
&'c C: Neg<Output = C>,
[src]
Polynomial<Var, C>: AddAssign<C>,
C: AddAssign,
&'c C: Neg<Output = C>,
fn sub_assign(&mut self, other: &'c C)
[src]
impl<Var, C: Coeff> SubAssign<C> for Polynomial<Var, C> where
Polynomial<Var, C>: AddAssign<C>,
C: Neg<Output = C> + AddAssign,
[src]
Polynomial<Var, C>: AddAssign<C>,
C: Neg<Output = C> + AddAssign,
fn sub_assign(&mut self, other: C)
[src]
impl<Var, C: Coeff> SubAssign<Polynomial<Var, C>> for Polynomial<Var, C> where
Polynomial<Var, C>: AddAssign + Neg<Output = Polynomial<Var, C>>,
[src]
Polynomial<Var, C>: AddAssign + Neg<Output = Polynomial<Var, C>>,
fn sub_assign(&mut self, other: Polynomial<Var, C>)
[src]
impl<'a, Var, C: Coeff> SubAssign<PolynomialSlice<'a, Var, C>> for Polynomial<Var, C> where
PolynomialSlice<'c, Var, C>: Neg<Output = Polynomial<Var, C>>,
Polynomial<Var, C>: AddAssign<Polynomial<Var, C>>,
[src]
PolynomialSlice<'c, Var, C>: Neg<Output = Polynomial<Var, C>>,
Polynomial<Var, C>: AddAssign<Polynomial<Var, C>>,
fn sub_assign(&mut self, other: PolynomialSlice<'a, Var, C>)
[src]
Auto Trait Implementations
impl<Var, C> RefUnwindSafe for Polynomial<Var, C> where
C: RefUnwindSafe,
Var: RefUnwindSafe,
C: RefUnwindSafe,
Var: RefUnwindSafe,
impl<Var, C> Send for Polynomial<Var, C> where
C: Send,
Var: Send,
C: Send,
Var: Send,
impl<Var, C> Sync for Polynomial<Var, C> where
C: Sync,
Var: Sync,
C: Sync,
Var: Sync,
impl<Var, C> Unpin for Polynomial<Var, C> where
C: Unpin,
Var: Unpin,
C: Unpin,
Var: Unpin,
impl<Var, C> UnwindSafe for Polynomial<Var, C> where
C: UnwindSafe,
Var: UnwindSafe,
C: UnwindSafe,
Var: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<I> IntoIterator for I where
I: Iterator,
[src]
I: Iterator,
type Item = <I as Iterator>::Item
The type of the elements being iterated over.
type IntoIter = I
Which kind of iterator are we turning this into?
fn into_iter(self) -> I
[src]
impl<T, Rhs> NumAssignOps<Rhs> for T where
T: AddAssign<Rhs> + SubAssign<Rhs> + MulAssign<Rhs> + DivAssign<Rhs> + RemAssign<Rhs>,
[src]
T: AddAssign<Rhs> + SubAssign<Rhs> + MulAssign<Rhs> + DivAssign<Rhs> + RemAssign<Rhs>,
impl<T, Rhs, Output> NumOps<Rhs, Output> for T where
T: Sub<Rhs, Output = Output> + Mul<Rhs, Output = Output> + Div<Rhs, Output = Output> + Add<Rhs, Output = Output> + Rem<Rhs, Output = Output>,
[src]
T: Sub<Rhs, Output = Output> + Mul<Rhs, Output = Output> + Div<Rhs, Output = Output> + Add<Rhs, Output = Output> + Rem<Rhs, Output = Output>,
impl<T, Base> RefNum<Base> for T where
T: NumOps<Base, Base> + NumOps<&'r Base, Base>,
[src]
T: NumOps<Base, Base> + NumOps<&'r Base, Base>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,