[−][src]Struct series::slice::SeriesSlice
View into a Laurent series
Methods
impl<'a, Var, C: Coeff> SeriesSlice<'a, Var, C>
[src]
pub fn min_pow(&self) -> isize
[src]
Get the leading power of the series expansion variable
Example
use series::AsSlice; let s = series::Series::new("x", -1, vec![1,2,3]); assert_eq!(s.as_slice(..).min_pow(), -1); assert_eq!(s.as_slice(0..).min_pow(), 0);
pub fn cutoff_pow(&self) -> isize
[src]
Get the power of the expansion variable where the slice is truncated.
Example
use series::AsSlice; let s = series::Series::new("x", -1, vec!(1,2,3)); assert_eq!(s.as_slice(..).cutoff_pow(), 2); assert_eq!(s.as_slice(..1).cutoff_pow(), 1);
pub fn coeff(&self, pow: isize) -> Option<&C>
[src]
Get the series coefficient of the expansion variable to the given power.
Returns None if the requested power is above the highest known power. Coefficients below the leading power are zero.
Example
use series::AsSlice; let s = series::Series::new("x", -1, vec!(1,2,3)); let slice = s.as_slice(..); assert_eq!(slice.coeff(-5), Some(&0)); assert_eq!(slice.coeff(-2), Some(&0)); assert_eq!(slice.coeff(-1), Some(&1)); assert_eq!(slice.coeff(0), Some(&2)); assert_eq!(slice.coeff(1), Some(&3)); assert_eq!(slice.coeff(2), None); assert_eq!(slice.coeff(5), None);
pub fn iter(&self) -> Iter<C>
[src]
Iterator over the series powers and coefficients.
Example
use series::AsSlice; let s = series::Series::new("x", -1, vec!(1,2,3)); let slice = s.as_slice(..); let mut iter = slice.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 split_at(&self, pos: isize) -> (Self, Self)
[src]
Split a series slice into two at the given power of the expansion variable.
Example
use series::AsSlice; let s = series::Series::new("x", -1, vec!(1,2,3)); let (lower, upper) = s.as_slice(..).split_at(0); assert_eq!(lower.min_pow(), -1); assert_eq!(upper.min_pow(), 0);
pub fn as_poly(&self) -> PolynomialSlice<'a, Var, C>
[src]
View as polynomial slice
Example
use series::AsSlice; let s = series::Series::new("x", -1, vec!(1,2,3)); let slice = s.as_slice(..).as_poly(); let p = series::Polynomial::from(s.clone()); assert_eq!(slice, p.as_slice(..));
Trait Implementations
impl<'a, Var: Clone, C: Coeff + Clone, Rhs> Add<Rhs> for SeriesSlice<'a, Var, C> where
Series<Var, C>: AddAssign<Rhs>,
[src]
Series<Var, C>: AddAssign<Rhs>,
type Output = Series<Var, C>
The resulting type after applying the +
operator.
fn add(self, other: Rhs) -> Self::Output
[src]
impl<'a, Var: PartialEq + Debug, C: Coeff + Clone> AddAssign<SeriesSlice<'a, Var, C>> for Series<Var, C> where
C: AddAssign<&'c C>,
[src]
C: AddAssign<&'c C>,
fn add_assign(&mut self, other: SeriesSlice<'a, Var, C>)
[src]
impl<'a, Var, C: Coeff> Clone for SeriesSlice<'a, Var, C>
[src]
fn clone(&self) -> Self
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<'a, Var, C: Coeff> Copy for SeriesSlice<'a, Var, C>
[src]
impl<'a, Var: Debug, C: Debug + Coeff> Debug for SeriesSlice<'a, Var, C>
[src]
impl<'a, Var: Display, C: Coeff + Display> Display for SeriesSlice<'a, Var, C>
[src]
impl<'a, Var, C: Coeff, T> Div<T> for SeriesSlice<'a, Var, C> where
Var: Clone,
C: Clone,
Series<Var, C>: DivAssign<T>,
[src]
Var: Clone,
C: Clone,
Series<Var, C>: DivAssign<T>,
type Output = Series<Var, C>
The resulting type after applying the /
operator.
fn div(self, other: T) -> Self::Output
[src]
impl<'a, Var: Clone, C: Coeff + SubAssign> DivAssign<SeriesSlice<'a, Var, C>> for Series<Var, C> where
Series<Var, C>: MulAssign,
&'b C: Div<Output = C> + Mul<Output = C>,
&'c Series<Var, C>: MulInverse<Output = Series<Var, C>>,
[src]
Series<Var, C>: MulAssign,
&'b C: Div<Output = C> + Mul<Output = C>,
&'c Series<Var, C>: MulInverse<Output = Series<Var, C>>,
fn div_assign(&mut self, other: SeriesSlice<'a, Var, C>)
[src]
impl<'a, Var: Eq, C: Eq + Coeff> Eq for SeriesSlice<'a, Var, C>
[src]
impl<'a, Var, C: Coeff> Exp for SeriesSlice<'a, Var, C> where
&'b C: Mul<Output = C>,
C: MulAssign<&'b C>,
Var: Clone,
C: Clone + Div<Output = C> + Mul<Output = C> + AddAssign + Exp<Output = C>,
[src]
&'b C: Mul<Output = C>,
C: MulAssign<&'b C>,
Var: Clone,
C: Clone + Div<Output = C> + Mul<Output = C> + AddAssign + Exp<Output = C>,
impl<'a, Var: Clone, C: Coeff + Clone> From<SeriesSlice<'a, Var, C>> for Series<Var, C>
[src]
fn from(s: SeriesSlice<'a, Var, C>) -> Self
[src]
impl<'a, Var: Hash, C: Hash + Coeff> Hash for SeriesSlice<'a, 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<'a, Var, C: Coeff> Index<isize> for SeriesSlice<'a, Var, C>
[src]
type Output = C
The returned type after indexing.
fn index(&self, index: isize) -> &Self::Output
[src]
impl<'a, Var, C: Coeff> Ln for SeriesSlice<'a, Var, C> where
C: Div<&'b C, Output = C>,
&'b C: Mul<Output = C> + Ln<Output = C>,
C: Clone + SubAssign + Add<Output = C> + Mul<Output = C> + Div<Output = C> + From<Var>,
Var: Clone,
[src]
C: Div<&'b C, Output = C>,
&'b C: Mul<Output = C> + Ln<Output = C>,
C: Clone + SubAssign + Add<Output = C> + Mul<Output = C> + Div<Output = C> + From<Var>,
Var: Clone,
impl<'a, 'b, Var, C: Coeff> Mul<&'b C> for SeriesSlice<'a, Var, C> where
Var: Clone,
&'c C: Mul<Output = C>,
[src]
Var: Clone,
&'c C: Mul<Output = C>,
type Output = Series<Var, C>
The resulting type after applying the *
operator.
fn mul(self, other: &'b C) -> Self::Output
[src]
impl<'a, 'b, Var, C: Coeff> Mul<&'b Series<Var, C>> for SeriesSlice<'a, Var, C> where
C: Clone,
Var: Clone,
Series<Var, C>: Mul<SeriesSlice<'c, Var, C>, Output = Series<Var, C>>,
[src]
C: Clone,
Var: Clone,
Series<Var, C>: Mul<SeriesSlice<'c, Var, C>, Output = Series<Var, C>>,
type Output = Series<Var, C>
The resulting type after applying the *
operator.
fn mul(self, other: &'b Series<Var, C>) -> Self::Output
[src]
impl<'a, Var, C: Coeff> Mul<C> for SeriesSlice<'a, Var, C> where
Var: Clone,
&'c C: Mul<Output = C>,
[src]
Var: Clone,
&'c C: Mul<Output = C>,
type Output = Series<Var, C>
The resulting type after applying the *
operator.
fn mul(self, other: C) -> Self::Output
[src]
impl<'a, Var, C: Coeff> Mul<Series<Var, C>> for SeriesSlice<'a, Var, C> where
Var: Clone,
C: Clone,
Series<Var, C>: MulAssign<Series<Var, C>>,
[src]
Var: Clone,
C: Clone,
Series<Var, C>: MulAssign<Series<Var, C>>,
type Output = Series<Var, C>
The resulting type after applying the *
operator.
fn mul(self, other: Series<Var, C>) -> Self::Output
[src]
impl<'a, Var, C: Coeff> Mul<SeriesSlice<'a, Var, C>> for Series<Var, C> where
Series<Var, C>: MulAssign<SeriesSlice<'a, Var, C>>,
[src]
Series<Var, C>: MulAssign<SeriesSlice<'a, Var, C>>,
type Output = Series<Var, C>
The resulting type after applying the *
operator.
fn mul(self, other: SeriesSlice<'a, Var, C>) -> Self::Output
[src]
impl<'a, Var, C: Coeff> Mul<SeriesSlice<'a, Var, C>> for SeriesSlice<'a, Var, C> where
Var: Clone,
C: Clone,
Series<Var, C>: Mul<SeriesSlice<'a, Var, C>, Output = Series<Var, C>>,
[src]
Var: Clone,
C: Clone,
Series<Var, C>: Mul<SeriesSlice<'a, Var, C>, Output = Series<Var, C>>,
type Output = Series<Var, C>
The resulting type after applying the *
operator.
fn mul(self, other: SeriesSlice<'a, Var, C>) -> Self::Output
[src]
impl<'a, Var, C> MulAssign<SeriesSlice<'a, Var, C>> for Series<Var, C> where
Var: PartialEq + Debug,
&'b C: Mul<Output = C>,
C: MulAssign<&'a C> + Coeff + Clone + AddAssign,
[src]
Var: PartialEq + Debug,
&'b C: Mul<Output = C>,
C: MulAssign<&'a C> + Coeff + Clone + AddAssign,
fn mul_assign(&mut self, other: SeriesSlice<'a, Var, C>)
[src]
impl<'a, Var, C> MulInverse for SeriesSlice<'a, Var, C> where
Var: Clone,
C: Coeff + SubAssign,
&'b C: Div<Output = C> + Mul<Output = C>,
[src]
Var: Clone,
C: Coeff + SubAssign,
&'b C: Div<Output = C> + Mul<Output = C>,
type Output = Series<Var, C>
fn mul_inverse(self) -> Self::Output
[src]
impl<'a, Var: Clone, C: Coeff> Neg for SeriesSlice<'a, Var, C> where
&'c C: Neg<Output = C>,
[src]
&'c C: Neg<Output = C>,
type Output = Series<Var, C>
The resulting type after applying the -
operator.
fn neg(self) -> Self::Output
[src]
impl<'a, Var: Ord, C: Ord + Coeff> Ord for SeriesSlice<'a, Var, C>
[src]
fn cmp(&self, other: &SeriesSlice<'a, 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<'a, Var: PartialEq, C: PartialEq + Coeff> PartialEq<SeriesSlice<'a, Var, C>> for SeriesSlice<'a, Var, C>
[src]
fn eq(&self, other: &SeriesSlice<'a, Var, C>) -> bool
[src]
fn ne(&self, other: &SeriesSlice<'a, Var, C>) -> bool
[src]
impl<'a, Var: PartialOrd, C: PartialOrd + Coeff> PartialOrd<SeriesSlice<'a, Var, C>> for SeriesSlice<'a, Var, C>
[src]
fn partial_cmp(&self, other: &SeriesSlice<'a, Var, C>) -> Option<Ordering>
[src]
fn lt(&self, other: &SeriesSlice<'a, Var, C>) -> bool
[src]
fn le(&self, other: &SeriesSlice<'a, Var, C>) -> bool
[src]
fn gt(&self, other: &SeriesSlice<'a, Var, C>) -> bool
[src]
fn ge(&self, other: &SeriesSlice<'a, Var, C>) -> bool
[src]
impl<'a, Var, C: Coeff, T> Pow<T> for SeriesSlice<'a, Var, C> where
SeriesSlice<'b, Var, C>: Ln<Output = Series<Var, C>>,
Series<Var, C>: Mul<T>,
<Series<Var, C> as Mul<T>>::Output: Exp,
[src]
SeriesSlice<'b, Var, C>: Ln<Output = Series<Var, C>>,
Series<Var, C>: Mul<T>,
<Series<Var, C> as Mul<T>>::Output: Exp,
type Output = <<Series<Var, C> as Mul<T>>::Output as Exp>::Output
fn pow(self, exponent: T) -> Self::Output
[src]
impl<'a, Var, C: Coeff> StructuralEq for SeriesSlice<'a, Var, C>
[src]
impl<'a, Var, C: Coeff> StructuralPartialEq for SeriesSlice<'a, Var, C>
[src]
impl<'a, Var, C: Coeff, T> Sub<T> for SeriesSlice<'a, Var, C> where
C: Clone,
Var: Clone,
Series<Var, C>: SubAssign<T>,
[src]
C: Clone,
Var: Clone,
Series<Var, C>: SubAssign<T>,
type Output = Series<Var, C>
The resulting type after applying the -
operator.
fn sub(self, other: T) -> Self::Output
[src]
impl<'a, Var, C: Coeff> SubAssign<SeriesSlice<'a, Var, C>> for Series<Var, C> where
SeriesSlice<'c, Var, C>: Neg<Output = Series<Var, C>>,
Series<Var, C>: AddAssign<Series<Var, C>>,
[src]
SeriesSlice<'c, Var, C>: Neg<Output = Series<Var, C>>,
Series<Var, C>: AddAssign<Series<Var, C>>,
fn sub_assign(&mut self, other: SeriesSlice<'a, Var, C>)
[src]
Auto Trait Implementations
impl<'a, Var, C> RefUnwindSafe for SeriesSlice<'a, Var, C> where
C: RefUnwindSafe,
Var: RefUnwindSafe,
C: RefUnwindSafe,
Var: RefUnwindSafe,
impl<'a, Var, C> Send for SeriesSlice<'a, Var, C> where
C: Sync,
Var: Sync,
C: Sync,
Var: Sync,
impl<'a, Var, C> Sync for SeriesSlice<'a, Var, C> where
C: Sync,
Var: Sync,
C: Sync,
Var: Sync,
impl<'a, Var, C> Unpin for SeriesSlice<'a, Var, C>
impl<'a, Var, C> UnwindSafe for SeriesSlice<'a, Var, C> where
C: RefUnwindSafe,
Var: RefUnwindSafe,
C: RefUnwindSafe,
Var: RefUnwindSafe,
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<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>,