Trait tc_value::NumberInstance
source · [−]pub trait NumberInstance: Copy + Default + From<Boolean> + Into<Number> + Add<Self, Output = Self> + AddAssign<Self> + Sub<Self, Output = Self> + SubAssign<Self> + Mul<Self, Output = Self> + MulAssign<Self> + Div<Self, Output = Self> + DivAssign<Self> + Product<Self> + Sum<Self> + Debug + Display {
type Abs: NumberInstance;
type Exp: NumberInstance;
type Log: NumberInstance;
type Round: NumberInstance;
type Class: NumberClass
where
<Self::Class as NumberClass>::Instance == Self;
fn class(&self) -> Self::Class;
fn into_type(
self,
dtype: Self::Class
) -> <Self::Class as NumberClass>::Instance;
fn abs(self) -> Self::Abs;
fn exp(self) -> Self::Exp;
fn ln(self) -> Self::Log;
fn log<N>(self, base: N) -> Self::Log
where
N: NumberInstance,
Float: From<N>;
fn pow(self, exp: Number) -> Self;
fn round(self) -> Self::Round;
fn and(self, other: Self) -> Self
where
Boolean: CastFrom<Self>,
{ ... }
fn not(self) -> Self
where
Boolean: CastFrom<Self>,
{ ... }
fn or(self, other: Self) -> Self
where
Boolean: CastFrom<Self>,
{ ... }
fn xor(self, other: Self) -> Self
where
Boolean: CastFrom<Self>,
{ ... }
}
Expand description
Defines common operations on numeric types supported by Number
.
Required Associated Types
type Abs: NumberInstance
type Exp: NumberInstance
type Log: NumberInstance
type Round: NumberInstance
type Class: NumberClass
where
<Self::Class as NumberClass>::Instance == Self
Required Methods
Get an impl of NumberClass
describing this number.
Cast this number into the specified NumberClass
.
Compute the logarithm of this number with respect to the given base
.
Raise this number to the given exponent.
Panics: if the given exponent is a complex number.
Provided Methods
Return true
if self
and other
are nonzero.
Return true
if self
or other
is nonzero.