Don't run test-318 with gmcs.
[mono.git] / mono / mini / basic-float.cs
index 982feee2ebad5be8328131696bc34ec82735be05..b2aff5dad302781c267df93d48bdcfa40f8feb18 100644 (file)
@@ -50,11 +50,23 @@ class Tests {
                return 0;
        }
 
-       static int test_0_conv_i4 () {
+       static int test_0_conv_i () {
                double a = 2.0;
-               int b = (int)a;
-               if (b != 2)
+               int i = (int)a;
+               if (i != 2)
                        return 1;
+               uint ui = (uint)a;
+               if (ui != 2)
+                       return 2;
+               short s = (short)a;
+               if (s != 2)
+                       return 3;
+               ushort us = (ushort)a;
+               if (us != 2)
+                       return 4;
+               byte b = (byte)a;
+               if (b != 2)
+                       return 5;
                return 0;
        }
 
@@ -64,6 +76,18 @@ class Tests {
                return (int)f;
        }
 
+       static int test_5_double_conv_r4 () {
+               double d = 5.0;
+               float f = (float)d;
+               return (int)f;
+       }
+
+       static int test_5_float_conv_r8 () {
+               float f = 5.0F;
+               double d = (double)f;
+               return (int)d;
+       }
+
        static int test_5_conv_r8 () {
                int i = 5;
                double f = (double)i;
@@ -120,6 +144,22 @@ class Tests {
                return (int)(1.0 + (a + (b + (c + (d + (e + (f + (g + (h + i)))))))));
        }
 
+       static int test_4_float_sub_spill () {
+               // we overflow the FP stack
+               double a = 1;
+               double b = 2;
+               double c = 3;
+               double d = 4;
+               double e = 5;
+               double f = 6;
+               double g = 7;
+               double h = 8;
+               double i = 9;
+
+               return -(int)(1.0 - (a - (b - (c - (d - (e - (f - (g - (h - i)))))))));
+               ////// -(int)(1.0 - (1 - (2 - (3 - (4 - (5 - (6 - (7 - (8 - 9)))))))));
+       }
+
        static int test_362880_float_mul_spill () {
                // we overflow the FP stack
                double a = 1;