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§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.