|
|
1.1 ! root 1: /* The Plum Hall Validation Suite for C ! 2: * Unpublished copyright (c) 1986-1991, Chiron Systems Inc and Plum Hall Inc. ! 3: * VERSION: 4 ! 4: * DATE: 1993-01-01 ! 5: * The "ANSI" mode of this suite corresponds to official ANSI C, X3.159-1989. ! 6: * As per your license agreement, your distribution is not to be moved or copied outside the Designated Site ! 7: * without specific permission from Plum Hall Inc. ! 8: */ ! 9: ! 10: /* ! 11: * PREC2B - the fourth quarter of precedence checking ! 12: */ ! 13: #include "defs.h" ! 14: ! 15: static void p2_17(); ! 16: static void p2_18(); ! 17: static void p2_19(); ! 18: static void p2_20(); ! 19: static void p2_21(); ! 20: static void p2_22(); ! 21: static void p2_23(); ! 22: static void p2_24(); ! 23: static void p2_25(); ! 24: static void p2_26(); ! 25: static void p2_27(); ! 26: static void p2_28(); ! 27: static void p2_29(); ! 28: static void p2_30(); ! 29: static void p2_31(); ! 30: static void p2_32(); ! 31: static void p2_33(); ! 32: static void p2_34(); ! 33: static void p2_35(); ! 34: ! 35: void prec2b() ! 36: { ! 37: Filename = "prec2b.c"; ! 38: p2_17(); /* * */ ! 39: p2_18(); /* / */ ! 40: p2_19(); /* % */ ! 41: p2_20(); /* + */ ! 42: p2_21(); /* - */ ! 43: p2_22(); /* >> */ ! 44: p2_23(); /* << */ ! 45: p2_24(); /* > */ ! 46: p2_25(); /* < */ ! 47: p2_26(); /* >= */ ! 48: p2_27(); /* <= */ ! 49: p2_28(); /* == */ ! 50: p2_29(); /* != */ ! 51: p2_30(); /* & */ ! 52: p2_31(); /* ^ */ ! 53: p2_32(); /* | */ ! 54: p2_33(); /* && */ ! 55: p2_34(); /* || */ ! 56: p2_35(); /* ?: */ ! 57: } ! 58: ! 59: /* Z op X*Y */ ! 60: static void p2_17() ! 61: { ! 62: int i = 7; ! 63: int j = 3; ! 64: int k = 2; ! 65: iequals(__LINE__, i/j*k, 4); ! 66: iequals(__LINE__, i%j*k, 2); ! 67: iequals(__LINE__, i+j*k, 13); ! 68: iequals(__LINE__, i-j*k, 1); ! 69: iequals(__LINE__, i>>j*k, 0); ! 70: iequals(__LINE__, i<<j*k, 448); ! 71: iequals(__LINE__, i>j*k, 1); ! 72: iequals(__LINE__, i<j*k, 0); ! 73: iequals(__LINE__, i<=j*k, 0); ! 74: iequals(__LINE__, i>=j*k, 1); ! 75: iequals(__LINE__, i==j*k, 0); ! 76: iequals(__LINE__, i!=j*k, 1); ! 77: iequals(__LINE__, i&j*k, 6); ! 78: iequals(__LINE__, i^j*k, 1); ! 79: iequals(__LINE__, i|j*k, 7); ! 80: iequals(__LINE__, i&&j*k, 1); ! 81: iequals(__LINE__, i||j*k, 1); ! 82: iequals(__LINE__, i?j*k:0, 6); ! 83: iequals(__LINE__, i=j*k, 6); ! 84: iequals(__LINE__, i*=j*k, 36); ! 85: iequals(__LINE__, i/=j*k, 6); ! 86: iequals(__LINE__, i%=j*k, 0); ! 87: iequals(__LINE__, i+=j*k, 6); ! 88: i = 8; ! 89: iequals(__LINE__, i-=j*k, 2); ! 90: iequals(__LINE__, i<<=j*k, 128); ! 91: iequals(__LINE__, i>>=j*k, 2); ! 92: iequals(__LINE__, i&=j*k, 2); ! 93: iequals(__LINE__, i^=j*k, 4); ! 94: iequals(__LINE__, i|=j*k, 6); ! 95: iequals(__LINE__, (i,j*k), 6); ! 96: } ! 97: ! 98: /* Z op X/Y */ ! 99: static void p2_18() ! 100: { ! 101: int i = 7; ! 102: int j = 4; ! 103: int k = 2; ! 104: iequals(__LINE__, i/j/k, 0); ! 105: iequals(__LINE__, i%j/k, 1); ! 106: iequals(__LINE__, i+j/k, 9); ! 107: iequals(__LINE__, i-j/k, 5); ! 108: iequals(__LINE__, i>>j/k, 1); ! 109: iequals(__LINE__, i<<j/k, 28); ! 110: iequals(__LINE__, i>j/k, 1); ! 111: iequals(__LINE__, i<j/k, 0); ! 112: iequals(__LINE__, i<=j/k, 0); ! 113: iequals(__LINE__, i>=j/k, 1); ! 114: iequals(__LINE__, i==j/k, 0); ! 115: iequals(__LINE__, i!=j/k, 1); ! 116: iequals(__LINE__, i&j/k, 2); ! 117: iequals(__LINE__, i^j/k, 5); ! 118: iequals(__LINE__, i|j/k, 7); ! 119: iequals(__LINE__, i&&j/k, 1); ! 120: iequals(__LINE__, i||j/k, 1); ! 121: iequals(__LINE__, i?j/k:0, 2); ! 122: iequals(__LINE__, i=j/k, 2); ! 123: iequals(__LINE__, i*=j/k, 4); ! 124: iequals(__LINE__, i/=j/k, 2); ! 125: iequals(__LINE__, i%=j/k, 0); ! 126: iequals(__LINE__, i+=j/k, 2); ! 127: i = 3; ! 128: iequals(__LINE__, i-=j/k, 1); ! 129: iequals(__LINE__, i<<=j/k, 4); ! 130: iequals(__LINE__, i>>=j/k, 1); ! 131: iequals(__LINE__, i&=j/k, 0); ! 132: iequals(__LINE__, i^=j/k, 2); ! 133: iequals(__LINE__, i|=j/k, 2); ! 134: iequals(__LINE__, (i,j/k), 2); ! 135: } ! 136: ! 137: /* Z op X%Y */ ! 138: static void p2_19() ! 139: { ! 140: int i = 7; ! 141: int j = 6; ! 142: int k = 4; ! 143: iequals(__LINE__, i%j%k, 1); ! 144: iequals(__LINE__, i+j%k, 9); ! 145: iequals(__LINE__, i-j%k, 5); ! 146: iequals(__LINE__, i>>j%k, 1); ! 147: iequals(__LINE__, i<<j%k, 28); ! 148: iequals(__LINE__, i>j%k, 1); ! 149: iequals(__LINE__, i<j%k, 0); ! 150: iequals(__LINE__, i<=j%k, 0); ! 151: iequals(__LINE__, i>=j%k, 1); ! 152: iequals(__LINE__, i==j%k, 0); ! 153: iequals(__LINE__, i!=j%k, 1); ! 154: iequals(__LINE__, i&j%k, 2); ! 155: iequals(__LINE__, i^j%k, 5); ! 156: iequals(__LINE__, i|j%k, 7); ! 157: iequals(__LINE__, i&&j%k, 1); ! 158: iequals(__LINE__, i||j%k, 1); ! 159: iequals(__LINE__, i?j%k:0, 2); ! 160: iequals(__LINE__, i=j%k, 2); ! 161: iequals(__LINE__, i*=j%k, 4); ! 162: iequals(__LINE__, i/=j%k, 2); ! 163: iequals(__LINE__, i%=j%k, 0); ! 164: iequals(__LINE__, i+=j%k, 2); ! 165: i = 3; ! 166: iequals(__LINE__, i-=j%k, 1); ! 167: iequals(__LINE__, i<<=j%k, 4); ! 168: iequals(__LINE__, i>>=j%k, 1); ! 169: iequals(__LINE__, i&=j%k, 0); ! 170: iequals(__LINE__, i^=j%k, 2); ! 171: iequals(__LINE__, i|=j%k, 2); ! 172: iequals(__LINE__, (i,j%k), 2); ! 173: } ! 174: ! 175: /* Z op X+Y */ ! 176: static void p2_20() ! 177: { ! 178: int i = 7; ! 179: int j = 4; ! 180: int k = 2; ! 181: iequals(__LINE__, i+j+k, 13); ! 182: iequals(__LINE__, i-j+k, 5); ! 183: iequals(__LINE__, i>>j+k, 0); ! 184: iequals(__LINE__, i<<j+k, 448); ! 185: iequals(__LINE__, i>j+k, 1); ! 186: iequals(__LINE__, i<j+k, 0); ! 187: iequals(__LINE__, i<=j+k, 0); ! 188: iequals(__LINE__, i>=j+k, 1); ! 189: iequals(__LINE__, i==j+k, 0); ! 190: iequals(__LINE__, i!=j+k, 1); ! 191: iequals(__LINE__, i&j+k, 6); ! 192: iequals(__LINE__, i^j+k, 1); ! 193: iequals(__LINE__, i|j+k, 7); ! 194: iequals(__LINE__, i&&j+k, 1); ! 195: iequals(__LINE__, i||j+k, 1); ! 196: iequals(__LINE__, i?j+k:0, 6); ! 197: iequals(__LINE__, i=j+k, 6); ! 198: iequals(__LINE__, i*=j+k, 36); ! 199: iequals(__LINE__, i/=j+k, 6); ! 200: iequals(__LINE__, i%=j+k, 0); ! 201: iequals(__LINE__, i+=j+k, 6); ! 202: i = 8; ! 203: iequals(__LINE__, i-=j+k, 2); ! 204: iequals(__LINE__, i<<=j+k, 2<<6); ! 205: iequals(__LINE__, i>>=j+k, 2); ! 206: iequals(__LINE__, i&=j+k, 2); ! 207: iequals(__LINE__, i^=j+k, 4); ! 208: iequals(__LINE__, i|=j+k, 6); ! 209: iequals(__LINE__, (i,j+k), 6); ! 210: } ! 211: ! 212: /* Z op X-Y */ ! 213: static void p2_21() ! 214: { ! 215: int i = 7; ! 216: int j = 4; ! 217: int k = 2; ! 218: iequals(__LINE__, i-j-k, 1); ! 219: iequals(__LINE__, i>>j-k, 1); ! 220: iequals(__LINE__, i<<j-k, 28); ! 221: iequals(__LINE__, i>j-k, 1); ! 222: iequals(__LINE__, i<j-k, 0); ! 223: iequals(__LINE__, i<=j-k, 0); ! 224: iequals(__LINE__, i>=j-k, 1); ! 225: iequals(__LINE__, i==j-k, 0); ! 226: iequals(__LINE__, i!=j-k, 1); ! 227: iequals(__LINE__, i&j-k, 2); ! 228: iequals(__LINE__, i^j-k, 5); ! 229: iequals(__LINE__, i|j-k, 7); ! 230: iequals(__LINE__, i&&j-k, 1); ! 231: iequals(__LINE__, i||j-k, 1); ! 232: iequals(__LINE__, i?j-k:0, 2); ! 233: iequals(__LINE__, i=j-k, 2); ! 234: iequals(__LINE__, i*=j-k, 4); ! 235: iequals(__LINE__, i/=j-k, 2); ! 236: iequals(__LINE__, i%=j-k, 0); ! 237: iequals(__LINE__, i+=j-k, 2); ! 238: iequals(__LINE__, i-=j-k, 0); ! 239: i = 3; ! 240: iequals(__LINE__, i<<=j-k, 12); ! 241: iequals(__LINE__, i>>=j-k, 3); ! 242: iequals(__LINE__, i&=j-k, 2); ! 243: iequals(__LINE__, i^=j-k, 0); ! 244: iequals(__LINE__, i|=j-k, 2); ! 245: iequals(__LINE__, (i,j-k), 2); ! 246: } ! 247: ! 248: /* Z op X>>Y */ ! 249: static void p2_22() ! 250: { ! 251: int i = 7; ! 252: int j = 4; ! 253: int k = 2; ! 254: iequals(__LINE__, i>>j>>k, 0); ! 255: iequals(__LINE__, i<<j>>k, 28); ! 256: iequals(__LINE__, i>j>>k, 1); ! 257: iequals(__LINE__, i<j>>k, 0); ! 258: iequals(__LINE__, i<=j>>k, 0); ! 259: iequals(__LINE__, i>=j>>k, 1); ! 260: iequals(__LINE__, i==j>>k, 0); ! 261: iequals(__LINE__, i!=j>>k, 1); ! 262: iequals(__LINE__, i&j>>k, 1); ! 263: iequals(__LINE__, i^j>>k, 6); ! 264: iequals(__LINE__, i|j>>k, 7); ! 265: iequals(__LINE__, i&&j>>k, 1); ! 266: iequals(__LINE__, i||j>>k, 1); ! 267: iequals(__LINE__, i?j>>k:0, 1); ! 268: iequals(__LINE__, i=j>>k, 1); ! 269: iequals(__LINE__, i*=j>>k, 1); ! 270: iequals(__LINE__, i/=j>>k, 1); ! 271: iequals(__LINE__, i%=j>>k, 0); ! 272: iequals(__LINE__, i+=j>>k, 1); ! 273: iequals(__LINE__, i-=j>>k, 0); ! 274: i = 3; ! 275: iequals(__LINE__, i<<=j>>k, 6); ! 276: iequals(__LINE__, i>>=j>>k, 3); ! 277: iequals(__LINE__, i&=j>>k, 1); ! 278: iequals(__LINE__, i^=j>>k, 0); ! 279: iequals(__LINE__, i|=j>>k, 1); ! 280: iequals(__LINE__, (i,j>>k), 1); ! 281: } ! 282: ! 283: /* Z op X<<Y */ ! 284: static void p2_23() ! 285: { ! 286: int i = 7; ! 287: int j = 2; ! 288: int k = 1; ! 289: iequals(__LINE__, i<<j<<k, 56); ! 290: iequals(__LINE__, i>j<<k, 1); ! 291: iequals(__LINE__, i<j<<k, 0); ! 292: iequals(__LINE__, i<=j<<k, 0); ! 293: iequals(__LINE__, i>=j<<k, 1); ! 294: iequals(__LINE__, i==j<<k, 0); ! 295: iequals(__LINE__, i!=j<<k, 1); ! 296: iequals(__LINE__, i&j<<k, 4); ! 297: iequals(__LINE__, i^j<<k, 3); ! 298: iequals(__LINE__, i|j<<k, 7); ! 299: iequals(__LINE__, i&&j<<k, 1); ! 300: iequals(__LINE__, i||j<<k, 1); ! 301: iequals(__LINE__, i?j<<k:0, 4); ! 302: iequals(__LINE__, i=j<<k, 4); ! 303: iequals(__LINE__, i*=j<<k, 16); ! 304: iequals(__LINE__, i/=j<<k, 4); ! 305: iequals(__LINE__, i%=j<<k, 0); ! 306: iequals(__LINE__, i+=j<<k, 4); ! 307: iequals(__LINE__, i-=j<<k, 0); ! 308: i = 3; ! 309: iequals(__LINE__, i<<=j<<k, 48); ! 310: iequals(__LINE__, i>>=j<<k, 3); ! 311: iequals(__LINE__, i&=j<<k, 0); ! 312: iequals(__LINE__, i^=j<<k, 4); ! 313: iequals(__LINE__, i|=j<<k, 4); ! 314: iequals(__LINE__, (i,j<<k), 4); ! 315: } ! 316: ! 317: /* Z op X>Y */ ! 318: static void p2_24() ! 319: { ! 320: int i = 7; ! 321: int j = 4; ! 322: int k = 2; ! 323: iequals(__LINE__, i>j>k, 0); ! 324: iequals(__LINE__, i<j>k, 0); ! 325: iequals(__LINE__, i<=j>k, 0); ! 326: iequals(__LINE__, i>=j>k, 0); ! 327: iequals(__LINE__, i==j>k, 0); ! 328: iequals(__LINE__, i!=j>k, 1); ! 329: iequals(__LINE__, i&j>k, 1); ! 330: iequals(__LINE__, i^j>k, 6); ! 331: iequals(__LINE__, i|j>k, 7); ! 332: iequals(__LINE__, i&&j>k, 1); ! 333: iequals(__LINE__, i||j>k, 1); ! 334: iequals(__LINE__, i?j>k:0, 1); ! 335: iequals(__LINE__, i=j>k, 1); ! 336: iequals(__LINE__, i*=j>k, 1); ! 337: iequals(__LINE__, i/=j>k, 1); ! 338: iequals(__LINE__, i%=j>k, 0); ! 339: iequals(__LINE__, i+=j>k, 1); ! 340: iequals(__LINE__, i-=j>k, 0); ! 341: i = 3; ! 342: iequals(__LINE__, i<<=j>k, 6); ! 343: iequals(__LINE__, i>>=j>k, 3); ! 344: iequals(__LINE__, i&=j>k, 1); ! 345: iequals(__LINE__, i^=j>k, 0); ! 346: iequals(__LINE__, i|=j>k, 1); ! 347: iequals(__LINE__, (i,j>k), 1); ! 348: } ! 349: ! 350: /* Z op X<Y */ ! 351: static void p2_25() ! 352: { ! 353: int i = 7; ! 354: int j = 2; ! 355: int k = 4; ! 356: iequals(__LINE__, i-j<k, 0); ! 357: iequals(__LINE__, i>j<k, 1); ! 358: iequals(__LINE__, i<j<k, 1); ! 359: iequals(__LINE__, i<=j<k, 1); ! 360: iequals(__LINE__, i>=j<k, 1); ! 361: iequals(__LINE__, i==j<k, 0); ! 362: iequals(__LINE__, i!=j<k, 1); ! 363: iequals(__LINE__, i&j<k, 1); ! 364: iequals(__LINE__, i^j<k, 6); ! 365: iequals(__LINE__, i|j<k, 7); ! 366: iequals(__LINE__, i&&j<k, 1); ! 367: iequals(__LINE__, i||j<k, 1); ! 368: iequals(__LINE__, i?j<k:0, 1); ! 369: iequals(__LINE__, i=j<k, 1); ! 370: iequals(__LINE__, i*=j<k, 1); ! 371: iequals(__LINE__, i/=j<k, 1); ! 372: iequals(__LINE__, i%=j<k, 0); ! 373: iequals(__LINE__, i+=j<k, 1); ! 374: iequals(__LINE__, i-=j<k, 0); ! 375: i = 3; ! 376: iequals(__LINE__, i<<=j<k, 6); ! 377: iequals(__LINE__, i>>=j<k, 3); ! 378: iequals(__LINE__, i&=j<k, 1); ! 379: iequals(__LINE__, i^=j<k, 0); ! 380: iequals(__LINE__, i|=j<k, 1); ! 381: iequals(__LINE__, (i,j<k), 1); ! 382: } ! 383: ! 384: /* Z op X>=Y */ ! 385: static void p2_26() ! 386: { ! 387: int i = 7; ! 388: int j = 4; ! 389: int k = 2; ! 390: iequals(__LINE__, i<=j>=k, 0); ! 391: iequals(__LINE__, i>=j>=k, 0); ! 392: iequals(__LINE__, i==j>=k, 0); ! 393: iequals(__LINE__, i!=j>=k, 1); ! 394: iequals(__LINE__, i&j>=k, 1); ! 395: iequals(__LINE__, i^j>=k, 6); ! 396: iequals(__LINE__, i|j>=k, 7); ! 397: iequals(__LINE__, i&&j>=k, 1); ! 398: iequals(__LINE__, i||j>=k, 1); ! 399: iequals(__LINE__, i?j>=k:0, 1); ! 400: iequals(__LINE__, i=j>=k, 1); ! 401: iequals(__LINE__, i*=j>=k, 1); ! 402: iequals(__LINE__, i/=j>=k, 1); ! 403: iequals(__LINE__, i%=j>=k, 0); ! 404: iequals(__LINE__, i+=j>=k, 1); ! 405: iequals(__LINE__, i-=j>=k, 0); ! 406: i = 3; ! 407: iequals(__LINE__, i<<=j>=k, 6); ! 408: iequals(__LINE__, i>>=j>=k, 3); ! 409: iequals(__LINE__, i&=j>=k, 1); ! 410: iequals(__LINE__, i^=j>=k, 0); ! 411: iequals(__LINE__, i|=j>=k, 1); ! 412: iequals(__LINE__, (i,j>=k), 1); ! 413: } ! 414: ! 415: /* Z op X<=Y */ ! 416: static void p2_27() ! 417: { ! 418: int i = 7; ! 419: int j = 4; ! 420: int k = 4; ! 421: iequals(__LINE__, i>=j<=k, 1); ! 422: iequals(__LINE__, i==j<=k, 0); ! 423: iequals(__LINE__, i!=j<=k, 1); ! 424: iequals(__LINE__, i&j<=k, 1); ! 425: iequals(__LINE__, i^j<=k, 6); ! 426: iequals(__LINE__, i|j<=k, 7); ! 427: iequals(__LINE__, i&&j<=k, 1); ! 428: iequals(__LINE__, i||j<=k, 1); ! 429: iequals(__LINE__, i?j<=k:0, 1); ! 430: iequals(__LINE__, i=j<=k, 1); ! 431: iequals(__LINE__, i*=j<=k, 1); ! 432: iequals(__LINE__, i/=j<=k, 1); ! 433: iequals(__LINE__, i%=j<=k, 0); ! 434: iequals(__LINE__, i+=j<=k, 1); ! 435: iequals(__LINE__, i-=j<=k, 0); ! 436: i = 3; ! 437: iequals(__LINE__, i<<=j<=k, 6); ! 438: iequals(__LINE__, i>>=j<=k, 3); ! 439: iequals(__LINE__, i&=j<=k, 1); ! 440: iequals(__LINE__, i^=j<=k, 0); ! 441: iequals(__LINE__, i|=j<=k, 1); ! 442: iequals(__LINE__, (i,j<=k), 1); ! 443: } ! 444: ! 445: /* Z op X==Y */ ! 446: static void p2_28() ! 447: { ! 448: int i = 7; ! 449: int j = 4; ! 450: int k = 4; ! 451: iequals(__LINE__, i==j==k, 0); ! 452: iequals(__LINE__, i!=j==k, 0); ! 453: iequals(__LINE__, i&j==k, 1); ! 454: iequals(__LINE__, i^j==k, 6); ! 455: iequals(__LINE__, i|j==k, 7); ! 456: iequals(__LINE__, i&&j==k, 1); ! 457: iequals(__LINE__, i||j==k, 1); ! 458: iequals(__LINE__, i?j==k:0, 1); ! 459: iequals(__LINE__, i=j==k, 1); ! 460: iequals(__LINE__, i*=j==k, 1); ! 461: iequals(__LINE__, i/=j==k, 1); ! 462: iequals(__LINE__, i%=j==k, 0); ! 463: iequals(__LINE__, i+=j==k, 1); ! 464: iequals(__LINE__, i-=j==k, 0); ! 465: i = 3; ! 466: iequals(__LINE__, i<<=j==k, 6); ! 467: iequals(__LINE__, i>>=j==k, 3); ! 468: iequals(__LINE__, i&=j==k, 1); ! 469: iequals(__LINE__, i^=j==k, 0); ! 470: iequals(__LINE__, i|=j==k, 1); ! 471: iequals(__LINE__, (i,j==k), 1); ! 472: } ! 473: ! 474: /* Z op X!=Y */ ! 475: static void p2_29() ! 476: { ! 477: int i = 7; ! 478: int j = 4; ! 479: int k = 2; ! 480: iequals(__LINE__, i!=j!=k, 1); ! 481: iequals(__LINE__, i&j!=k, 1); ! 482: iequals(__LINE__, i^j!=k, 6); ! 483: iequals(__LINE__, i|j!=k, 7); ! 484: iequals(__LINE__, i&&j!=k, 1); ! 485: iequals(__LINE__, i||j!=k, 1); ! 486: iequals(__LINE__, i?j!=k:0, 1); ! 487: iequals(__LINE__, i=j!=k, 1); ! 488: iequals(__LINE__, i*=j!=k, 1); ! 489: iequals(__LINE__, i/=j!=k, 1); ! 490: iequals(__LINE__, i%=j!=k, 0); ! 491: iequals(__LINE__, i+=j!=k, 1); ! 492: iequals(__LINE__, i-=j!=k, 0); ! 493: i = 3; ! 494: iequals(__LINE__, i<<=j!=k, 6); ! 495: iequals(__LINE__, i>>=j!=k, 3); ! 496: iequals(__LINE__, i&=j!=k, 1); ! 497: iequals(__LINE__, i^=j!=k, 0); ! 498: iequals(__LINE__, i|=j!=k, 1); ! 499: iequals(__LINE__, (i,j!=k), 1); ! 500: } ! 501: ! 502: /* Z op X&Y */ ! 503: static void p2_30() ! 504: { ! 505: int i = 7; ! 506: int j = 3; ! 507: int k = 2; ! 508: iequals(__LINE__, i&j&k, 2); ! 509: iequals(__LINE__, i^j&k, 5); ! 510: iequals(__LINE__, i|j&k, 7); ! 511: iequals(__LINE__, i&&j&k, 1); ! 512: iequals(__LINE__, i||j&k, 1); ! 513: iequals(__LINE__, i?j&k:0, 2); ! 514: iequals(__LINE__, i=j&k, 2); ! 515: iequals(__LINE__, i*=j&k, 4); ! 516: iequals(__LINE__, i/=j&k, 2); ! 517: iequals(__LINE__, i%=j&k, 0); ! 518: iequals(__LINE__, i+=j&k, 2); ! 519: iequals(__LINE__, i-=j&k, 0); ! 520: i = 3; ! 521: iequals(__LINE__, i<<=j&k, 12); ! 522: iequals(__LINE__, i>>=j&k, 3); ! 523: iequals(__LINE__, i&=j&k, 2); ! 524: iequals(__LINE__, i^=j&k, 0); ! 525: iequals(__LINE__, i|=j&k, 2); ! 526: iequals(__LINE__, (i,j&k), 2); ! 527: } ! 528: ! 529: /* Z op X^Y */ ! 530: static void p2_31() ! 531: { ! 532: int i = 7; ! 533: int j = 4; ! 534: int k = 2; ! 535: iequals(__LINE__, i^j^k, 1); ! 536: iequals(__LINE__, i|j^k, 7); ! 537: iequals(__LINE__, i&&j^k, 1); ! 538: iequals(__LINE__, i||j^k, 1); ! 539: iequals(__LINE__, i?j^k:0, 6); ! 540: iequals(__LINE__, i=j^k, 6); ! 541: iequals(__LINE__, i*=j^k, 36); ! 542: iequals(__LINE__, i/=j^k, 6); ! 543: iequals(__LINE__, i%=j^k, 0); ! 544: iequals(__LINE__, i+=j^k, 6); ! 545: iequals(__LINE__, i-=j^k, 0); ! 546: iequals(__LINE__, i<<=j^k, 0); ! 547: iequals(__LINE__, i>>=j^k, 0); ! 548: i = 3; ! 549: iequals(__LINE__, i&=j^k, 2); ! 550: iequals(__LINE__, i^=j^k, 4); ! 551: iequals(__LINE__, i|=j^k, 6); ! 552: iequals(__LINE__, (i,j^k), 6); ! 553: } ! 554: ! 555: /* Z op X|Y */ ! 556: static void p2_32() ! 557: { ! 558: int i = 7; ! 559: int j = 4; ! 560: int k = 2; ! 561: iequals(__LINE__, i|j|k, 7); ! 562: iequals(__LINE__, i&&j|k, 1); ! 563: iequals(__LINE__, i||j|k, 1); ! 564: iequals(__LINE__, i?j|k:0, 6); ! 565: iequals(__LINE__, i=j|k, 6); ! 566: iequals(__LINE__, i*=j|k, 36); ! 567: iequals(__LINE__, i/=j|k, 6); ! 568: iequals(__LINE__, i%=j|k, 0); ! 569: iequals(__LINE__, i+=j|k, 6); ! 570: iequals(__LINE__, i-=j|k, 0); ! 571: i = 3; ! 572: iequals(__LINE__, i<<=j|k, 192); ! 573: iequals(__LINE__, i>>=j|k, 3); ! 574: iequals(__LINE__, i&=j|k, 2); ! 575: iequals(__LINE__, i^=j|k, 4); ! 576: iequals(__LINE__, i|=j|k, 6); ! 577: iequals(__LINE__, (i,j|k), 6); ! 578: } ! 579: ! 580: /* Z op X&&Y */ ! 581: static void p2_33() ! 582: { ! 583: int i = 7; ! 584: int j = 4; ! 585: int k = 2; ! 586: iequals(__LINE__, i&&j&&k, 1); ! 587: iequals(__LINE__, i||j&&k, 1); ! 588: iequals(__LINE__, i?j&&k:0, 1); ! 589: iequals(__LINE__, i=j&&k, 1); ! 590: iequals(__LINE__, i*=j&&k, 1); ! 591: iequals(__LINE__, i/=j&&k, 1); ! 592: iequals(__LINE__, i%=j&&k, 0); ! 593: iequals(__LINE__, i+=j&&k, 1); ! 594: iequals(__LINE__, i-=j&&k, 0); ! 595: i = 3; ! 596: iequals(__LINE__, i<<=j&&k, 6); ! 597: iequals(__LINE__, i>>=j&&k, 3); ! 598: iequals(__LINE__, i&=j&&k, 1); ! 599: iequals(__LINE__, i^=j&&k, 0); ! 600: iequals(__LINE__, i|=j&&k, 1); ! 601: iequals(__LINE__, (i,j&&k), 1); ! 602: } ! 603: ! 604: /* Z op X||Y */ ! 605: static void p2_34() ! 606: { ! 607: int i = 7; ! 608: int j = 4; ! 609: int k = 2; ! 610: iequals(__LINE__, i||j||k, 1); ! 611: iequals(__LINE__, i?j||k:0, 1); ! 612: iequals(__LINE__, i=j||k, 1); ! 613: iequals(__LINE__, i*=j||k, 1); ! 614: iequals(__LINE__, i/=j||k, 1); ! 615: iequals(__LINE__, i%=j||k, 0); ! 616: iequals(__LINE__, i+=j||k, 1); ! 617: iequals(__LINE__, i-=j||k, 0); ! 618: i = 3; ! 619: iequals(__LINE__, i<<=j||k, 6); ! 620: iequals(__LINE__, i>>=j||k, 3); ! 621: iequals(__LINE__, i&=j||k, 1); ! 622: iequals(__LINE__, i^=j||k, 0); ! 623: iequals(__LINE__, i|=j||k, 1); ! 624: iequals(__LINE__, (i,j||k), 1); ! 625: } ! 626: ! 627: /* Z op X?Y */ ! 628: static void p2_35() ! 629: { ! 630: int i = 7; ! 631: int j = 4; ! 632: int k = 2; ! 633: int l = 0; ! 634: iequals(__LINE__, i=j?k:l, 2); ! 635: iequals(__LINE__, i*=j?k:l, 4); ! 636: iequals(__LINE__, i/=j?k:l, 2); ! 637: iequals(__LINE__, i%=j?k:l, 0); ! 638: iequals(__LINE__, i+=j?k:l, 2); ! 639: iequals(__LINE__, i-=j?k:l, 0); ! 640: i = 3; ! 641: iequals(__LINE__, i<<=j?k:l, 12); ! 642: iequals(__LINE__, i>>=j?k:l, 3); ! 643: iequals(__LINE__, i&=j?k:l, 2); ! 644: iequals(__LINE__, i^=j?k:l, 0); ! 645: iequals(__LINE__, i|=j?k:l, 2); ! 646: iequals(__LINE__, (i,j?k:l), 2); ! 647: } ! 648:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.