[go: up one dir, main page]

Module extendedbigdecimal

Module extendedbigdecimal 

Source
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);

Enums§

ExtendedBigDecimal