/* A comparison made to same variable. */
#pragma warning disable 1718
-class Tests {
-
+#if MOBILE
+class FloatTests
+#else
+class Tests
+#endif
+{
+
+#if !MOBILE
public static int Main (string[] args) {
return TestDriver.RunTests (typeof (Tests), args);
}
+#endif
public static int test_0_beq () {
double a = 2.0;
sbyte sb = (sbyte)a;
if (sb != 2)
return 6;
+ /* MS.NET special cases these */
+ double d = Double.NaN;
+ ui = (uint)d;
+ if (ui != 0)
+ return 7;
+ d = Double.PositiveInfinity;
+ ui = (uint)d;
+ if (ui != 0)
+ return 8;
+ d = Double.NegativeInfinity;
+ ui = (uint)d;
+ if (ui != 0)
+ return 9;
+
return 0;
}
return f == PositiveInfinity ? 0 : 1;
}
- /*
- Disabled until they can be fixed to run on amd64
-
static double VALUE = 0.19975845134874831D;
public static int test_0_float_conversion_reduces_double_precision () {
return 1;
return 0;
}
- */
+
+ public static int test_0_int8_to_float_convertion ()
+ {
+ double d = (double)(float)(long)INT_VAL;
+
+ if (d != 323315616)
+ return 1;
+ return 0;
+ }
}