Conversation
|
This is the proper fix for #22. I'm not sure why the test fail, though. |
Seems like that |
tesedgeSign() does not evaluate to the same sign as tesedgeEval() when the x-coordinates are almost zero. In the test data we had values like -1.70990830e-08f, -8.38190317e-09f, -3.35276112e-10f. The fix is to always use tesedgeEval() so that we have consistent signs. This is slight perf degrade, but the code written in '94 tried really hard to avoid one floating point division, and I think we can handle with that today.
f2b3e24 to
f3c2374
Compare
|
How did you figure out which test was failing? (I'm github CI newbie) Looks like rebasing did the trick, thanks! |
|
The logs include the start and result of each test, those are printed in the Bazel output for failing tests (because of That last test case doesn't print its result ( |
tesedgeSign() does not evaluate to the same sign as tesedgeEval() when the x-coordinates are almost zero. In the test data we had values like -1.70990830e-08f, -8.38190317e-09f, -3.35276112e-10f.
The fix is to always use tesedgeEval() so that we have consistent signs.
This is slight perf degrade, but the code written in '94 tried really hard to avoid one floating point division, and I think we can handle with that today.