Trait number_general::NumberInstance [−][src]
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 Class: NumberClass<Instance = Self>;
fn class(&self) -> Self::Class;
fn into_type(
self,
dtype: <Self as NumberInstance>::Class
) -> <<Self as NumberInstance>::Class as NumberClass>::Instance;
fn abs(self) -> Self::Abs;
fn exp(self) -> Self::Exp;
fn ln(self) -> Self::Log;
fn log<N: NumberInstance>(self, base: N) -> Self::Log
where
Float: From<N>;
fn pow(self, exp: Number) -> Self;
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.
Associated Types
type Abs: NumberInstance
type Exp: NumberInstance
type Log: NumberInstance
type Class: NumberClass<Instance = Self>
Required methods
Get an impl of NumberClass describing this number.
fn into_type(
self,
dtype: <Self as NumberInstance>::Class
) -> <<Self as NumberInstance>::Class as NumberClass>::Instance
fn into_type(
self,
dtype: <Self as NumberInstance>::Class
) -> <<Self as NumberInstance>::Class as NumberClass>::Instance
Cast this number into the specified NumberClass.
Compute the logarithm of this number with respect to the given base.
Provided methods
Return true if self and other are nonzero.
Return true if self or other is nonzero.
