Trait mexprp::num::Num
[−]
[src]
pub trait Num: Debug + Display + Clone + PartialEq where
Self: Sized, { fn from_f64(t: f64, ctx: &Context<Self>) -> Calculation<Self>; fn from_f64_complex(t: (f64, f64), ctx: &Context<Self>) -> Calculation<Self>; fn typename() -> String; fn tryord(
&self,
other: &Self,
ctx: &Context<Self>
) -> Result<Ordering, MathError> { ... } fn add(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self> { ... } fn sub(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self> { ... } fn mul(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self> { ... } fn div(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self> { ... } fn pow(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self> { ... } fn sqrt(&self, ctx: &Context<Self>) -> Calculation<Self> { ... } fn nrt(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self> { ... } fn abs(&self, ctx: &Context<Self>) -> Calculation<Self> { ... } fn sin(&self, ctx: &Context<Self>) -> Calculation<Self> { ... } fn cos(&self, ctx: &Context<Self>) -> Calculation<Self> { ... } fn tan(&self, ctx: &Context<Self>) -> Calculation<Self> { ... } fn asin(&self, ctx: &Context<Self>) -> Calculation<Self> { ... } fn acos(&self, ctx: &Context<Self>) -> Calculation<Self> { ... } fn atan(&self, ctx: &Context<Self>) -> Calculation<Self> { ... } fn atan2(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self> { ... } fn floor(&self, ctx: &Context<Self>) -> Calculation<Self> { ... } fn ceil(&self, ctx: &Context<Self>) -> Calculation<Self> { ... } fn round(&self, ctx: &Context<Self>) -> Calculation<Self> { ... } fn log(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self> { ... } }
A Num
represents any type that can be used in an expression. It requires lots of operations to
be implemented for it, any of which can fail, as well as the traits: Debug, Clone, Display, PartialOrd,
and PartialEq.
Required Methods
fn from_f64(t: f64, ctx: &Context<Self>) -> Calculation<Self>
Attempts to create an instance of the number from an f64
fn from_f64_complex(t: (f64, f64), ctx: &Context<Self>) -> Calculation<Self>
Attempts to create an instance of the number from complex parts. It's possible the imaginary part will be ignored for Numbers that don't support it.
fn typename() -> String
Returns the name of this Num type (used for errors)
Provided Methods
fn tryord(
&self,
other: &Self,
ctx: &Context<Self>
) -> Result<Ordering, MathError>
&self,
other: &Self,
ctx: &Context<Self>
) -> Result<Ordering, MathError>
fn add(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self>
fn sub(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self>
fn mul(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self>
fn div(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self>
fn pow(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self>
fn sqrt(&self, ctx: &Context<Self>) -> Calculation<Self>
fn nrt(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self>
fn abs(&self, ctx: &Context<Self>) -> Calculation<Self>
fn sin(&self, ctx: &Context<Self>) -> Calculation<Self>
fn cos(&self, ctx: &Context<Self>) -> Calculation<Self>
fn tan(&self, ctx: &Context<Self>) -> Calculation<Self>
fn asin(&self, ctx: &Context<Self>) -> Calculation<Self>
fn acos(&self, ctx: &Context<Self>) -> Calculation<Self>
fn atan(&self, ctx: &Context<Self>) -> Calculation<Self>
fn atan2(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self>
fn floor(&self, ctx: &Context<Self>) -> Calculation<Self>
fn ceil(&self, ctx: &Context<Self>) -> Calculation<Self>
fn round(&self, ctx: &Context<Self>) -> Calculation<Self>
fn log(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self>
Implementations on Foreign Types
impl Num for Rational
[src]
fn from_f64(t: f64, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn from_f64_complex(
(r, _i): (f64, f64),
ctx: &Context<Self>
) -> Calculation<Self>
[src]
(r, _i): (f64, f64),
ctx: &Context<Self>
) -> Calculation<Self>
fn typename() -> String
[src]
fn tryord(
&self,
other: &Self,
ctx: &Context<Self>
) -> Result<Ordering, MathError>
[src]
&self,
other: &Self,
ctx: &Context<Self>
) -> Result<Ordering, MathError>
fn add(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn sub(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn mul(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn div(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn pow(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn sqrt(&self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn nrt(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn abs(&self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn sin(&self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn cos(&self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn tan(&self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn asin(&self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn acos(&self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn atan(&self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn atan2(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn floor(&self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn ceil(&self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn round(&self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn log(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self>
[src]
impl Num for Complex
[src]
fn from_f64(t: f64, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn from_f64_complex(val: (f64, f64), ctx: &Context<Self>) -> Calculation<Self>
[src]
fn typename() -> String
[src]
fn tryord(
&self,
other: &Self,
ctx: &Context<Self>
) -> Result<Ordering, MathError>
[src]
&self,
other: &Self,
ctx: &Context<Self>
) -> Result<Ordering, MathError>
fn add(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn sub(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn mul(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn div(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn pow(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn sqrt(&self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn abs(&self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn sin(&self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn cos(&self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn tan(&self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn asin(&self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn acos(&self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn atan(&self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn floor(&self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn log(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn nrt(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn atan2(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn ceil(&self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn round(&self, ctx: &Context<Self>) -> Calculation<Self>
[src]
impl Num for f64
[src]
fn from_f64(t: f64, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn from_f64_complex(
(r, _i): (f64, f64),
ctx: &Context<Self>
) -> Calculation<Self>
[src]
(r, _i): (f64, f64),
ctx: &Context<Self>
) -> Calculation<Self>
fn typename() -> String
[src]
fn tryord(
&self,
other: &Self,
ctx: &Context<Self>
) -> Result<Ordering, MathError>
[src]
&self,
other: &Self,
ctx: &Context<Self>
) -> Result<Ordering, MathError>
Compares two floats. Errors if either is NaN. Infinity is greater than anything except equal to infinity. Negative infinity is less than anything except equal to negative infinity.
fn add(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn sub(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn mul(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn div(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn pow(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn sqrt(&self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn abs(&self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn sin(&self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn cos(&self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn tan(&self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn asin(&self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn acos(&self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn atan(&self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn atan2(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn floor(&self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn ceil(&self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn round(&self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn log(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self>
[src]
fn nrt(&self, other: &Self, ctx: &Context<Self>) -> Calculation<Self>
[src]
Implementors
impl Num for ComplexRugRat
impl Num for ComplexFloat