2010-06-17 Geoff Norton <gnorton@novell.com>
[mono.git] / mono / tests / long.cs
blob012207c1e427ce918662aa4032580df264a8a99d
1 namespace test {
3 public class T {
4 static ulong[] values = {
5 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048,
6 4096, 8192, 16384, 32768, 65536, 131072,
7 262144, 524288, 1048576, 2097152, 4194304, 8388608,
8 16777216, 33554432, 67108864, 134217728, 268435456,
9 536870912, 1073741824, 2147483648, 4294967296,
10 8589934592, 17179869184, 34359738368, 68719476736,
11 137438953472, 274877906944, 549755813888, 1099511627776,
12 2199023255552, 4398046511104, 8796093022208,
13 17592186044416, 35184372088832, 70368744177664,
14 140737488355328, 281474976710656, 562949953421312,
15 1125899906842624, 2251799813685248, 4503599627370496,
16 9007199254740992, 18014398509481984, 36028797018963968,
17 72057594037927936, 144115188075855872, 288230376151711744,
18 576460752303423488, 1152921504606846976,
19 2305843009213693952, 4611686018427387904,
20 9223372036854775808
22 public static int Main() {
23 int i;
24 ulong val = 1;
25 ulong val17 = 131072;
26 ulong val33 = 8589934592;
27 ulong val39 = 549755813888;
28 ulong val47 = 140737488355328;
29 ulong val55 = 36028797018963968;
31 for (i = 0; i < values.Length; ++i) {
32 if (val != values [i])
33 return i+1;
34 val *= 2;
36 if (val33 != values [33])
37 return 1;
38 if (val39 != values [39])
39 return 2;
40 if (val47 != values [47])
41 return 3;
42 if (val55 != values [55])
43 return 4;
44 if (val17 != values [17])
45 return 5;
47 return 0;