1 #include "gpsim_assert.h"
2 
3 unsigned char failures = 0;
4 unsigned char dummy = 0;
5 
6 unsigned int aint0 = 0;
7 unsigned int aint1 = 0;
8 unsigned char achar0 = 0;
9 unsigned char achar1 = 0;
10 
11 void
done()12 done()
13 {
14   ASSERT(MANGLE(failures) == 0);
15   PASSED();
16 }
17 
18 void
char_lt_char(void)19 char_lt_char (void)
20 {
21   if (achar0 < achar1)
22     failures++;
23 }
24 
25 void
char_gt_char(void)26 char_gt_char (void)
27 {
28   if (achar1 > achar0)
29     failures++;
30 }
31 
32 void
char_lte_char(void)33 char_lte_char (void)
34 {
35   if (achar0 <= achar1)
36     failures++;
37 }
38 
39 void
char_gte_char(void)40 char_gte_char (void)
41 {
42   if (achar1 >= achar0)
43     failures++;
44 }
45 
46 void
char_lt_lit(void)47 char_lt_lit (void)
48 {
49   if (achar1 < 0x10)
50     failures++;
51 }
52 
53 void
char_gt_lit(void)54 char_gt_lit (void)
55 {
56   if (achar1 > 0x10)
57     failures++;
58 }
59 
60 void
char_lte_lit(void)61 char_lte_lit (void)
62 {
63   if (achar1 <= 0x0f)
64     failures++;
65 }
66 
67 void
char_gte_lit(void)68 char_gte_lit (void)
69 {
70   if (achar1 >= 0x11)
71     failures++;
72 }
73 
74 
75 /* now repeat test using negative logic */
76 void
char_lt_char_else(void)77 char_lt_char_else (void)
78 {
79   if (achar0 >= achar1)
80     dummy++;
81   else
82     failures++;
83 }
84 
85 void
char_gt_char_else(void)86 char_gt_char_else (void)
87 {
88   if (achar1 <= achar0)
89     dummy++;
90   else
91     failures++;
92 }
93 
94 void
char_lte_char_else(void)95 char_lte_char_else (void)
96 {
97   if (achar0 > achar1)
98     dummy++;
99   else
100     failures++;
101 }
102 
103 void
char_gte_char_else(void)104 char_gte_char_else (void)
105 {
106   if (achar1 < achar0)
107     dummy++;
108   else
109     failures++;
110 }
111 
112 void
char_lt_lit_else(void)113 char_lt_lit_else (void)
114 {
115   if (achar1 >= 0x10)
116     dummy++;
117   else
118     failures++;
119 }
120 
121 void
char_gt_lit_else(void)122 char_gt_lit_else (void)
123 {
124   if (achar1 <= 0x10)
125     dummy++;
126   else
127     failures++;
128 }
129 
130 void
char_lte_lit_else(void)131 char_lte_lit_else (void)
132 {
133   if (achar1 > 0x0f)
134     dummy++;
135   else
136     failures++;
137 }
138 
139 void
char_gte_lit_else(void)140 char_gte_lit_else (void)
141 {
142   if (achar1 < 0x11)
143     dummy++;
144   else
145     failures++;
146 }
147 
148 
149 /* ints */
150 
151 void
int_lt_int(void)152 int_lt_int (void)
153 {
154   if (aint0 < aint1)
155     failures++;
156 }
157 
158 void
int_gt_int(void)159 int_gt_int (void)
160 {
161   if (aint1 > aint0)
162     failures++;
163 }
164 
165 void
int_lte_int(void)166 int_lte_int (void)
167 {
168   if (aint0 <= aint1)
169     failures++;
170 }
171 
172 void
int_gte_int(void)173 int_gte_int (void)
174 {
175   if (aint1 >= aint0)
176     failures++;
177 }
178 
179 void
int_lt_lit(void)180 int_lt_lit (void)
181 {
182   if (aint1 < 0x10)
183     failures++;
184 }
185 
186 void
int_gt_lit(void)187 int_gt_lit (void)
188 {
189   if (aint1 > 0x10)
190     failures++;
191 }
192 
193 void
int_lte_lit(void)194 int_lte_lit (void)
195 {
196   if (aint1 <= 0x0f)
197     failures++;
198 }
199 
200 void
int_gte_lit(void)201 int_gte_lit (void)
202 {
203   if (aint1 >= 0x11)
204     failures++;
205 }
206 
207 
208 
209 
210 /* now repeat int comparisons using negative logic */
211 
212 void
int_lt_int_else(void)213 int_lt_int_else (void)
214 {
215   if (aint0 >= aint1)
216     dummy++;
217   else
218     failures++;
219 }
220 
221 void
int_gt_int_else(void)222 int_gt_int_else (void)
223 {
224   if (aint1 <= aint0)
225     dummy++;
226   else
227     failures++;
228 }
229 
230 void
int_lte_int_else(void)231 int_lte_int_else (void)
232 {
233   if (aint0 > aint1)
234     dummy++;
235   else
236     failures++;
237 }
238 
239 void
int_gte_int_else(void)240 int_gte_int_else (void)
241 {
242   if (aint1 < aint0)
243     dummy++;
244   else
245     failures++;
246 }
247 
248 void
int_lt_lit_else(void)249 int_lt_lit_else (void)
250 {
251   if (aint1 >= 0x10)
252     dummy++;
253   else
254     failures++;
255 }
256 
257 void
int_gt_lit_else(void)258 int_gt_lit_else (void)
259 {
260   if (aint1 <= 0x10)
261     dummy++;
262   else
263     failures++;
264 }
265 
266 void
int_lte_lit_else(void)267 int_lte_lit_else (void)
268 {
269   if (aint1 > 0x0f)
270     dummy++;
271   else
272     failures++;
273 }
274 
275 void
int_gte_lit_else(void)276 int_gte_lit_else (void)
277 {
278   if (aint1 < 0x11)
279     dummy++;
280   else
281     failures++;
282 }
283 
284 
285 
286 
287 
288 
289 void
main(void)290 main (void)
291 {
292 
293   char_lt_char ();
294   char_gt_char ();
295 
296   achar0++;
297   char_lt_char ();
298   char_gt_char ();
299   char_gte_char ();
300   char_lte_char ();
301 
302   achar1 = 0x10;
303   char_lt_lit ();
304   char_gt_lit ();
305   char_lte_lit ();
306   char_gte_lit ();
307 
308 
309   achar0 = 0;
310   achar1 = 0;
311 
312   char_lt_char_else ();
313   char_gt_char_else ();
314 
315   achar0++;
316   char_lt_char_else ();
317   char_gt_char_else ();
318   char_gte_char_else ();
319   char_lte_char_else ();
320 
321   achar1 = 0x10;
322   char_lt_lit_else ();
323   char_gt_lit_else ();
324   char_lte_lit_else ();
325   char_gte_lit_else ();
326 
327 
328 
329   int_lt_int ();
330   int_gt_int ();
331 
332   aint0++;
333   int_lt_int ();
334   int_gt_int ();
335   int_gte_int ();
336   int_lte_int ();
337 
338   aint1 = 0x10;
339   int_lt_lit ();
340   int_gt_lit ();
341   int_lte_lit ();
342   int_gte_lit ();
343 
344   aint0=0;
345   aint1=0;
346   int_lt_int_else ();
347   int_gt_int_else ();
348 
349   aint0++;
350   int_lt_int_else ();
351   int_gt_int_else ();
352   int_gte_int_else ();
353   int_lte_int_else ();
354 
355   aint1 = 0x10;
356   int_lt_lit_else ();
357   int_gt_lit_else ();
358   int_lte_lit_else ();
359   int_gte_lit_else ();
360 
361   done ();
362 }
363