]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/numeric/interval/test/cmp_exp.cpp
import quincy beta 17.1.0
[ceph.git] / ceph / src / boost / libs / numeric / interval / test / cmp_exp.cpp
1 /* Boost test/cmp_exp.cpp
2 * test explicit comparison functions
3 *
4 * Copyright 2002-2003 Guillaume Melquiond
5 *
6 * Distributed under the Boost Software License, Version 1.0.
7 * (See accompanying file LICENSE_1_0.txt or
8 * copy at http://www.boost.org/LICENSE_1_0.txt)
9 */
10
11 #include "cmp_header.hpp"
12
13 // comparisons between [1,2] and [3,4]
14
15 static void test_12_34() {
16 const I a(1,2), b(3,4);
17
18 BOOST_CHECK(cerlt(a, b));
19 BOOST_CHECK(cerle(a, b));
20 BOOST_CHECK(!cergt(a, b));
21 BOOST_CHECK(!cerge(a, b));
22
23 BOOST_CHECK(!cerlt(b, a));
24 BOOST_CHECK(!cerle(b, a));
25 BOOST_CHECK(cergt(b, a));
26 BOOST_CHECK(cerge(b, a));
27
28 BOOST_CHECK(poslt(a, b));
29 BOOST_CHECK(posle(a, b));
30 BOOST_CHECK(!posgt(a, b));
31 BOOST_CHECK(!posge(a, b));
32
33 BOOST_CHECK(!poslt(b, a));
34 BOOST_CHECK(!posle(b, a));
35 BOOST_CHECK(posgt(b, a));
36 BOOST_CHECK(posge(b, a));
37
38 BOOST_CHECK(!cereq(a, b));
39 BOOST_CHECK(cerne(a, b));
40 BOOST_CHECK(!poseq(a, b));
41 BOOST_CHECK(posne(a, b));
42
43 BOOST_CHECK(!cereq(b, a));
44 BOOST_CHECK(cerne(b, a));
45 BOOST_CHECK(!poseq(b, a));
46 BOOST_CHECK(posne(b, a));
47
48 # ifdef BOOST_BORLANDC
49 ::detail::ignore_unused_variable_warning(a);
50 ::detail::ignore_unused_variable_warning(b);
51 # endif
52 }
53
54 // comparisons between [1,3] and [2,4]
55
56 static void test_13_24() {
57 const I a(1,3), b(2,4);
58
59 BOOST_CHECK(!cerlt(a, b));
60 BOOST_CHECK(!cerle(a, b));
61 BOOST_CHECK(!cergt(a, b));
62 BOOST_CHECK(!cerge(a, b));
63
64 BOOST_CHECK(!cerlt(b, a));
65 BOOST_CHECK(!cerle(b, a));
66 BOOST_CHECK(!cergt(b, a));
67 BOOST_CHECK(!cerge(b, a));
68
69 BOOST_CHECK(poslt(a, b));
70 BOOST_CHECK(posle(a, b));
71 BOOST_CHECK(posgt(a, b));
72 BOOST_CHECK(posge(a, b));
73
74 BOOST_CHECK(poslt(b, a));
75 BOOST_CHECK(posle(b, a));
76 BOOST_CHECK(posgt(b, a));
77 BOOST_CHECK(posge(b, a));
78
79 BOOST_CHECK(!cereq(a, b));
80 BOOST_CHECK(!cerne(a, b));
81 BOOST_CHECK(poseq(a, b));
82 BOOST_CHECK(posne(a, b));
83
84 BOOST_CHECK(!cereq(b, a));
85 BOOST_CHECK(!cerne(b, a));
86 BOOST_CHECK(poseq(b, a));
87 BOOST_CHECK(posne(b, a));
88
89 # ifdef BOOST_BORLANDC
90 ::detail::ignore_unused_variable_warning(a);
91 ::detail::ignore_unused_variable_warning(b);
92 # endif
93 }
94
95 // comparisons between [1,2] and [2,3]
96
97 static void test_12_23() {
98 const I a(1,2), b(2,3);
99
100 BOOST_CHECK(!cerlt(a, b));
101 BOOST_CHECK(cerle(a, b));
102 BOOST_CHECK(!cergt(a, b));
103 BOOST_CHECK(!cerge(a, b));
104
105 BOOST_CHECK(!cerlt(b, a));
106 BOOST_CHECK(!cerle(b, a));
107 BOOST_CHECK(!cergt(b, a));
108 BOOST_CHECK(cerge(b, a));
109
110 BOOST_CHECK(poslt(a, b));
111 BOOST_CHECK(posle(a, b));
112 BOOST_CHECK(!posgt(a, b));
113 BOOST_CHECK(posge(a, b));
114
115 BOOST_CHECK(!poslt(b, a));
116 BOOST_CHECK(posle(b, a));
117 BOOST_CHECK(posgt(b, a));
118 BOOST_CHECK(posge(b, a));
119
120 BOOST_CHECK(!cereq(a, b));
121 BOOST_CHECK(!cerne(a, b));
122 BOOST_CHECK(poseq(a, b));
123 BOOST_CHECK(posne(a, b));
124
125 BOOST_CHECK(!cereq(b, a));
126 BOOST_CHECK(!cerne(b, a));
127 BOOST_CHECK(poseq(b, a));
128 BOOST_CHECK(posne(b, a));
129
130 # ifdef BOOST_BORLANDC
131 ::detail::ignore_unused_variable_warning(a);
132 ::detail::ignore_unused_variable_warning(b);
133 # endif
134 }
135
136 // comparisons between [1,2] and 0
137
138 static void test_12_0() {
139 const I a(1,2);
140 const int b = 0;
141
142 BOOST_CHECK(!cerlt(a, b));
143 BOOST_CHECK(!cerle(a, b));
144 BOOST_CHECK(cergt(a, b));
145 BOOST_CHECK(cerge(a, b));
146
147 BOOST_CHECK(cerlt(b, a));
148 BOOST_CHECK(cerle(b, a));
149 BOOST_CHECK(!cergt(b, a));
150 BOOST_CHECK(!cerge(b, a));
151
152 BOOST_CHECK(!poslt(a, b));
153 BOOST_CHECK(!posle(a, b));
154 BOOST_CHECK(posgt(a, b));
155 BOOST_CHECK(posge(a, b));
156
157 BOOST_CHECK(poslt(b, a));
158 BOOST_CHECK(posle(b, a));
159 BOOST_CHECK(!posgt(b, a));
160 BOOST_CHECK(!posge(b, a));
161
162 BOOST_CHECK(!cereq(a, b));
163 BOOST_CHECK(cerne(a, b));
164 BOOST_CHECK(!poseq(a, b));
165 BOOST_CHECK(posne(a, b));
166
167 BOOST_CHECK(!cereq(b, a));
168 BOOST_CHECK(cerne(b, a));
169 BOOST_CHECK(!poseq(b, a));
170 BOOST_CHECK(posne(b, a));
171
172 # ifdef BOOST_BORLANDC
173 ::detail::ignore_unused_variable_warning(a);
174 ::detail::ignore_unused_variable_warning(b);
175 # endif
176 }
177
178 // comparisons between [1,2] and 1
179
180 static void test_12_1() {
181 const I a(1,2);
182 const int b = 1;
183
184 BOOST_CHECK(!cerlt(a, b));
185 BOOST_CHECK(!cerle(a, b));
186 BOOST_CHECK(!cergt(a, b));
187 BOOST_CHECK(cerge(a, b));
188
189 BOOST_CHECK(!cerlt(b, a));
190 BOOST_CHECK(cerle(b, a));
191 BOOST_CHECK(!cergt(b, a));
192 BOOST_CHECK(!cerge(b, a));
193
194 BOOST_CHECK(!poslt(a, b));
195 BOOST_CHECK(posle(a, b));
196 BOOST_CHECK(posgt(a, b));
197 BOOST_CHECK(posge(a, b));
198
199 BOOST_CHECK(poslt(b, a));
200 BOOST_CHECK(posle(b, a));
201 BOOST_CHECK(!posgt(b, a));
202 BOOST_CHECK(posge(b, a));
203
204 BOOST_CHECK(!cereq(a, b));
205 BOOST_CHECK(!cerne(a, b));
206 BOOST_CHECK(poseq(a, b));
207 BOOST_CHECK(posne(a, b));
208
209 BOOST_CHECK(!cereq(b, a));
210 BOOST_CHECK(!cerne(b, a));
211 BOOST_CHECK(poseq(b, a));
212 BOOST_CHECK(posne(b, a));
213
214 # ifdef BOOST_BORLANDC
215 ::detail::ignore_unused_variable_warning(a);
216 ::detail::ignore_unused_variable_warning(b);
217 # endif
218 }
219
220 // comparisons between [1,2] and 2
221
222 static void test_12_2() {
223 const I a(1,2);
224 const int b = 2;
225
226 BOOST_CHECK(!cerlt(a, b));
227 BOOST_CHECK(cerle(a, b));
228 BOOST_CHECK(!cergt(a, b));
229 BOOST_CHECK(!cerge(a, b));
230
231 BOOST_CHECK(!cerlt(b, a));
232 BOOST_CHECK(!cerle(b, a));
233 BOOST_CHECK(!cergt(b, a));
234 BOOST_CHECK(cerge(b, a));
235
236 BOOST_CHECK(poslt(a, b));
237 BOOST_CHECK(posle(a, b));
238 BOOST_CHECK(!posgt(a, b));
239 BOOST_CHECK(posge(a, b));
240
241 BOOST_CHECK(!poslt(b, a));
242 BOOST_CHECK(posle(b, a));
243 BOOST_CHECK(posgt(b, a));
244 BOOST_CHECK(posge(b, a));
245
246 BOOST_CHECK(!cereq(a, b));
247 BOOST_CHECK(!cerne(a, b));
248 BOOST_CHECK(poseq(a, b));
249 BOOST_CHECK(posne(a, b));
250
251 BOOST_CHECK(!cereq(b, a));
252 BOOST_CHECK(!cerne(b, a));
253 BOOST_CHECK(poseq(b, a));
254 BOOST_CHECK(posne(b, a));
255
256 # ifdef BOOST_BORLANDC
257 ::detail::ignore_unused_variable_warning(a);
258 ::detail::ignore_unused_variable_warning(b);
259 # endif
260 }
261
262 // comparisons between [1,2] and 3
263
264 static void test_12_3() {
265 const I a(1,2);
266 const int b = 3;
267
268 BOOST_CHECK(cerlt(a, b));
269 BOOST_CHECK(cerle(a, b));
270 BOOST_CHECK(!cergt(a, b));
271 BOOST_CHECK(!cerge(a, b));
272
273 BOOST_CHECK(!cerlt(b, a));
274 BOOST_CHECK(!cerle(b, a));
275 BOOST_CHECK(cergt(b, a));
276 BOOST_CHECK(cerge(b, a));
277
278 BOOST_CHECK(poslt(a, b));
279 BOOST_CHECK(posle(a, b));
280 BOOST_CHECK(!posgt(a, b));
281 BOOST_CHECK(!posge(a, b));
282
283 BOOST_CHECK(!poslt(b, a));
284 BOOST_CHECK(!posle(b, a));
285 BOOST_CHECK(posgt(b, a));
286 BOOST_CHECK(posge(b, a));
287
288 BOOST_CHECK(!cereq(a, b));
289 BOOST_CHECK(cerne(a, b));
290 BOOST_CHECK(!poseq(a, b));
291 BOOST_CHECK(posne(a, b));
292
293 BOOST_CHECK(!cereq(b, a));
294 BOOST_CHECK(cerne(b, a));
295 BOOST_CHECK(!poseq(b, a));
296 BOOST_CHECK(posne(b, a));
297
298 # ifdef BOOST_BORLANDC
299 ::detail::ignore_unused_variable_warning(a);
300 ::detail::ignore_unused_variable_warning(b);
301 # endif
302 }
303
304 static void test_12_12() {
305 const I a(1,2), b(1,2);
306 BOOST_CHECK(!cereq(a, b));
307 BOOST_CHECK(!cerne(a, b));
308 BOOST_CHECK(poseq(a, b));
309 BOOST_CHECK(posne(a, b));
310 BOOST_CHECK(!cereq(b, a));
311 BOOST_CHECK(!cerne(b, a));
312 BOOST_CHECK(poseq(b, a));
313 BOOST_CHECK(posne(b, a));
314 # ifdef BOOST_BORLANDC
315 ::detail::ignore_unused_variable_warning(a);
316 ::detail::ignore_unused_variable_warning(b);
317 # endif
318 }
319
320 static void test_11_11() {
321 const I a(1,1), b(1,1);
322 BOOST_CHECK(cereq(a, b));
323 BOOST_CHECK(!cerne(a, b));
324 BOOST_CHECK(poseq(a, b));
325 BOOST_CHECK(!posne(a, b));
326 BOOST_CHECK(cereq(b, a));
327 BOOST_CHECK(!cerne(b, a));
328 BOOST_CHECK(poseq(b, a));
329 BOOST_CHECK(!posne(b, a));
330 # ifdef BOOST_BORLANDC
331 ::detail::ignore_unused_variable_warning(a);
332 ::detail::ignore_unused_variable_warning(b);
333 # endif
334 }
335
336 static void test_11_1() {
337 const I a(1,1);
338 const int b = 1;
339 BOOST_CHECK(cereq(a, b));
340 BOOST_CHECK(!cerne(a, b));
341 BOOST_CHECK(poseq(a, b));
342 BOOST_CHECK(!posne(a, b));
343 BOOST_CHECK(cereq(b, a));
344 BOOST_CHECK(!cerne(b, a));
345 BOOST_CHECK(poseq(b, a));
346 BOOST_CHECK(!posne(b, a));
347 # ifdef BOOST_BORLANDC
348 ::detail::ignore_unused_variable_warning(a);
349 ::detail::ignore_unused_variable_warning(b);
350 # endif
351 }
352
353 int test_main(int, char *[]) {
354 test_12_34();
355 test_13_24();
356 test_12_23();
357 test_12_0();
358 test_12_1();
359 test_12_2();
360 test_12_3();
361 test_12_12();
362 test_11_11();
363 test_11_1();
364
365 return 0;
366 }