aboutsummaryrefslogtreecommitdiff
path: root/documentation/bookmark/floating_point.md
blob: a344106c2c866ea32ea6be0183572e0f029982a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# Parsing

0. [fast_float number parsing library: 4x faster than strtod](https://github.com/fastfloat/fast_float)
0. [Fast float parsing in practice](https://lemire.me/blog/2020/03/10/fast-float-parsing-in-practice/)

# Precision

0. [Calcium](https://fredrikj.net/calcium/)
0. [Accuracy of Mathematical Functions in Single, Double, Double Extended, and Quadruple Precision](https://members.loria.fr/PZimmermann/papers/accuracy.pdf)
0. [Supporting half-precision floats is really annoying](https://futhark-lang.org/blog/2021-08-05-half-precision-floats.html)

# Debugging

0. [Keynote: William Kahan - Debugging Tools for Floating-Point Code](https://www.youtube.com/watch?v=qHddEkfQBrA)

# Comparison

0. [Comparing Floating-Point Numbers Is Tricky](https://www.youtube.com/watch?v=iW7H1KfSJ8s)
0. [Approximate Equality for Floating Point](https://github.com/apple/swift-evolution/blob/master/proposals/0259-approximately-equal.md)

# Random generation

0. [Drawing random floating-point numbers from an interval](https://hal.archives-ouvertes.fr/hal-03282794/document)
0. [Uniform random floats:  How to generate a double-precision floating-point number in [0, 1] uniformly at random given a uniform random source of bits](https://mumble.net/~campbell/2014/04/28/uniform-random-float)

# Correctness

0. [Floating point expression inspector](https://github.com/graphitemaster/fpinspect)
0. [Herbie: Find and fix floating-point problems.](https://herbie.uwplse.org/)

# Format

0. [decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format)

# Reference

0. [How Java’s Floating-Point Hurts Everyone Everywhere](https://people.eecs.berkeley.edu/~wkahan/JAVAhurt.pdf)
0. [What aspect of portable floating point did Java back down on?](https://retrocomputing.stackexchange.com/questions/18143/what-aspect-of-portable-floating-point-did-java-back-down-on)

# Algorithm

0. [Speeding up atan2f by 50x](https://mazzo.li/posts/vectorized-atan2.html)
0. [Kahan summation algorithm](https://en.wikipedia.org/wiki/Kahan_summation_algorithm)