To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
The technical storage or access that is used exclusively for statistical purposes.
The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
Interesting to see how floats caused some issues with Pinball.
I’ve always had a fear of floats after I learned the hard way in the 90s that comparisons between floats is a bad idea. 2.0 raised to some power like 3 could be 7.9999999 or 8.0. I made the mistake of comparing it to 8.0. It always worked on my machine, but one customer on the other side of the country it never worked and they flew me out there to figure it out.
Between that and when I was learning C a million years ago, the VAX, a SUN SPARC, PPC 601 PowerMac, 68040 Mac, Borland C, and the RS/6000 all gave wildly different results for stuff.. I was expecting the integer same/same type thing but that was.. surprising.
Then you have the insane stuff like fast inverse square root, where you bisect a float with integers and bitshift them… Hope that bisection point stays the same with math precision being something you can save/set (and possibly loose in multitasking contexts…)
It’s so easy to make assumptions how you can use and abuse hardware floats until you go to a different platform and yeah things are. different.
If the source were out it’d probably be easier to just convert it to softfloat.