Trait tc_value::NumberInstance
source · pub trait NumberInstance:
Sized
+ Copy
+ Default
+ 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.