Trait NumberClass

Source
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::Instance;
    fn zero(&self) -> Self::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§

Required Methods§

Source

fn cast(&self, n: Number) -> Self::Instance

Cast the given Number into an instance of this type.

Source

fn size(self) -> usize

Return the maximum size of this type of Number, in bits.

Source

fn one(&self) -> Self::Instance

Return 1 as an instance of this type.

Source

fn zero(&self) -> Self::Instance

Return 0 as an instance of this type.

Provided Methods§

Source

fn is_complex(&self) -> bool

Return true if this is a complex type.

Source

fn is_real(&self) -> bool

Return false 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.

Implementors§