blob: 4e389620a974e4ff62be11e6fe29c814d52500e3 (
plain)
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
#include "framework.h"
int sum(int a, int b){
return a+b;
}
int make(int a){
return a;
}
int tailsum(int a, int b){
return make(a+b);
}
int fact(int a){
int r = 1;
int i;
for (i = 1; i < a; i++)
r *= i;
return r;
}
float int2float(int v){
return v;
}
BEGIN_TEST(int)
c = a+b;
c += a&b;
if ((a & 0x1) == 1)
c += fact(1);
else
c += fact(2);
if (a & 0x1 == 0)
c += fact(4);
else
c += fact(8);
b = !(a & 0x01);
if (!b)
c += fact(16);
else
c += fact(32);
c += sum(make(a), make(b));
c += (long long) a;
if (0 > (a & 0x1) - 1)
c += fact(64);
else
c += fact(128);
if (0 >= (a & 0x1))
c += fact(256);
else
c += fact(512);
if ((a & 0x1) > 0)
c += fact(1024);
else
c += fact(2048);
if ((a & 0x1) - 1 >= 0)
c += fact(4096);
else
c += fact(8192);
c += ((a & 0x1) == (b & 0x1));
c += (a > b);
c += (a <= b);
c += (a < b);
c += (a + b) / 2;
c += (int) int2float(a) + (int) int2float(b) + (int) int2float(42.3);
c += (a << 4); // addx16w
c += (a << 3); // addx8w
c += (a << 2); // addx4w
c += (a << 1); // addx2w
c += ~a & b; // andnw
int j;
for (j = 0 ; j < 10 ; j++)
c += a;
int k;
for (k = 0 ; k < (b & 0x8) ; k++)
c += a;
char s[] = "Tome and Cherry at the playa\n";
c += s[(a & (sizeof(s)-1))];
unsigned char s2[] = "Tim is sorry at the playa\n";
c += s2[a & (sizeof(s) - 1)];
c += a*b;
c += a-b;
c += a << (b & 0x8);
c += sum(a, b);
END_TEST32()
|