I stopped using floats 30 years ago when I learned what rounding errors can do if you only deal with big enough numbers of items to tally. My employer turned around 25M a year, and it had to add up to the cent for the audits.
There’s a good documentary about this.
And KSP (rocket exploding game) had ten years worth of floating point errors.
Like Minecraft has, too. Just go on a long, long walk in one direction.
Link a free copy or none at all please
The medium (lol) is annoying, but it didn’t ask me to pay. Is the article not free for you?
Stop Using Floats
no shit
or Cents
huh…?
That was a good point.
Stop using
floats and cents for moneymedium ffsI think using millicents is pretty standard in fin-tech.
I become suspicious when I see a Medium user posting well-written deep articles as frequently as this user appears to be doing. How can we tell whether this is AI slop or not?
Their articles aren’t that deep and they mostly focus on similar topics.
I think it’s perfectly possible for someone to have a backlog of work/experience that they are just now writing about.
If it were AI spam, I would expect many disparate topics at a depth slightly more than a typical blog post but clearly not expert. The user page shows the latter, but not the former.
However, the Rubik’s cube article does seem abnormal. The phrasing and superficiality makes it seem computer-generated, a real Rubik’s afficionado would have spent some time on how they cube.
Of course I say this as someone much more into mathematics than “normal” software engineering. So maybe their writing on those topics is abnormal.
I got hung up on this line:
This requires deterministic math with explicit rounding modes and precision, not the platform-dependent behavior you get with floats.
Aren’t floats mostly standardized these days? The article even mentions that standard. Has anyone here seen platform-dependent float behaviour?
Not that this affects the article’s main point, which is perfectly reasonable.
Mostly standardized? Maybe. What I know is that float summation is not associative, which means that things that are supposed to be equal (x + y + z = y + z + x) are not necessarily that for floats.
Floating-Point Determinism | Random ASCII - tech blog of Bruce Dawson https://randomascii.wordpress.com/2013/07/16/floating-point-determinism/
The short answer to your questions is no, but if you’re careful you can prevent indeterminism. I’ve personally ran into it encoding audio files using the Opus codec on AMD vs Intel processors (slightly different binary outputs for the exact same inputs). But if you’re able to control your dev environment from platform choice all the way down to the assembly instructions being used, you can prevent it.
The IEEE standard actually does not dictate a rounding policy
Scroll to the second paragraph, get a subscribe popover. So annoying. I haven’t even read any reasonable amount of content yet.
“stop using medium”





