1#include <limits.h> 2 3gt (a, b) 4{ 5 return a > b; 6} 7 8ge (a, b) 9{ 10 return a >= b; 11} 12 13lt (a, b) 14{ 15 return a < b; 16} 17 18le (a, b) 19{ 20 return a <= b; 21} 22 23void 24true (c) 25{ 26 if (!c) 27 abort(); 28} 29 30void 31false (c) 32{ 33 if (c) 34 abort(); 35} 36 37f () 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 104main () 105{ 106 f (); 107 exit (0); 108} 109