Exhaustive comparative testing of your primitives is the only true test of them. https://randomascii.wordpress.com/2014/01/27/theres-only-four-billion-floatsso-test-them-all/ … @BruceDawson0xB
-
Show this thread
-
Replying to @rob_pike @BruceDawson0xB
Wonder if anyone's done automated VM spinup (eg AWS) to do exhaustive test of double functions?
2 replies 0 retweets 0 likes -
Replying to @RichFelker @rob_pike
How many CPUs you want to spin up? With a million cores it might take a week or longer. Possible, but pricey.
2 replies 0 retweets 0 likes -
If the test isn't checking for strict equivalence, maybe you can get away with interval arithmetic over very small input ranges.
2 replies 0 retweets 0 likes -
Replying to @pkhuong @BruceDawson0xB and
I'd still expect around 2^53 different doubles for small ranges.
1 reply 0 retweets 0 likes -
Replying to @lonkamikaze_en @BruceDawson0xB and
A small range of 1000 double values means 1000x fewer cases to evaluate. Split the range if that's not enough.
1 reply 0 retweets 0 likes -
Replying to @pkhuong @lonkamikaze_en and
If you're talking about ranges you missed the whole point of this thread..
1 reply 0 retweets 0 likes -
Replying to @RichFelker @lonkamikaze_en and
A range of 1024 doubles only differs in low 10 bits. Plenty of trivial ways to discharge equivalence (ish) proof over such small ranges.
1 reply 0 retweets 0 likes -
Replying to @pkhuong @lonkamikaze_en and
For trig functions and at least 25% of doubles, low single input bit completely changes the output.
1 reply 0 retweets 0 likes -
Replying to @RichFelker @lonkamikaze_en and
Yeah. If you need 100% accurate rounding, things suck. But even saving 75% (in theory) would help on the million core.
1 reply 0 retweets 0 likes
It's not about accuracy of lowest bits of output but of *all* bits. 1ulp of input is literally 2^53 ulp of output.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.