That's only like the fourth most horrifying thing about C# floating-point.
-
-
-
I present to you a strong contender for the most wrong anyone has ever been on the internet while acting in a professional capacity:https://msdn.microsoft.com/en-us/library/system.double.epsilon(v=vs.110).aspx …
-
It just builds and builds, and the punchline is killer: "On ARM systems, the value of the Epsilon constant is too small to be detected, so it equates to zero. You can define an alternative epsilon value that equals 2.2250738585072014E-308 instead."
-
I *love* how they don't even attempt to rationalize it. "Yeah, we just wanted to be different from C. No, we didn't think about it at all, we just asked the intern to change something random."
-
"Too small to be detected" is perhaps my favorite thing I've read in an API for (mostly) deterministic machines. Floating point is like a geiger counter.
-
Floating-point numbers that have low-order bits are unstable; they decay to more stable states by shedding those bits. This is where rounding comes from, but also why exact small integers tend to stay exact. Subnormals are especially unstable.
#aQuantumTheoryOfFloatingPoint -
What about floating-point tunnelling Stephen?
-
Does the principle of conservation apply? Do the rounded bits add themselves to nearby floating point values, or increase their mass?
- 1 more reply
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.