- fixed comment: bs cannot be NULL anymore (and was never NULL previously)
[libfirm] / ir / be / test / cmp.c
1 #include <stdio.h>
2
3 int cmp1(int a, int b)
4 {
5   return a < b;
6 }
7
8 int cmp2(int a, int b)
9 {
10   return a > b;
11 }
12
13 int cmp3(int a)
14 {
15   return a < 3;
16 }
17
18 int cmp4(int a)
19 {
20   return a > 3;
21 }
22
23 int cmp5(int a)
24 {
25   return -3 < a;
26 }
27
28 int cmp6(int a)
29 {
30   return -3 > a;
31 }
32
33 int cmp7(int a)
34 {
35   return 3 < -a;
36 }
37
38 int cmp8(int a)
39 {
40   return 3 > -a;
41 }
42
43 int cmp9(int a, int b)
44 {
45   return -a < -b;
46 }
47
48 int cmp10(int a, int b)
49 {
50   return a-b == 0;
51 }
52
53 int cmp11(int a)
54 {
55   return a-3 != 5;
56 }
57
58 int cmp12(int a)
59 {
60   return a+3 == 5;
61 }
62
63 int cmp13(int a)
64 {
65   if (a < 0)
66    return -a;
67   else
68    return a;
69 }
70
71 int cmp14(int a)
72 {
73   return a == 0 ? a : -a;
74 }
75
76 int cmp15(int a)
77 {
78   return a > 0;
79 }
80
81 int cmp16(int a)
82 {
83   return a < 0 ? -1 : 0;
84 }
85
86 int cmp17(int a, int b)
87 {
88   if (a < b)
89     return a;
90   return b;
91 }
92
93 int cmp18(int a, int b)
94 {
95   if (a > b)
96     return a;
97   return b;
98 }
99
100 double dcmp1(double a, double b) {
101   if (a < b)
102     return a;
103   else
104     return b;
105 }
106
107 double dcmp2(double a, double b) {
108   if (a > b)
109     return a;
110   else
111     return b;
112 }
113
114 int A = 1;
115 int B = -1;
116 double Fa = 200.;
117 double Fb = 2;
118
119 int main()
120 {
121   int a = A, b = B;
122   double fa = Fa, fb = Fb;
123
124   printf("cmp1(%d, %d) = %d\n", a, b, cmp1(a, b));
125   printf("cmp2(%d, %d) = %d\n", a, b, cmp2(a, b));
126   printf("cmp3(%d) = %d\n", a, cmp3(a));
127   printf("cmp4(%d) = %d\n", a, cmp4(a));
128   printf("cmp5(%d) = %d\n", a, cmp5(a));
129   printf("cmp6(%d) = %d\n", a, cmp6(a));
130   printf("cmp7(%d) = %d\n", a, cmp7(a));
131   printf("cmp8(%d) = %d\n", a, cmp8(a));
132   printf("cmp9(%d, %d) = %d\n", a, b, cmp9(a, b));
133   printf("cmp10(%d, %d) = %d\n", a, b, cmp10(a, b));
134   printf("cmp11(%d) = %d\n", a, cmp11(a));
135   printf("cmp12(%d) = %d\n", a, cmp12(a));
136   printf("cmp13(%d) = %d\n", a, cmp13(a));
137   printf("cmp14(%d) = %d\n", a, cmp14(a));
138   printf("cmp15(%d) = %d\n", a, cmp15(a));
139   printf("cmp16(%d) = %d\n", a, cmp16(a));
140   printf("cmp17(%d, %d) = %d\n", a, b, cmp18(a, b));
141   printf("cmp18(%d, %d) = %d\n", a, b, cmp18(a, b));
142
143   printf("dcmp1(%f, %f) = %f\n", -fa, -fb, dcmp1(-fa, -fb));
144   printf("dcmp2(%f, %f) = %f\n", -fa, -fb, dcmp2(-fa, -fb));
145   printf("dcmp1(%f, %f) = %f\n", fa, fb, dcmp1(fa, fb));
146   printf("dcmp2(%f, %f) = %f\n", fa, fb, dcmp2(fa, fb));
147
148         return 0;
149 }