tangle
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| tangle [2026/05/03 16:45] – created - external edit 127.0.0.1 | tangle [2026/05/05 22:26] (current) – admin | ||
|---|---|---|---|
| Line 26: | Line 26: | ||
| < | < | ||
| - | g< | + | g++ -O3 -std=c++17 -static -o tangle tangle.cpp float256.cpp -lm |
| </ | </ | ||
| Line 116: | Line 116: | ||
| Two custom fixed-point types provide the extended precision, both implemented as one IEEE double (carrying the sign, exponent, and top 52 mantissa bits) plus additional unsigned 64-bit integers (" | Two custom fixed-point types provide the extended precision, both implemented as one IEEE double (carrying the sign, exponent, and top 52 mantissa bits) plus additional unsigned 64-bit integers (" | ||
| - | + | ||
| - | - **float128** — double + 1×uint64_t, | + | |
| - | - **float256** — double + 3×uint64_t, | + | |
| This two-tier approach (double → float128 or float256) avoids the robustness failures that plague naive floating-point implementations while keeping the common case fast. Over 99% of predicate calls are resolved at double precision, and the few that fall through use the narrowest exact type sufficient for the predicate. | This two-tier approach (double → float128 or float256) avoids the robustness failures that plague naive floating-point implementations while keeping the common case fast. Over 99% of predicate calls are resolved at double precision, and the few that fall through use the narrowest exact type sufficient for the predicate. | ||
tangle.1777848335.txt.gz · Last modified: by 127.0.0.1
