+2012-05-06 Joseph Myers <joseph@codesourcery.com>
+
+ [BZ #14064]
+ * math/libm-test.inc (check_float_internal): Correct ulp
+ calculation for subnormal expected results.
+
2012-05-06 Andreas Jaeger <aj@suse.de>
* Makeconfig (+math-flags): New, set to -frounding-math.
13854, 13871, 13872, 13873, 13879, 13883, 13886, 13892, 13895, 13908,
13910, 13911, 13912, 13913, 13915, 13916, 13917, 13918, 13919, 13920,
13921, 13922, 13924, 13926, 13927, 13928, 13938, 13941, 13942, 13963,
- 13967, 13970, 13973, 14027, 14033, 14034, 14040, 14049, 14055
+ 13967, 13970, 13973, 14027, 14033, 14034, 14040, 14049, 14055, 14064
* ISO C11 support:
ulp = diff / FUNC(ldexp) (1.0, FUNC(ilogb) (expected) - MANT_DIG);
break;
case FP_SUBNORMAL:
- ulp = (FUNC(ldexp) (diff, MANT_DIG)
- / FUNC(ldexp) (1.0, FUNC(ilogb) (expected)));
+ /* 1ulp for a subnormal value, shifted by MANT_DIG, is the
+ least normal value. */
+ ulp = (FUNC(ldexp) (diff, MANT_DIG) / min_value);
break;
default:
/* It should never happen. */