1 #include "gpsim_assert.h"
2 // Compound comparisons
3 
4 unsigned char success = 0;
5 unsigned char failures = 0;
6 unsigned char dummy = 0;
7 
8 //bit bit0 = 0;
9 int int0 = 0;
10 int int1 = 0;
11 unsigned char uchar0 = 0;
12 unsigned char uchar1 = 0;
13 char char0 = 0;
14 char char1 = 0;
15 char long0 = 0;
16 char long1 = 0;
17 
18 void
done()19 done()
20 {
21   ASSERT(MANGLE(failures) == 0);
22   PASSED();
23 }
24 
25 void
c_char(void)26 c_char(void)
27 {
28 
29   if(char0 || char1)
30     failures++;
31 
32   if(char0 && char1)
33     failures++;
34 
35   if(char0 > char1)
36     failures++;
37 
38   if((char0+1)  < char1)
39     failures++;
40 
41   if((char0+5) >= (char1+9))
42     failures++;
43 
44   char0++;
45 
46   if(char0 && char1)
47     failures++;
48 
49   if(char0 != (char1+1) )
50     failures++;
51 
52   if(!char0)
53     failures++;
54 
55   if(char1 || !char0)
56     failures++;
57 
58   if((char0 >5 ) && (char0 < 10))
59     failures++;
60 
61   char0 +=5; /* char0 = 6 now */
62 
63 
64   if(!((char0 >5 ) && (char0 < 10)))
65     failures++;
66 
67 }
68 
69 
70 void
c_int(void)71 c_int(void)
72 {
73 
74   if(int0 || int1)
75     failures++;
76 
77   if(int0 && int1)
78     failures++;
79 
80   if(int0 > int1)
81     failures++;
82 
83   if((int0+1)  < int1)
84     failures++;
85 
86   if((int0+5) >= (int1+9))
87     failures++;
88 
89   int0++;
90 
91   if(int0 && int1)
92     failures++;
93 
94   if(int0 != (int1+1) )
95     failures++;
96 
97   if(!int0)
98     failures++;
99 
100   if(int1 || !int0)
101     failures++;
102 
103   if((int0 >5 ) && (int0 < 10))
104     failures++;
105 
106   int0 +=5; /* int0 = 6 now */
107 
108 
109   if(!((int0 >5 ) && (int0 < 10)))
110     failures++;
111 
112 }
113 
114 
115 void
c_long(void)116 c_long(void)
117 {
118 
119   if(long0 || long1)
120     failures++;
121 
122   if(long0 && long1)
123     failures++;
124 
125   if(long0 > long1)
126     failures++;
127 
128   if((long0+1)  < long1)
129     failures++;
130 
131   if((long0+5) >= (long1+9))
132     failures++;
133 
134   long0++;
135 
136   if(long0 && long1)
137     failures++;
138 
139   if(long0 != (long1+1) )
140     failures++;
141 
142   if(!long0)
143     failures++;
144 
145   if(long1 || !long0)
146     failures++;
147 
148   if((long0 >5 ) && (long0 < 10))
149     failures++;
150 
151   long0 +=5; /* long0 = 6 now */
152 
153 
154   if(!((long0 >5 ) && (long0 < 10)))
155     failures++;
156 
157 }
158 
159 void
c_uminus(void)160 c_uminus(void)
161 {
162 
163   int1 = -int0;
164   if(int1 < 0)
165     failures++;
166 }
167 
168 void
main(void)169 main (void)
170 {
171 
172   c_char();
173   c_int();
174   c_long();
175 
176   int0 = -1;
177   c_uminus();
178   if(int1 != 1)
179     failures++;
180 
181   success = failures;
182   done ();
183 }
184 
185