12 unstable releases (5 breaking)
|0.6.1||Nov 17, 2022|
|0.5.0||Apr 21, 2022|
|0.4.1||Nov 4, 2020|
|0.3.1||Jul 30, 2020|
#170 in Algorithms
478 downloads per month
Used in ladata
A double-double arithmetic library for Rust.
This library provides an implementation of double-double arithmetic for the
Rust language. Note that this is not the same as the IEEE quadruple-precision
floating-point format. Instead, higher precision is obtained by representing
the value as the sum of two non-overlapping
Operator traits are implemented both for reference and value types where appropriate. The code indicates the source of the algorithms used.
Mathematical constants are available in the
twofloat::consts module, which
provides the same set of constants as
Please note that the implementation of the mathematical functions (
powf, etc.) is very preliminary. In particular, they are calculated using
operations at the same precision as the result, so they will not return values
which are correct to the full precision of the
TwoFloat type. This may be
addressed in future releases.
math_funcs- include mathematical functions (enabled by default)
serde- enable serialization/deserialization with Serde.
This library depends on the
std implementations of the floating point
mathematical functions, which in turn depend on the C standard library
implementation, which may have variations between platforms.
Mioara Joldeș, Jean-Michel Muller, Valentina Popescu. Tight and rigourous error bounds for basic building blocks of double-word arithmetic. ACM Transactions on Mathematical Software, Association for Computing Machinery, 2017, 44 (2), pp. 1-27. 10.1145/3121432. hal-01351529v3
Alan H. Karp, Peter Markstein. High Precision Division and Square Root. ACM Transactions on Mathematical Software, Association for Computing Machinery, 1997, 23 (4), pp. 561-589. 10.1145/279232.279237.
S. Chevillard, M. Joldeș and C. Lauter. Sollya: an environment for the development of numerical codes. Mathematical Software - ICMS 2010, pp. 28–31.