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.