1#define F 140 2#define T 13 3 4feq (x, y) 5 long long int x; 6 long long int y; 7{ 8 if (x == y) 9 return T; 10 else 11 return F; 12} 13 14fne (x, y) 15 long long int x; 16 long long int y; 17{ 18 if (x != y) 19 return T; 20 else 21 return F; 22} 23 24flt (x, y) 25 long long int x; 26 long long int y; 27{ 28 if (x < y) 29 return T; 30 else 31 return F; 32} 33 34fge (x, y) 35 long long int x; 36 long long int y; 37{ 38 if (x >= y) 39 return T; 40 else 41 return F; 42} 43 44fgt (x, y) 45 long long int x; 46 long long int y; 47{ 48 if (x > y) 49 return T; 50 else 51 return F; 52} 53 54fle (x, y) 55 long long int x; 56 long long int y; 57{ 58 if (x <= y) 59 return T; 60 else 61 return F; 62} 63 64fltu (x, y) 65 unsigned long long int x; 66 unsigned long long int y; 67{ 68 if (x < y) 69 return T; 70 else 71 return F; 72} 73 74fgeu (x, y) 75 unsigned long long int x; 76 unsigned long long int y; 77{ 78 if (x >= y) 79 return T; 80 else 81 return F; 82} 83 84fgtu (x, y) 85 unsigned long long int x; 86 unsigned long long int y; 87{ 88 if (x > y) 89 return T; 90 else 91 return F; 92} 93 94fleu (x, y) 95 unsigned long long int x; 96 unsigned long long int y; 97{ 98 if (x <= y) 99 return T; 100 else 101 return F; 102} 103 104long long args[] = 105{ 106 0LL, 107 1LL, 108 -1LL, 109 0x7fffffffffffffffLL, 110 0x8000000000000000LL, 111 0x8000000000000001LL, 112 0x1A3F237394D36C58LL, 113 0x93850E92CAAC1B04LL 114}; 115 116int correct_results[] = 117{ 118 T, F, F, T, F, T, F, T, F, T, 119 F, T, T, F, F, T, T, F, F, T, 120 F, T, F, T, T, F, T, F, F, T, 121 F, T, T, F, F, T, T, F, F, T, 122 F, T, F, T, T, F, T, F, F, T, 123 F, T, F, T, T, F, T, F, F, T, 124 F, T, T, F, F, T, T, F, F, T, 125 F, T, F, T, T, F, T, F, F, T, 126 F, T, F, T, T, F, F, T, T, F, 127 T, F, F, T, F, T, F, T, F, T, 128 F, T, F, T, T, F, T, F, F, T, 129 F, T, T, F, F, T, T, F, F, T, 130 F, T, F, T, T, F, T, F, F, T, 131 F, T, F, T, T, F, T, F, F, T, 132 F, T, T, F, F, T, T, F, F, T, 133 F, T, F, T, T, F, T, F, F, T, 134 F, T, T, F, F, T, F, T, T, F, 135 F, T, T, F, F, T, F, T, T, F, 136 T, F, F, T, F, T, F, T, F, T, 137 F, T, T, F, F, T, F, T, T, F, 138 F, T, F, T, T, F, F, T, T, F, 139 F, T, F, T, T, F, F, T, T, F, 140 F, T, T, F, F, T, F, T, T, F, 141 F, T, F, T, T, F, F, T, T, F, 142 F, T, F, T, T, F, F, T, T, F, 143 F, T, F, T, T, F, F, T, T, F, 144 F, T, F, T, T, F, T, F, F, T, 145 T, F, F, T, F, T, F, T, F, T, 146 F, T, F, T, T, F, T, F, F, T, 147 F, T, F, T, T, F, T, F, F, T, 148 F, T, F, T, T, F, F, T, T, F, 149 F, T, F, T, T, F, T, F, F, T, 150 F, T, T, F, F, T, F, T, T, F, 151 F, T, T, F, F, T, F, T, T, F, 152 F, T, T, F, F, T, T, F, F, T, 153 F, T, T, F, F, T, F, T, T, F, 154 T, F, F, T, F, T, F, T, F, T, 155 F, T, T, F, F, T, T, F, F, T, 156 F, T, T, F, F, T, F, T, T, F, 157 F, T, T, F, F, T, T, F, F, T, 158 F, T, T, F, F, T, F, T, T, F, 159 F, T, T, F, F, T, F, T, T, F, 160 F, T, T, F, F, T, T, F, F, T, 161 F, T, T, F, F, T, F, T, T, F, 162 F, T, F, T, T, F, F, T, T, F, 163 T, F, F, T, F, T, F, T, F, T, 164 F, T, T, F, F, T, F, T, T, F, 165 F, T, T, F, F, T, T, F, F, T, 166 F, T, F, T, T, F, F, T, T, F, 167 F, T, F, T, T, F, F, T, T, F, 168 F, T, F, T, T, F, T, F, F, T, 169 F, T, T, F, F, T, T, F, F, T, 170 F, T, F, T, T, F, T, F, F, T, 171 F, T, F, T, T, F, T, F, F, T, 172 T, F, F, T, F, T, F, T, F, T, 173 F, T, F, T, T, F, T, F, F, T, 174 F, T, T, F, F, T, F, T, T, F, 175 F, T, T, F, F, T, F, T, T, F, 176 F, T, T, F, F, T, T, F, F, T, 177 F, T, T, F, F, T, F, T, T, F, 178 F, T, F, T, T, F, F, T, T, F, 179 F, T, F, T, T, F, F, T, T, F, 180 F, T, T, F, F, T, F, T, T, F, 181 T, F, F, T, F, T, F, T, F, T 182}; 183 184main () 185{ 186 int i, j, *res = correct_results; 187 188 for (i = 0; i < 8; i++) 189 { 190 long long arg0 = args[i]; 191 for (j = 0; j < 8; j++) 192 { 193 long long arg1 = args[j]; 194 195 if (feq (arg0, arg1) != *res++) 196 abort (); 197 if (fne (arg0, arg1) != *res++) 198 abort (); 199 if (flt (arg0, arg1) != *res++) 200 abort (); 201 if (fge (arg0, arg1) != *res++) 202 abort (); 203 if (fgt (arg0, arg1) != *res++) 204 abort (); 205 if (fle (arg0, arg1) != *res++) 206 abort (); 207 if (fltu (arg0, arg1) != *res++) 208 abort (); 209 if (fgeu (arg0, arg1) != *res++) 210 abort (); 211 if (fgtu (arg0, arg1) != *res++) 212 abort (); 213 if (fleu (arg0, arg1) != *res++) 214 abort (); 215 } 216 } 217 exit (0); 218} 219