Trait tc_value::NumberInstance
source · pub trait NumberInstance: Copy + Default + Sized + From<Boolean> + Into<Number> + Add<Output = Self> + AddAssign + Sub<Output = Self> + SubAssign + Mul<Output = Self> + MulAssign + Div<Output = Self> + DivAssign + Product + Sum + Debug + Display {
type Abs: NumberInstance;
type Exp: NumberInstance;
type Log: NumberInstance;
type Round: NumberInstance;
type Class: NumberClass<Instance = Self>;
// Required methods
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;
// Provided methods
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<Instance = Self>
Required Methods§
sourcefn class(&self) -> Self::Class
fn class(&self) -> Self::Class
Get an impl of NumberClass
describing this number.
sourcefn into_type(self, dtype: Self::Class) -> <Self::Class as NumberClass>::Instance
fn into_type(self, dtype: Self::Class) -> <Self::Class as NumberClass>::Instance
Cast this number into the specified NumberClass
.
sourcefn log<N>(self, base: N) -> Self::Log
fn log<N>(self, base: N) -> Self::Log
Compute the logarithm of this number with respect to the given base
.
Provided Methods§
Object Safety§
This trait is not object safe.