yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
f5551eb94
master
1//TEST(compute):COMPARE_COMPUTE:-shaderobj 2 3//TEST_INPUT:ubuffer(data=[3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8 7 3 8], stride=4):name=input 4RWStructuredBuffer<uint> input; 5 6//TEST_INPUT:ubuffer(data=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0], stride=4):out,name=output 7RWStructuredBuffer<uint> output; 8 9[numthreads(1,1,1)] 10void computeMain() 11{ 12 13 uint na; // 3 14 uint nb; // 7 15 uint nc; // 8 16 bool ba; // true 17 bool bb; // false 18 bool bc; // true 19 20 // The following test cases are generated by this Python program: 21 // def pairs(a, b): 22 // for x in a: 23 // for y in b: 24 // yield (x, y) 25 // 26 // nn = ['^', '|', '&', '*', '/', '%', '+', '-', '<<', '>>']; 27 // xb = ['<', '>', '<=', '>=', '==', '!='] 28 // bb = ['&&', '||', '==', '!='] 29 // rl = ['<', '>', '<=', '>='] 30 // eq = ['==', '!='] 31 // lg = ['&&', '||'] 32 // 33 // iidx = 0 34 // oidx = 0 35 // 36 // for (l, r) in pairs(nn, nn): 37 // print("na = input[{}];".format(iidx + 0)) 38 // print("nb = input[{}];".format(iidx + 1)) 39 // print("nc = input[{}];".format(iidx + 2)) 40 // print("output[{}] = na {} nb {} nc;".format(oidx, l, r)) 41 // oidx += 1 42 // iidx += 3 43 // 44 // for (l, r) in pairs(nn, xb): 45 // print("na = input[{}];".format(iidx + 0)) 46 // print("nb = input[{}];".format(iidx + 1)) 47 // print("nc = input[{}];".format(iidx + 2)) 48 // print("output[{}] = uint(na {} nb {} nc);".format(oidx, l, r)) 49 // oidx += 1 50 // print("output[{}] = uint(na {} nb {} nc);".format(oidx, r, l)) 51 // oidx += 1 52 // iidx += 3 53 // 54 // for (l, r) in pairs(bb, bb): 55 // print("ba = bool(input[{}] & 1);".format(iidx + 0)) 56 // print("bb = bool(input[{}] & 16);".format(iidx + 1)) 57 // print("bc = bool(input[{}] & 8);".format(iidx + 2)) 58 // print("output[{}] = uint(ba {} bb {} bc);".format(oidx, l, r)) 59 // oidx += 1 60 // iidx += 3 61 // 62 // for (l, r) in pairs(eq + lg, rl): 63 // print("na = input[{}];".format(iidx + 0)) 64 // print("nb = input[{}];".format(iidx + 1)) 65 // print("nc = input[{}];".format(iidx + 2)) 66 // print("ba = bool(input[{}] & 1);".format(iidx + 3)) 67 // print("bc = bool(input[{}] & 8);".format(iidx + 4)) 68 // print("output[{}] = uint(ba {} nb {} nc);".format(oidx, l, r)) 69 // oidx += 1 70 // print("output[{}] = uint(na {} nb {} bc);".format(oidx, r, l)) 71 // oidx += 1 72 // iidx += 5 73 74 na = input[0]; 75 nb = input[1]; 76 nc = input[2]; 77 output[0] = na ^ nb ^ nc; 78 na = input[3]; 79 nb = input[4]; 80 nc = input[5]; 81 output[1] = na ^ nb | nc; 82 na = input[6]; 83 nb = input[7]; 84 nc = input[8]; 85 output[2] = na ^ nb & nc; 86 na = input[9]; 87 nb = input[10]; 88 nc = input[11]; 89 output[3] = na ^ nb * nc; 90 na = input[12]; 91 nb = input[13]; 92 nc = input[14]; 93 output[4] = na ^ nb / nc; 94 na = input[15]; 95 nb = input[16]; 96 nc = input[17]; 97 output[5] = na ^ nb % nc; 98 na = input[18]; 99 nb = input[19]; 100 nc = input[20]; 101 output[6] = na ^ nb + nc; 102 na = input[21]; 103 nb = input[22]; 104 nc = input[23]; 105 output[7] = na ^ nb - nc; 106 na = input[24]; 107 nb = input[25]; 108 nc = input[26]; 109 output[8] = na ^ nb << nc; 110 na = input[27]; 111 nb = input[28]; 112 nc = input[29]; 113 output[9] = na ^ nb >> nc; 114 na = input[30]; 115 nb = input[31]; 116 nc = input[32]; 117 output[10] = na | nb ^ nc; 118 na = input[33]; 119 nb = input[34]; 120 nc = input[35]; 121 output[11] = na | nb | nc; 122 na = input[36]; 123 nb = input[37]; 124 nc = input[38]; 125 output[12] = na | nb & nc; 126 na = input[39]; 127 nb = input[40]; 128 nc = input[41]; 129 output[13] = na | nb * nc; 130 na = input[42]; 131 nb = input[43]; 132 nc = input[44]; 133 output[14] = na | nb / nc; 134 na = input[45]; 135 nb = input[46]; 136 nc = input[47]; 137 output[15] = na | nb % nc; 138 na = input[48]; 139 nb = input[49]; 140 nc = input[50]; 141 output[16] = na | nb + nc; 142 na = input[51]; 143 nb = input[52]; 144 nc = input[53]; 145 output[17] = na | nb - nc; 146 na = input[54]; 147 nb = input[55]; 148 nc = input[56]; 149 output[18] = na | nb << nc; 150 na = input[57]; 151 nb = input[58]; 152 nc = input[59]; 153 output[19] = na | nb >> nc; 154 na = input[60]; 155 nb = input[61]; 156 nc = input[62]; 157 output[20] = na & nb ^ nc; 158 na = input[63]; 159 nb = input[64]; 160 nc = input[65]; 161 output[21] = na & nb | nc; 162 na = input[66]; 163 nb = input[67]; 164 nc = input[68]; 165 output[22] = na & nb & nc; 166 na = input[69]; 167 nb = input[70]; 168 nc = input[71]; 169 output[23] = na & nb * nc; 170 na = input[72]; 171 nb = input[73]; 172 nc = input[74]; 173 output[24] = na & nb / nc; 174 na = input[75]; 175 nb = input[76]; 176 nc = input[77]; 177 output[25] = na & nb % nc; 178 na = input[78]; 179 nb = input[79]; 180 nc = input[80]; 181 output[26] = na & nb + nc; 182 na = input[81]; 183 nb = input[82]; 184 nc = input[83]; 185 output[27] = na & nb - nc; 186 na = input[84]; 187 nb = input[85]; 188 nc = input[86]; 189 output[28] = na & nb << nc; 190 na = input[87]; 191 nb = input[88]; 192 nc = input[89]; 193 output[29] = na & nb >> nc; 194 na = input[90]; 195 nb = input[91]; 196 nc = input[92]; 197 output[30] = na * nb ^ nc; 198 na = input[93]; 199 nb = input[94]; 200 nc = input[95]; 201 output[31] = na * nb | nc; 202 na = input[96]; 203 nb = input[97]; 204 nc = input[98]; 205 output[32] = na * nb & nc; 206 na = input[99]; 207 nb = input[100]; 208 nc = input[101]; 209 output[33] = na * nb * nc; 210 na = input[102]; 211 nb = input[103]; 212 nc = input[104]; 213 output[34] = na * nb / nc; 214 na = input[105]; 215 nb = input[106]; 216 nc = input[107]; 217 output[35] = na * nb % nc; 218 na = input[108]; 219 nb = input[109]; 220 nc = input[110]; 221 output[36] = na * nb + nc; 222 na = input[111]; 223 nb = input[112]; 224 nc = input[113]; 225 output[37] = na * nb - nc; 226 na = input[114]; 227 nb = input[115]; 228 nc = input[116]; 229 output[38] = na * nb << nc; 230 na = input[117]; 231 nb = input[118]; 232 nc = input[119]; 233 output[39] = na * nb >> nc; 234 na = input[120]; 235 nb = input[121]; 236 nc = input[122]; 237 output[40] = na / nb ^ nc; 238 na = input[123]; 239 nb = input[124]; 240 nc = input[125]; 241 output[41] = na / nb | nc; 242 na = input[126]; 243 nb = input[127]; 244 nc = input[128]; 245 output[42] = na / nb & nc; 246 na = input[129]; 247 nb = input[130]; 248 nc = input[131]; 249 output[43] = na / nb * nc; 250 na = input[132]; 251 nb = input[133]; 252 nc = input[134]; 253 output[44] = na / nb / nc; 254 na = input[135]; 255 nb = input[136]; 256 nc = input[137]; 257 output[45] = na / nb % nc; 258 na = input[138]; 259 nb = input[139]; 260 nc = input[140]; 261 output[46] = na / nb + nc; 262 na = input[141]; 263 nb = input[142]; 264 nc = input[143]; 265 output[47] = na / nb - nc; 266 na = input[144]; 267 nb = input[145]; 268 nc = input[146]; 269 output[48] = na / nb << nc; 270 na = input[147]; 271 nb = input[148]; 272 nc = input[149]; 273 output[49] = na / nb >> nc; 274 na = input[150]; 275 nb = input[151]; 276 nc = input[152]; 277 output[50] = na % nb ^ nc; 278 na = input[153]; 279 nb = input[154]; 280 nc = input[155]; 281 output[51] = na % nb | nc; 282 na = input[156]; 283 nb = input[157]; 284 nc = input[158]; 285 output[52] = na % nb & nc; 286 na = input[159]; 287 nb = input[160]; 288 nc = input[161]; 289 output[53] = na % nb * nc; 290 na = input[162]; 291 nb = input[163]; 292 nc = input[164]; 293 output[54] = na % nb / nc; 294 na = input[165]; 295 nb = input[166]; 296 nc = input[167]; 297 output[55] = na % nb % nc; 298 na = input[168]; 299 nb = input[169]; 300 nc = input[170]; 301 output[56] = na % nb + nc; 302 na = input[171]; 303 nb = input[172]; 304 nc = input[173]; 305 output[57] = na % nb - nc; 306 na = input[174]; 307 nb = input[175]; 308 nc = input[176]; 309 output[58] = na % nb << nc; 310 na = input[177]; 311 nb = input[178]; 312 nc = input[179]; 313 output[59] = na % nb >> nc; 314 na = input[180]; 315 nb = input[181]; 316 nc = input[182]; 317 output[60] = na + nb ^ nc; 318 na = input[183]; 319 nb = input[184]; 320 nc = input[185]; 321 output[61] = na + nb | nc; 322 na = input[186]; 323 nb = input[187]; 324 nc = input[188]; 325 output[62] = na + nb & nc; 326 na = input[189]; 327 nb = input[190]; 328 nc = input[191]; 329 output[63] = na + nb * nc; 330 na = input[192]; 331 nb = input[193]; 332 nc = input[194]; 333 output[64] = na + nb / nc; 334 na = input[195]; 335 nb = input[196]; 336 nc = input[197]; 337 output[65] = na + nb % nc; 338 na = input[198]; 339 nb = input[199]; 340 nc = input[200]; 341 output[66] = na + nb + nc; 342 na = input[201]; 343 nb = input[202]; 344 nc = input[203]; 345 output[67] = na + nb - nc; 346 na = input[204]; 347 nb = input[205]; 348 nc = input[206]; 349 output[68] = na + nb << nc; 350 na = input[207]; 351 nb = input[208]; 352 nc = input[209]; 353 output[69] = na + nb >> nc; 354 na = input[210]; 355 nb = input[211]; 356 nc = input[212]; 357 output[70] = na - nb ^ nc; 358 na = input[213]; 359 nb = input[214]; 360 nc = input[215]; 361 output[71] = na - nb | nc; 362 na = input[216]; 363 nb = input[217]; 364 nc = input[218]; 365 output[72] = na - nb & nc; 366 na = input[219]; 367 nb = input[220]; 368 nc = input[221]; 369 output[73] = na - nb * nc; 370 na = input[222]; 371 nb = input[223]; 372 nc = input[224]; 373 output[74] = na - nb / nc; 374 na = input[225]; 375 nb = input[226]; 376 nc = input[227]; 377 output[75] = na - nb % nc; 378 na = input[228]; 379 nb = input[229]; 380 nc = input[230]; 381 output[76] = na - nb + nc; 382 na = input[231]; 383 nb = input[232]; 384 nc = input[233]; 385 output[77] = na - nb - nc; 386 na = input[234]; 387 nb = input[235]; 388 nc = input[236]; 389 output[78] = na - nb << nc; 390 na = input[237]; 391 nb = input[238]; 392 nc = input[239]; 393 output[79] = na - nb >> nc; 394 na = input[240]; 395 nb = input[241]; 396 nc = input[242]; 397 output[80] = na << nb ^ nc; 398 na = input[243]; 399 nb = input[244]; 400 nc = input[245]; 401 output[81] = na << nb | nc; 402 na = input[246]; 403 nb = input[247]; 404 nc = input[248]; 405 output[82] = na << nb & nc; 406 na = input[249]; 407 nb = input[250]; 408 nc = input[251]; 409 output[83] = na << nb * nc; 410 na = input[252]; 411 nb = input[253]; 412 nc = input[254]; 413 output[84] = na << nb / nc; 414 na = input[255]; 415 nb = input[256]; 416 nc = input[257]; 417 output[85] = na << nb % nc; 418 na = input[258]; 419 nb = input[259]; 420 nc = input[260]; 421 output[86] = na << nb + nc; 422 na = input[261]; 423 nb = input[262]; 424 nc = input[263]; 425 output[87] = na << nb - nc; 426 na = input[264]; 427 nb = input[265]; 428 nc = input[266]; 429 output[88] = na << nb << nc; 430 na = input[267]; 431 nb = input[268]; 432 nc = input[269]; 433 output[89] = na << nb >> nc; 434 na = input[270]; 435 nb = input[271]; 436 nc = input[272]; 437 output[90] = na >> nb ^ nc; 438 na = input[273]; 439 nb = input[274]; 440 nc = input[275]; 441 output[91] = na >> nb | nc; 442 na = input[276]; 443 nb = input[277]; 444 nc = input[278]; 445 output[92] = na >> nb & nc; 446 na = input[279]; 447 nb = input[280]; 448 nc = input[281]; 449 output[93] = na >> nb * nc; 450 na = input[282]; 451 nb = input[283]; 452 nc = input[284]; 453 output[94] = na >> nb / nc; 454 na = input[285]; 455 nb = input[286]; 456 nc = input[287]; 457 output[95] = na >> nb % nc; 458 na = input[288]; 459 nb = input[289]; 460 nc = input[290]; 461 output[96] = na >> nb + nc; 462 na = input[291]; 463 nb = input[292]; 464 nc = input[293]; 465 output[97] = na >> nb - nc; 466 na = input[294]; 467 nb = input[295]; 468 nc = input[296]; 469 output[98] = na >> nb << nc; 470 na = input[297]; 471 nb = input[298]; 472 nc = input[299]; 473 output[99] = na >> nb >> nc; 474 na = input[300]; 475 nb = input[301]; 476 nc = input[302]; 477 output[100] = uint(na ^ nb < nc); 478 output[101] = uint(na < nb ^ nc); 479 na = input[303]; 480 nb = input[304]; 481 nc = input[305]; 482 output[102] = uint(na ^ nb > nc); 483 output[103] = uint(na > nb ^ nc); 484 na = input[306]; 485 nb = input[307]; 486 nc = input[308]; 487 output[104] = uint(na ^ nb <= nc); 488 output[105] = uint(na <= nb ^ nc); 489 na = input[309]; 490 nb = input[310]; 491 nc = input[311]; 492 output[106] = uint(na ^ nb >= nc); 493 output[107] = uint(na >= nb ^ nc); 494 na = input[312]; 495 nb = input[313]; 496 nc = input[314]; 497 output[108] = uint(na ^ nb == nc); 498 output[109] = uint(na == nb ^ nc); 499 na = input[315]; 500 nb = input[316]; 501 nc = input[317]; 502 output[110] = uint(na ^ nb != nc); 503 output[111] = uint(na != nb ^ nc); 504 na = input[318]; 505 nb = input[319]; 506 nc = input[320]; 507 output[112] = uint(na | nb < nc); 508 output[113] = uint(na < nb | nc); 509 na = input[321]; 510 nb = input[322]; 511 nc = input[323]; 512 output[114] = uint(na | nb > nc); 513 output[115] = uint(na > nb | nc); 514 na = input[324]; 515 nb = input[325]; 516 nc = input[326]; 517 output[116] = uint(na | nb <= nc); 518 output[117] = uint(na <= nb | nc); 519 na = input[327]; 520 nb = input[328]; 521 nc = input[329]; 522 output[118] = uint(na | nb >= nc); 523 output[119] = uint(na >= nb | nc); 524 na = input[330]; 525 nb = input[331]; 526 nc = input[332]; 527 output[120] = uint(na | nb == nc); 528 output[121] = uint(na == nb | nc); 529 na = input[333]; 530 nb = input[334]; 531 nc = input[335]; 532 output[122] = uint(na | nb != nc); 533 output[123] = uint(na != nb | nc); 534 na = input[336]; 535 nb = input[337]; 536 nc = input[338]; 537 output[124] = uint(na & nb < nc); 538 output[125] = uint(na < nb & nc); 539 na = input[339]; 540 nb = input[340]; 541 nc = input[341]; 542 output[126] = uint(na & nb > nc); 543 output[127] = uint(na > nb & nc); 544 na = input[342]; 545 nb = input[343]; 546 nc = input[344]; 547 output[128] = uint(na & nb <= nc); 548 output[129] = uint(na <= nb & nc); 549 na = input[345]; 550 nb = input[346]; 551 nc = input[347]; 552 output[130] = uint(na & nb >= nc); 553 output[131] = uint(na >= nb & nc); 554 na = input[348]; 555 nb = input[349]; 556 nc = input[350]; 557 output[132] = uint(na & nb == nc); 558 output[133] = uint(na == nb & nc); 559 na = input[351]; 560 nb = input[352]; 561 nc = input[353]; 562 output[134] = uint(na & nb != nc); 563 output[135] = uint(na != nb & nc); 564 na = input[354]; 565 nb = input[355]; 566 nc = input[356]; 567 output[136] = uint(na * nb < nc); 568 output[137] = uint(na < nb * nc); 569 na = input[357]; 570 nb = input[358]; 571 nc = input[359]; 572 output[138] = uint(na * nb > nc); 573 output[139] = uint(na > nb * nc); 574 na = input[360]; 575 nb = input[361]; 576 nc = input[362]; 577 output[140] = uint(na * nb <= nc); 578 output[141] = uint(na <= nb * nc); 579 na = input[363]; 580 nb = input[364]; 581 nc = input[365]; 582 output[142] = uint(na * nb >= nc); 583 output[143] = uint(na >= nb * nc); 584 na = input[366]; 585 nb = input[367]; 586 nc = input[368]; 587 output[144] = uint(na * nb == nc); 588 output[145] = uint(na == nb * nc); 589 na = input[369]; 590 nb = input[370]; 591 nc = input[371]; 592 output[146] = uint(na * nb != nc); 593 output[147] = uint(na != nb * nc); 594 na = input[372]; 595 nb = input[373]; 596 nc = input[374]; 597 output[148] = uint(na / nb < nc); 598 output[149] = uint(na < nb / nc); 599 na = input[375]; 600 nb = input[376]; 601 nc = input[377]; 602 output[150] = uint(na / nb > nc); 603 output[151] = uint(na > nb / nc); 604 na = input[378]; 605 nb = input[379]; 606 nc = input[380]; 607 output[152] = uint(na / nb <= nc); 608 output[153] = uint(na <= nb / nc); 609 na = input[381]; 610 nb = input[382]; 611 nc = input[383]; 612 output[154] = uint(na / nb >= nc); 613 output[155] = uint(na >= nb / nc); 614 na = input[384]; 615 nb = input[385]; 616 nc = input[386]; 617 output[156] = uint(na / nb == nc); 618 output[157] = uint(na == nb / nc); 619 na = input[387]; 620 nb = input[388]; 621 nc = input[389]; 622 output[158] = uint(na / nb != nc); 623 output[159] = uint(na != nb / nc); 624 na = input[390]; 625 nb = input[391]; 626 nc = input[392]; 627 output[160] = uint(na % nb < nc); 628 output[161] = uint(na < nb % nc); 629 na = input[393]; 630 nb = input[394]; 631 nc = input[395]; 632 output[162] = uint(na % nb > nc); 633 output[163] = uint(na > nb % nc); 634 na = input[396]; 635 nb = input[397]; 636 nc = input[398]; 637 output[164] = uint(na % nb <= nc); 638 output[165] = uint(na <= nb % nc); 639 na = input[399]; 640 nb = input[400]; 641 nc = input[401]; 642 output[166] = uint(na % nb >= nc); 643 output[167] = uint(na >= nb % nc); 644 na = input[402]; 645 nb = input[403]; 646 nc = input[404]; 647 output[168] = uint(na % nb == nc); 648 output[169] = uint(na == nb % nc); 649 na = input[405]; 650 nb = input[406]; 651 nc = input[407]; 652 output[170] = uint(na % nb != nc); 653 output[171] = uint(na != nb % nc); 654 na = input[408]; 655 nb = input[409]; 656 nc = input[410]; 657 output[172] = uint(na + nb < nc); 658 output[173] = uint(na < nb + nc); 659 na = input[411]; 660 nb = input[412]; 661 nc = input[413]; 662 output[174] = uint(na + nb > nc); 663 output[175] = uint(na > nb + nc); 664 na = input[414]; 665 nb = input[415]; 666 nc = input[416]; 667 output[176] = uint(na + nb <= nc); 668 output[177] = uint(na <= nb + nc); 669 na = input[417]; 670 nb = input[418]; 671 nc = input[419]; 672 output[178] = uint(na + nb >= nc); 673 output[179] = uint(na >= nb + nc); 674 na = input[420]; 675 nb = input[421]; 676 nc = input[422]; 677 output[180] = uint(na + nb == nc); 678 output[181] = uint(na == nb + nc); 679 na = input[423]; 680 nb = input[424]; 681 nc = input[425]; 682 output[182] = uint(na + nb != nc); 683 output[183] = uint(na != nb + nc); 684 na = input[426]; 685 nb = input[427]; 686 nc = input[428]; 687 output[184] = uint(na - nb < nc); 688 output[185] = uint(na < nb - nc); 689 na = input[429]; 690 nb = input[430]; 691 nc = input[431]; 692 output[186] = uint(na - nb > nc); 693 output[187] = uint(na > nb - nc); 694 na = input[432]; 695 nb = input[433]; 696 nc = input[434]; 697 output[188] = uint(na - nb <= nc); 698 output[189] = uint(na <= nb - nc); 699 na = input[435]; 700 nb = input[436]; 701 nc = input[437]; 702 output[190] = uint(na - nb >= nc); 703 output[191] = uint(na >= nb - nc); 704 na = input[438]; 705 nb = input[439]; 706 nc = input[440]; 707 output[192] = uint(na - nb == nc); 708 output[193] = uint(na == nb - nc); 709 na = input[441]; 710 nb = input[442]; 711 nc = input[443]; 712 output[194] = uint(na - nb != nc); 713 output[195] = uint(na != nb - nc); 714 na = input[444]; 715 nb = input[445]; 716 nc = input[446]; 717 output[196] = uint(na << nb < nc); 718 output[197] = uint(na < nb << nc); 719 na = input[447]; 720 nb = input[448]; 721 nc = input[449]; 722 output[198] = uint(na << nb > nc); 723 output[199] = uint(na > nb << nc); 724 na = input[450]; 725 nb = input[451]; 726 nc = input[452]; 727 output[200] = uint(na << nb <= nc); 728 output[201] = uint(na <= nb << nc); 729 na = input[453]; 730 nb = input[454]; 731 nc = input[455]; 732 output[202] = uint(na << nb >= nc); 733 output[203] = uint(na >= nb << nc); 734 na = input[456]; 735 nb = input[457]; 736 nc = input[458]; 737 output[204] = uint(na << nb == nc); 738 output[205] = uint(na == nb << nc); 739 na = input[459]; 740 nb = input[460]; 741 nc = input[461]; 742 output[206] = uint(na << nb != nc); 743 output[207] = uint(na != nb << nc); 744 na = input[462]; 745 nb = input[463]; 746 nc = input[464]; 747 output[208] = uint(na >> nb < nc); 748 output[209] = uint(na < nb >> nc); 749 na = input[465]; 750 nb = input[466]; 751 nc = input[467]; 752 output[210] = uint(na >> nb > nc); 753 output[211] = uint(na > nb >> nc); 754 na = input[468]; 755 nb = input[469]; 756 nc = input[470]; 757 output[212] = uint(na >> nb <= nc); 758 output[213] = uint(na <= nb >> nc); 759 na = input[471]; 760 nb = input[472]; 761 nc = input[473]; 762 output[214] = uint(na >> nb >= nc); 763 output[215] = uint(na >= nb >> nc); 764 na = input[474]; 765 nb = input[475]; 766 nc = input[476]; 767 output[216] = uint(na >> nb == nc); 768 output[217] = uint(na == nb >> nc); 769 na = input[477]; 770 nb = input[478]; 771 nc = input[479]; 772 output[218] = uint(na >> nb != nc); 773 output[219] = uint(na != nb >> nc); 774 ba = bool(input[480] & 1); 775 bb = bool(input[481] & 16); 776 bc = bool(input[482] & 8); 777 output[220] = uint(ba && bb && bc); 778 ba = bool(input[483] & 1); 779 bb = bool(input[484] & 16); 780 bc = bool(input[485] & 8); 781 output[221] = uint(ba && bb || bc); 782 ba = bool(input[486] & 1); 783 bb = bool(input[487] & 16); 784 bc = bool(input[488] & 8); 785 output[222] = uint(ba && bb == bc); 786 ba = bool(input[489] & 1); 787 bb = bool(input[490] & 16); 788 bc = bool(input[491] & 8); 789 output[223] = uint(ba && bb != bc); 790 ba = bool(input[492] & 1); 791 bb = bool(input[493] & 16); 792 bc = bool(input[494] & 8); 793 output[224] = uint(ba || bb && bc); 794 ba = bool(input[495] & 1); 795 bb = bool(input[496] & 16); 796 bc = bool(input[497] & 8); 797 output[225] = uint(ba || bb || bc); 798 ba = bool(input[498] & 1); 799 bb = bool(input[499] & 16); 800 bc = bool(input[500] & 8); 801 output[226] = uint(ba || bb == bc); 802 ba = bool(input[501] & 1); 803 bb = bool(input[502] & 16); 804 bc = bool(input[503] & 8); 805 output[227] = uint(ba || bb != bc); 806 ba = bool(input[504] & 1); 807 bb = bool(input[505] & 16); 808 bc = bool(input[506] & 8); 809 output[228] = uint(ba == bb && bc); 810 ba = bool(input[507] & 1); 811 bb = bool(input[508] & 16); 812 bc = bool(input[509] & 8); 813 output[229] = uint(ba == bb || bc); 814 ba = bool(input[510] & 1); 815 bb = bool(input[511] & 16); 816 bc = bool(input[512] & 8); 817 output[230] = uint(ba == bb == bc); 818 ba = bool(input[513] & 1); 819 bb = bool(input[514] & 16); 820 bc = bool(input[515] & 8); 821 output[231] = uint(ba == bb != bc); 822 ba = bool(input[516] & 1); 823 bb = bool(input[517] & 16); 824 bc = bool(input[518] & 8); 825 output[232] = uint(ba != bb && bc); 826 ba = bool(input[519] & 1); 827 bb = bool(input[520] & 16); 828 bc = bool(input[521] & 8); 829 output[233] = uint(ba != bb || bc); 830 ba = bool(input[522] & 1); 831 bb = bool(input[523] & 16); 832 bc = bool(input[524] & 8); 833 output[234] = uint(ba != bb == bc); 834 ba = bool(input[525] & 1); 835 bb = bool(input[526] & 16); 836 bc = bool(input[527] & 8); 837 output[235] = uint(ba != bb != bc); 838 na = input[528]; 839 nb = input[529]; 840 nc = input[530]; 841 ba = bool(input[531] & 1); 842 bc = bool(input[532] & 8); 843 output[236] = uint(ba == nb < nc); 844 output[237] = uint(na < nb == bc); 845 na = input[533]; 846 nb = input[534]; 847 nc = input[535]; 848 ba = bool(input[536] & 1); 849 bc = bool(input[537] & 8); 850 output[238] = uint(ba == nb > nc); 851 output[239] = uint(na > nb == bc); 852 na = input[538]; 853 nb = input[539]; 854 nc = input[540]; 855 ba = bool(input[541] & 1); 856 bc = bool(input[542] & 8); 857 output[240] = uint(ba == nb <= nc); 858 output[241] = uint(na <= nb == bc); 859 na = input[543]; 860 nb = input[544]; 861 nc = input[545]; 862 ba = bool(input[546] & 1); 863 bc = bool(input[547] & 8); 864 output[242] = uint(ba == nb >= nc); 865 output[243] = uint(na >= nb == bc); 866 na = input[548]; 867 nb = input[549]; 868 nc = input[550]; 869 ba = bool(input[551] & 1); 870 bc = bool(input[552] & 8); 871 output[244] = uint(ba != nb < nc); 872 output[245] = uint(na < nb != bc); 873 na = input[553]; 874 nb = input[554]; 875 nc = input[555]; 876 ba = bool(input[556] & 1); 877 bc = bool(input[557] & 8); 878 output[246] = uint(ba != nb > nc); 879 output[247] = uint(na > nb != bc); 880 na = input[558]; 881 nb = input[559]; 882 nc = input[560]; 883 ba = bool(input[561] & 1); 884 bc = bool(input[562] & 8); 885 output[248] = uint(ba != nb <= nc); 886 output[249] = uint(na <= nb != bc); 887 na = input[563]; 888 nb = input[564]; 889 nc = input[565]; 890 ba = bool(input[566] & 1); 891 bc = bool(input[567] & 8); 892 output[250] = uint(ba != nb >= nc); 893 output[251] = uint(na >= nb != bc); 894 na = input[568]; 895 nb = input[569]; 896 nc = input[570]; 897 ba = bool(input[571] & 1); 898 bc = bool(input[572] & 8); 899 output[252] = uint(ba && nb < nc); 900 output[253] = uint(na < nb && bc); 901 na = input[573]; 902 nb = input[574]; 903 nc = input[575]; 904 ba = bool(input[576] & 1); 905 bc = bool(input[577] & 8); 906 output[254] = uint(ba && nb > nc); 907 output[255] = uint(na > nb && bc); 908 na = input[578]; 909 nb = input[579]; 910 nc = input[580]; 911 ba = bool(input[581] & 1); 912 bc = bool(input[582] & 8); 913 output[256] = uint(ba && nb <= nc); 914 output[257] = uint(na <= nb && bc); 915 na = input[583]; 916 nb = input[584]; 917 nc = input[585]; 918 ba = bool(input[586] & 1); 919 bc = bool(input[587] & 8); 920 output[258] = uint(ba && nb >= nc); 921 output[259] = uint(na >= nb && bc); 922 na = input[588]; 923 nb = input[589]; 924 nc = input[590]; 925 ba = bool(input[591] & 1); 926 bc = bool(input[592] & 8); 927 output[260] = uint(ba || nb < nc); 928 output[261] = uint(na < nb || bc); 929 na = input[593]; 930 nb = input[594]; 931 nc = input[595]; 932 ba = bool(input[596] & 1); 933 bc = bool(input[597] & 8); 934 output[262] = uint(ba || nb > nc); 935 output[263] = uint(na > nb || bc); 936 na = input[598]; 937 nb = input[599]; 938 nc = input[600]; 939 ba = bool(input[601] & 1); 940 bc = bool(input[602] & 8); 941 output[264] = uint(ba || nb <= nc); 942 output[265] = uint(na <= nb || bc); 943 na = input[603]; 944 nb = input[604]; 945 nc = input[605]; 946 ba = bool(input[606] & 1); 947 bc = bool(input[607] & 8); 948 output[266] = uint(ba || nb >= nc); 949 output[267] = uint(na >= nb || bc); 950 951}