algorithm.rs |
Algorithms to efficiently convert strings to floats. |
6154 |
bhcomp.rs |
Compare the mantissa to the halfway representation of the float.
Compares the actual significant digits of the mantissa to the
theoretical digits from `b+h`, scaled into the proper range. |
7039 |
bignum.rs |
Big integer type definition. |
679 |
cached.rs |
Cached powers trait for extended-precision floats. |
2156 |
cached_float80.rs |
Cached exponents for basen values with 80-bit extended floats.
Exact versions of base**n as an extended-precision float, with both
large and small powers. Use the large powers to minimize the amount
of compounded error.
These values were calculated using Python, using the arbitrary-precision
integer to calculate exact extended-representation of each value.
These values are all normalized. |
5782 |
digit.rs |
Helpers to convert and add digits from characters. |
444 |
errors.rs |
Estimate the error in an 80-bit approximation of a float.
This estimates the error in a floating-point representation.
This implementation is loosely based off the Golang implementation,
found here: <https://golang.org/src/strconv/atof.go> |
5082 |
exponent.rs |
Utilities to calculate exponents. |
1562 |
float.rs |
|
5482 |
large_powers.rs |
Precalculated large powers for limbs. |
232 |
large_powers32.rs |
Precalculated large powers for 32-bit limbs. |
15362 |
large_powers64.rs |
Precalculated large powers for 64-bit limbs. |
15879 |
math.rs |
Building-blocks for arbitrary-precision math.
These algorithms assume little-endian order for the large integer
buffers, so for a `vec![0, 1, 2, 3]`, `3` is the most significant limb,
and `0` is the least significant limb. |
26259 |
mod.rs |
Fast, minimal float-parsing algorithm. |
1041 |
num.rs |
Utilities for Rust numbers. |
11579 |
parse.rs |
|
2241 |
rounding.rs |
Defines rounding schemes for floating-point numbers. |
7388 |
shift.rs |
Bit-shift helpers. |
1235 |
small_powers.rs |
Pre-computed small powers. |
1318 |