1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
(* Check the real number comparison operations.
All operations return false on Nans except for != *)
fun verify s = if s then () else raise Fail "FAIL!!";
val Nan = 0.0/0.0;
verify(Real.==(1.0, 1.0));
verify(not (Real.==(1.0, 1.1)));
verify(not (Real.==(1.1, 1.0)));
verify(not (Real.==(Nan, Nan)));
verify(not (Real.!=(1.0, 1.0)));
verify(Real.!=(1.0, 1.1));
verify(Real.!=(1.1, 1.0));
verify(Real.!=(Nan, Nan));
verify(1.0 < 1.1);
verify(not (1.1 < 1.0));
verify(not (1.0 < Nan));
verify(not (Nan < 1.0));
verify(not (1.0 < 1.0));
verify(not (1.0 > 1.1));
verify(1.1 > 1.0);
verify(not (1.0 > Nan));
verify(not (Nan > 1.0));
verify(not (1.0 > 1.0));
verify(1.0 <= 1.1);
verify(not (1.1 <= 1.0));
verify(not (1.0 <= Nan));
verify(not (Nan <= 1.0));
verify(1.0 <= 1.0);
verify(not (1.0 >= 1.1));
verify(1.1 >= 1.0);
verify(not (1.0 >= Nan));
verify(not (Nan >= 1.0));
verify(1.0 >= 1.0);
|