There are probably a lot of scientific applications (e.g. statistics, audio, 3D graphics) where exponential notation is the norm and there’s an understanding about precision and significant digits/bits. It’s a space where fixed-point would absolutely destroy performance, because you’d need as many bits as required to store your largest terms. Yes, NaN and negative zero are utter disasters in the corners of the IEEE spec, but so is trying to do math with 256bit integers.
For a practical explanation about how stark a difference this is, the PlayStation (one) uses an integer z-buffer (“fixed point”). This is responsible for the vertex popping/warping that the platform is known for. Floating-point z-buffers became the norm almost immediately after the console’s launch, and we’ve used them ever since.
What’s the problem with -0?
It conceptually makes sense for to negativ values to close to 0 to be represented as -0.
In practice I have never seen a problem with -0.
On NaN: While its use cases can nowadays be replaced with language constructs like result types, it was created before exceptions or sum types. The way it propagates kind of mirrors Haskells monadic Maybe.
We should be demanding more and better wrapper types from our language/standard library designers.
For integers it really doesn’t exist. An algorithm for multiplying an integer with -1 is: Invert all bits and add 1 to the right-most bit. You can do that for 0 of course, it won’t hurt.
Bugs that have existed for +3 years in a component and are nearly immediately visible to the end user. Oldest source line I touched was from before 2010.
Oh well, just mark them as work on in the next release. Then shove them to the bottom of the pile when marketing wants you to work on ten new features instead.
It’s a FOSS project, so wish me luck, as you can now get it in the mail eventually.
I had to run a makepkg today, which now includes my self-written pieces of code in master. So I’m eating my own dog food now, and it’s good. Also, the itch from before has somehow relieved.
programmer_humor
Oldest
This magazine is from a federated server and may be incomplete. Browse more on the original instance.