class Tests {
- public static int Main () {
- return TestDriver.RunTests (typeof (Tests));
+ public static int Main (string[] args) {
+ return TestDriver.RunTests (typeof (Tests), args);
}
public static int test_10_simple_cast () {
long a = 0xffffffffff;
if (a == 0xfffffffffe)
return 1;
+ if (a == 0xfeffffffff)
+ return 2;
return 0;
}
long a = 0xffffffffff;
if (a > 0xffffffffff)
return 1;
+
+ if (a > 0x1ffffffffff)
+ return 2;
+
+ if (a > 0xff00000000) {} else
+ return 3;
+
+ if (a > 0xfeffffffff) {} else
+ return 4;
+
+ a = 0xff00000000;
+ if (a > 0xffffffffff)
+ return 5;
+
return 0;
}
ulong a = 0xffffffffff;
if (a > 0xffffffffff)
return 1;
+
+ if (a > 0x1ffffffffff)
+ return 2;
+
+ if (a > 0xff00000000) {} else
+ return 3;
+
+ if (a > 0xfeffffffff) {} else
+ return 4;
+
+ a = 0xff00000000;
+ if (a > 0xffffffffff)
+ return 5;
+
return 0;
}
long a = 0xffffffffff;
if (a < 0xffffffffff)
return 1;
+
+ if (a < 0x1ffffffffff) {} else
+ return 2;
+
+ if (a < 0xff00000000)
+ return 3;
+
+ if (a < 0xfeffffffff)
+ return 4;
+
+ a = 0xff00000000;
+ if (a < 0xffffffffff) {} else
+ return 5;
+
return 0;
}
ulong a = 0xffffffffff;
if (a < 0xffffffffff)
return 1;
+
+ if (a < 0x1ffffffffff) {} else
+ return 2;
+
+ if (a < 0xff00000000)
+ return 3;
+
+ if (a < 0xfeffffffff)
+ return 4;
+
+ a = 0xff00000000;
+ if (a < 0xffffffffff) {} else
+ return 5;
+
return 0;
}
long a = 0xfffffffffe;
if (a >= 0xffffffffff)
return 1;
+
+ if (a >= 0x1fffffffffe)
+ return 2;
+
+ if (a >= 0xff00000000) {} else
+ return 3;
+
+ if (a >= 0xfefffffffe) {} else
+ return 4;
+
+ a = 0xff00000000;
+ if (a >= 0xffffffffff)
+ return 5;
+
return 0;
}
ulong a = 0xfffffffffe;
if (a >= 0xffffffffff)
return 1;
+
+ if (a >= 0x1fffffffffe)
+ return 2;
+
+ if (a >= 0xff00000000) {} else
+ return 3;
+
+ if (a >= 0xfefffffffe) {} else
+ return 4;
+
+ a = 0xff00000000;
+ if (a >= 0xffffffffff)
+ return 5;
+
return 0;
}
long a = 0xffffffffff;
if (a <= 0xfffffffffe)
return 1;
+
+ if (a <= 0x1ffffffffff) {} else
+ return 2;
+
+ if (a <= 0xff00000000)
+ return 3;
+
+ if (a <= 0xfeffffffff)
+ return 4;
+
+ a = 0xff00000000;
+ if (a <= 0xffffffffff) {} else
+ return 5;
+
+ return 0;
+ }
+
+ public static int test_0_bgt_un () {
+ ulong a = 0xffffffffff;
+ if (a <= 0xfffffffffe)
+ return 1;
+
+ if (a <= 0x1ffffffffff) {} else
+ return 2;
+
+ if (a <= 0xff00000000)
+ return 3;
+
+ if (a <= 0xfeffffffff)
+ return 4;
+
+ a = 0xff00000000;
+ if (a <= 0xffffffffff) {} else
+ return 5;
+
return 0;
}
return (int)(a & 8);
}
+ public static int get_high_bit (ulong a) {
+ if ((a & 0x8000000000000000) != 0)
+ return 1;
+ return 0;
+ }
+
+ public static int test_1_and () {
+ ulong a = 0xabcd1234deadbeef;
+ return get_high_bit (a);
+ }
+
public static int test_10_or () {
long a = 8;
long b = 2;
return count;
}
+ public static int test_1_shift_u_32 ()
+ {
+ ulong a;
+ int count = 0;
+
+ a = UInt64.MaxValue;
+ // Avoid constant folding
+ for (int i = 0; i < 32; ++i)
+ count ++;
+
+ if ((a >> count) != 0xFFFFFFFFUL)
+ return 0;
+ else
+ return 1;
+ }
+
public static int test_1_simple_neg () {
long a = 9;
return 0;
}
- static long return_5low () {
- return 5;
- }
-
- static long return_5high () {
- return 0x500000000;
- }
-
- public static int test_3_long_ret () {
- long val = return_5low ();
- return (int) (val - 2);
- }
-
- public static int test_1_long_ret2 () {
- long val = return_5high ();
- if (val > 0xffffffff)
- return 1;
- return 0;
- }
-
public static int test_3_byte_cast () {
ulong val = 0xff00ff00f0f0f0f0;
byte b;
return (int)res;
}
- static void doit (double value, out long m) {
- m = (long) value;
- }
-
public static int test_3_checked_cast_un () {
ulong i = 2;
long j;
return j;
}
- public static int test_0_ftol_clobber () {
- long m;
- doit (1.3, out m);
- if (m != 1)
- return 2;
- return 0;
- }
-
public static int test_0_ulong_regress () {
ulong u = 4257145737;
u --;
return (u == 4257145736) ? 0 : 1;
}
+
+ public static int test_0_ulong_regress2 () {
+ int p2 = 31;
+ ulong sum_p = 2897079476 + (ulong) (1 << p2);
+ return (sum_p == 749595828) ? 0 : 1;
+ }
public static int test_0_assemble_long ()
{
return (int)l;
}
}
+
+ public static int test_0_regress_cprop_80738 () {
+ int hours = Int32.MinValue;
+ int hrssec = (hours * 3600);
+ long t = ((long)(hrssec) * 1000L);
+
+ return t == 0 ? 0 : 1;
+ }
+
+ public static int test_0_conv_u () {
+ unsafe {
+ int** dead = (int**) 0xdeadbeaf;
+ long i = (long)dead;
+ return (i == 0xdeadbeaf) ? 0 : 1;
+ }
+ }
+
+ public static int test_0_lconv_to_u2 () {
+ unchecked {
+ ulong value = (ulong)(short)-10;
+ value = (ushort)value;
+ return (value == 65526) ? 0 : 1;
+ }
+ }
+
+ public static int test_0_lneg_regress_10320 () {
+ long a = 0x100000000;
+ ulong c = ((ulong) (-(-a))) >> 32;
+ return c == 1 ? 0 : 1;
+ }
}