Crate number_general
source · [−]Expand description
Provides a generic Number enum with Boolean, Complex, Float, Int,
and UInt variants, as well as a NumberCollator, ComplexCollator, and
FloatCollator since these types do not implement Ord.
Number supports casting with safecast.
For (de)serialization with serde, enable the "serde" feature.
For (de)coding with destream, enable the "stream" feature.
Example usage:
let sequence: Vec<Number> = vec![true.into(), 2.into(), 3.5.into(), [1.0, -0.5].into()];
let actual = sequence.into_iter().product();
let expected = Number::from(num::Complex::<f64>::new(7., -3.5));
assert_eq!(expected, actual);
assert_eq!(Int::cast_from(actual), Int::from(7));Structs
A boolean value.
The type of a Boolean.
Defines a collation order for Complex.
The error type returned when a Number operation fails recoverably.
Defines a collation order for Float.
Defines a collation order for Number.
Enums
A complex number.
The type of a Complex number.
A floating-point number.
A signed integer.
A generic number.
The type of a generic Number.
An unsigned integer.
Traits
Define a NumberType for a non-Number type such as a Rust primitive.
Defines common operations on floating-point numeric types.
Defines common properties of numeric types supported by Number.
Defines common operations on numeric types supported by Number.
Defines common operations on real (i.e. not Complex) numbers.
Trigonometric functions.