The sqrt call is only performed on zero or positive values.
@sammycage Thanks for pointing out that I had forgotten to initialize result with a default value in case we must skip the computation. If zero is checked without a threshold, we can introduce defects into the generated image (using my test case). That is why I added fabs(det) < DBL_EPSILON ? 0.0.
This PR is a follow-up of #121.
Issue:
A call on
sqrt
on a negative number caused it to return a-nan
, and then it was casted to an integer, triggering undefined behavior.Test Case:
https://user-images.githubusercontent.com/3461126/225024410-286b1073-7d19-41b9-8c26-7641abe72579.svg
Fix:
The sqrt call is only performed on zero or positive values.
@sammycage Thanks for pointing out that I had forgotten to initialize
result
with a default value in case we must skip the computation. If zero is checked without a threshold, we can introduce defects into the generated image (using my test case). That is why I addedfabs(det) < DBL_EPSILON ? 0.0
.Best regards, Manuel.