#high-precision #decimal #math #arithmetic-operations #place #u64 #wad

decimal-wad

Math for preserving precision floats up to 18 decimal places

9 releases

0.1.9 May 31, 2023
0.1.8 Oct 27, 2022
0.1.7 Aug 22, 2022
0.1.6 Jul 20, 2022
0.1.2 Nov 30, 2021

#732 in Algorithms

Download history 105/week @ 2024-07-19 273/week @ 2024-07-26 211/week @ 2024-08-02 41/week @ 2024-08-09 97/week @ 2024-08-16 48/week @ 2024-08-23 47/week @ 2024-08-30 43/week @ 2024-09-06 66/week @ 2024-09-13 26/week @ 2024-09-20 24/week @ 2024-09-27 81/week @ 2024-10-04 72/week @ 2024-10-11 74/week @ 2024-10-18 38/week @ 2024-10-25 59/week @ 2024-11-01

249 downloads per month

MIT license

23KB
673 lines

Decimal WAD

Math for preserving precision floats which are limited to be at most u64::MAX.

  • Decimals are internally scaled by a WAD (10^18) to preserve precision up to 18 decimal places.
  • Decimals are sized to support both serialization and precise math for the full range of unsigned 64-bit integers.
  • The underlying representation of decimals is a u192 rather than u256 to reduce compute cost while losing support for arithmetic operations at the high end of u64 range.
  • Rates are sized to support both serialization and precise math for the full range of unsigned 8-bit integers.
  • The underlying representation of rates is a u128 rather than u192 to reduce compute cost while losing support for arithmetic operations at the high end of u8 range.

Dependencies

~240KB