1 #include <limits.h>
2
gt(a,b)3 gt (a, b)
4 {
5 return a > b;
6 }
7
ge(a,b)8 ge (a, b)
9 {
10 return a >= b;
11 }
12
lt(a,b)13 lt (a, b)
14 {
15 return a < b;
16 }
17
le(a,b)18 le (a, b)
19 {
20 return a <= b;
21 }
22
23 void
24 true (c)
25 {
26 if (!c)
27 abort();
28 }
29
30 void
31 false (c)
32 {
33 if (c)
34 abort();
35 }
36
f()37 f ()
38 {
39 true (gt (2, 1));
40 false (gt (1, 2));
41
42 true (gt (INT_MAX, 0));
43 false (gt (0, INT_MAX));
44 true (gt (INT_MAX, 1));
45 false (gt (1, INT_MAX));
46
47 false (gt (INT_MIN, 0));
48 true (gt (0, INT_MIN));
49 false (gt (INT_MIN, 1));
50 true (gt (1, INT_MIN));
51
52 true (gt (INT_MAX, INT_MIN));
53 false (gt (INT_MIN, INT_MAX));
54
55 true (ge (2, 1));
56 false (ge (1, 2));
57
58 true (ge (INT_MAX, 0));
59 false (ge (0, INT_MAX));
60 true (ge (INT_MAX, 1));
61 false (ge (1, INT_MAX));
62
63 false (ge (INT_MIN, 0));
64 true (ge (0, INT_MIN));
65 false (ge (INT_MIN, 1));
66 true (ge (1, INT_MIN));
67
68 true (ge (INT_MAX, INT_MIN));
69 false (ge (INT_MIN, INT_MAX));
70
71 false (lt (2, 1));
72 true (lt (1, 2));
73
74 false (lt (INT_MAX, 0));
75 true (lt (0, INT_MAX));
76 false (lt (INT_MAX, 1));
77 true (lt (1, INT_MAX));
78
79 true (lt (INT_MIN, 0));
80 false (lt (0, INT_MIN));
81 true (lt (INT_MIN, 1));
82 false (lt (1, INT_MIN));
83
84 false (lt (INT_MAX, INT_MIN));
85 true (lt (INT_MIN, INT_MAX));
86
87 false (le (2, 1));
88 true (le (1, 2));
89
90 false (le (INT_MAX, 0));
91 true (le (0, INT_MAX));
92 false (le (INT_MAX, 1));
93 true (le (1, INT_MAX));
94
95 true (le (INT_MIN, 0));
96 false (le (0, INT_MIN));
97 true (le (INT_MIN, 1));
98 false (le (1, INT_MIN));
99
100 false (le (INT_MAX, INT_MIN));
101 true (le (INT_MIN, INT_MAX));
102 }
103
main()104 main ()
105 {
106 f ();
107 exit (0);
108 }
109