Expand description
An arbitrary precision float that can also represent infinity, NaN, etc.
The finite values are stored as BigDecimal instances. Because
the bigdecimal library does not represent infinity, NaN, etc., we
need to represent them explicitly ourselves. The
ExtendedBigDecimal enumeration does that.
§Examples
Addition works for ExtendedBigDecimal as it does for floats. For
example, adding infinity to any finite value results in infinity:
ⓘ
let summand1 = ExtendedBigDecimal::BigDecimal(BigDecimal::zero());
let summand2 = ExtendedBigDecimal::Infinity;
assert_eq!(summand1 + summand2, ExtendedBigDecimal::Infinity);