From svn diff:
Code: Select all
- const double sqrt_discriminant = sqrt(discriminant);
+ const double sqrt_discriminant =
+ sqrt(discriminant < -0.0 ? 0.0 : discriminant);Code: Select all
- const double sqrt_discriminant = sqrt(discriminant);
+ const double sqrt_discriminant =
+ sqrt(discriminant < -0.0 ? 0.0 : discriminant);Code: Select all
/*
* In exact arithmetic, discriminant can't be negative. In floating
* point, it can, because of the bad conditioning of SVD
* decompositions done through the associated normal matrix.
*/
const double sqrt_discriminant =
sqrt(discriminant > 0.0 ? discriminant : 0.0);Thanks goes to Anthony and Cristy and you. I really had nothing to contribute on this one.NicolasRobidoux wrote:I'm really impressed at how fast Cristy, Anthony and Fred got the issue figured out and solved.
... to you too. Thank you for your very informative bug report.tsanders wrote:GREAT JOB!
Apologies if I forgot. Juggling -> dropping balls.anthony wrote:I have mapped it into IMv7 too.
Users browsing this forum: No registered users and 19 guests