fix NaN handling in floating point comparisons

This commit is contained in:
Joel Dice
2013-04-03 16:08:40 -06:00
parent cc8d655762
commit b436bd460a
4 changed files with 69 additions and 8 deletions

View File

@ -329,5 +329,23 @@ public class Floats {
{ float v = Float.POSITIVE_INFINITY;
expect(Long.MAX_VALUE == (long) v); }
expect(Double.NaN != Double.NaN);
expect(! (Double.NaN == Double.NaN));
{ double d = Double.NaN;
expect(Double.NaN != d);
expect(! (Double.NaN == d));
expect(d != d);
expect(! (d == d)); }
expect(Float.NaN != Float.NaN);
expect(! (Float.NaN == Float.NaN));
{ float d = Float.NaN;
expect(Float.NaN != d);
expect(! (Float.NaN == d));
expect(d != d);
expect(! (d == d)); }
}
}