pub trait NumberClass:
Default
+ Into<NumberType>
+ Ord
+ Send
+ Display {
type Instance: NumberInstance;
// Required methods
fn cast(&self, n: Number) -> Self::Instance;
fn size(self) -> usize;
fn one(&self) -> <Self as NumberClass>::Instance;
fn zero(&self) -> <Self as NumberClass>::Instance;
// Provided methods
fn is_complex(&self) -> bool { ... }
fn is_real(&self) -> bool { ... }
}
Expand description
Defines common properties of numeric types supported by Number
.
Required Associated Types§
type Instance: NumberInstance
Required Methods§
Sourcefn cast(&self, n: Number) -> Self::Instance
fn cast(&self, n: Number) -> Self::Instance
Cast the given Number
into an instance of this type.
Sourcefn one(&self) -> <Self as NumberClass>::Instance
fn one(&self) -> <Self as NumberClass>::Instance
Return 1
as an instance of this type.
Sourcefn zero(&self) -> <Self as NumberClass>::Instance
fn zero(&self) -> <Self as NumberClass>::Instance
Return 0
as an instance of this type.
Provided Methods§
Sourcefn is_complex(&self) -> bool
fn is_complex(&self) -> bool
Return true
if this is a complex type.
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.