|
|
|
|
|
by immibis
722 days ago
|
|
Actually, floating-point math is mostly deterministic. There is an exception for rounding errors in transcendental functions. The perception of nondeterminism came specifically from x87, which had 80-bit native floating-point registers, which were different from every other platform's 64-bit default, and forcing values to 64-bit all the time cost performance, so compilers secretly turned data types to different ones when compiling for x87, therefore giving different results. It would be like if the compiler for ARM secretly changed every use of 'float' into 'double'. |
|