Closed
Description
f32::tests::test_abs_sub
, f64::tests::test_abs_sub and float::tests::test_abs_sub
in libstd fail this assertion: assert!(NaN.abs_sub(&-1f32).is_NaN()); (the result is 0 instead of NaN)
This is because mingw's implementation of underlying function fdim()
does not take NaNs into account:
double fdim (double x, double y)
{
return (isgreater(x, y) ? (x - y) : 0.0);
}