Crate number_general[−][src]
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
and (de)serialization with serde
.
Example usage:
let sequence: Vec<Number> = serde_json::from_str("[true, 2, 3.5, -4, [1.0, -0.5]]").unwrap();
let actual = sequence.into_iter().product();
let expected = Number::from(num::Complex::<f64>::new(-28., 14.));
assert_eq!(expected, actual);
assert_eq!(Int::cast_from(actual), Int::from(-28));
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
.
A struct for deserializing a Number
which implements
destream::de::Visitor
and serde::de::Visitor
.
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.