my investigations seem to show that this is a compiler optimisation flags issue. something about building with -O3 seems to be meaning that the >=0 test becomes slightly unreliable. if the build flag is changed to -O2 then the test appears to become reliable. there also seems to be no discernible performance penalty for using -O2 over -O3
for a "belt and braces" approach, we should probably both swap to -O2 and change these equality tests
as per comments on discord...
my investigations seem to show that this is a compiler optimisation flags issue. something about building with
-O3
seems to be meaning that the>=0
test becomes slightly unreliable. if the build flag is changed to-O2
then the test appears to become reliable. there also seems to be no discernible performance penalty for using-O2
over-O3
for a "belt and braces" approach, we should probably both swap to
-O2
and change these equality tests