1/* Generated automatically by ./hpgsmkrop at Mon Mar 19 17:26:14 2007. 2 Do not edit! 3 */ 4#include <hpgs.h> 5 6/* 0 source/pattern opaque. */ 7static void rop3_0_0_0 (unsigned char *D, unsigned char S, unsigned char T) 8{ 9 unsigned char stk1; 10 stk1 = 0; 11 *D = stk1; 12} 13 14/* 0 source opaque/pattern transparent. */ 15static void rop3_0_0_1 (unsigned char *D, unsigned char S, unsigned char T) 16{ 17 unsigned char stk1; 18 stk1 = 0; 19 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 20} 21 22/* 0 source transparent/pattern opaque. */ 23static void rop3_0_1_0 (unsigned char *D, unsigned char S, unsigned char T) 24{ 25 unsigned char stk1; 26 stk1 = 0; 27 *D = (stk1 & (~S)) | (*D & S); 28} 29 30/* 0 source/pattern transparent. */ 31static void rop3_0_1_1 (unsigned char *D, unsigned char S, unsigned char T) 32{ 33 unsigned char stk1; 34 stk1 = 0; 35 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 36} 37 38/* 0 source/pattern opaque. */ 39static unsigned xrop3_0_0_0 (unsigned char s, unsigned char t) 40{ 41 unsigned stk1; 42 stk1 = 0x0000; 43 return stk1; 44} 45 46/* 0 source opaque/pattern transparent. */ 47static unsigned xrop3_0_0_1 (unsigned char s, unsigned char t) 48{ 49 unsigned D = 0x00ff; 50 unsigned S = ((unsigned)s << 8) | s; 51 unsigned T = ((unsigned)t << 8) | t; 52 unsigned stk1; 53 stk1 = 0x0000; 54 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 55} 56 57/* 0 source transparent/pattern opaque. */ 58static unsigned xrop3_0_1_0 (unsigned char s, unsigned char t) 59{ 60 unsigned D = 0x00ff; 61 unsigned S = ((unsigned)s << 8) | s; 62 unsigned stk1; 63 stk1 = 0x0000; 64 return (stk1 & (~S)) | (D & S); 65} 66 67/* 0 source/pattern transparent. */ 68static unsigned xrop3_0_1_1 (unsigned char s, unsigned char t) 69{ 70 unsigned D = 0x00ff; 71 unsigned S = ((unsigned)s << 8) | s; 72 unsigned T = ((unsigned)t << 8) | t; 73 unsigned stk1; 74 stk1 = 0x0000; 75 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 76} 77 78/* DTSoon source/pattern opaque. */ 79static void rop3_1_0_0 (unsigned char *D, unsigned char S, unsigned char T) 80{ 81 unsigned char stk1; 82 unsigned char stk2; 83 stk2 = T | S; 84 stk1 = *D | stk2; 85 stk1 = ~stk1; 86 *D = stk1; 87} 88 89/* DTSoon source opaque/pattern transparent. */ 90static void rop3_1_0_1 (unsigned char *D, unsigned char S, unsigned char T) 91{ 92 unsigned char stk1; 93 unsigned char stk2; 94 stk2 = T | S; 95 stk1 = *D | stk2; 96 stk1 = ~stk1; 97 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 98} 99 100/* DTSoon source transparent/pattern opaque. */ 101static void rop3_1_1_0 (unsigned char *D, unsigned char S, unsigned char T) 102{ 103 unsigned char stk1; 104 unsigned char stk2; 105 stk2 = T | S; 106 stk1 = *D | stk2; 107 stk1 = ~stk1; 108 *D = (stk1 & (~S)) | (*D & S); 109} 110 111/* DTSoon source/pattern transparent. */ 112static void rop3_1_1_1 (unsigned char *D, unsigned char S, unsigned char T) 113{ 114 unsigned char stk1; 115 unsigned char stk2; 116 stk2 = T | S; 117 stk1 = *D | stk2; 118 stk1 = ~stk1; 119 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 120} 121 122/* DTSoon source/pattern opaque. */ 123static unsigned xrop3_1_0_0 (unsigned char s, unsigned char t) 124{ 125 unsigned D = 0x00ff; 126 unsigned S = ((unsigned)s << 8) | s; 127 unsigned T = ((unsigned)t << 8) | t; 128 unsigned stk1; 129 unsigned stk2; 130 stk2 = T | S; 131 stk1 = D | stk2; 132 stk1 = ~stk1; 133 return stk1; 134} 135 136/* DTSoon source opaque/pattern transparent. */ 137static unsigned xrop3_1_0_1 (unsigned char s, unsigned char t) 138{ 139 unsigned D = 0x00ff; 140 unsigned S = ((unsigned)s << 8) | s; 141 unsigned T = ((unsigned)t << 8) | t; 142 unsigned stk1; 143 unsigned stk2; 144 stk2 = T | S; 145 stk1 = D | stk2; 146 stk1 = ~stk1; 147 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 148} 149 150/* DTSoon source transparent/pattern opaque. */ 151static unsigned xrop3_1_1_0 (unsigned char s, unsigned char t) 152{ 153 unsigned D = 0x00ff; 154 unsigned S = ((unsigned)s << 8) | s; 155 unsigned T = ((unsigned)t << 8) | t; 156 unsigned stk1; 157 unsigned stk2; 158 stk2 = T | S; 159 stk1 = D | stk2; 160 stk1 = ~stk1; 161 return (stk1 & (~S)) | (D & S); 162} 163 164/* DTSoon source/pattern transparent. */ 165static unsigned xrop3_1_1_1 (unsigned char s, unsigned char t) 166{ 167 unsigned D = 0x00ff; 168 unsigned S = ((unsigned)s << 8) | s; 169 unsigned T = ((unsigned)t << 8) | t; 170 unsigned stk1; 171 unsigned stk2; 172 stk2 = T | S; 173 stk1 = D | stk2; 174 stk1 = ~stk1; 175 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 176} 177 178/* DTSona source/pattern opaque. */ 179static void rop3_2_0_0 (unsigned char *D, unsigned char S, unsigned char T) 180{ 181 unsigned char stk1; 182 unsigned char stk2; 183 stk2 = T | S; 184 stk2 = ~stk2; 185 stk1 = *D & stk2; 186 *D = stk1; 187} 188 189/* DTSona source opaque/pattern transparent. */ 190static void rop3_2_0_1 (unsigned char *D, unsigned char S, unsigned char T) 191{ 192 unsigned char stk1; 193 unsigned char stk2; 194 stk2 = T | S; 195 stk2 = ~stk2; 196 stk1 = *D & stk2; 197 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 198} 199 200/* DTSona source transparent/pattern opaque. */ 201static void rop3_2_1_0 (unsigned char *D, unsigned char S, unsigned char T) 202{ 203 unsigned char stk1; 204 unsigned char stk2; 205 stk2 = T | S; 206 stk2 = ~stk2; 207 stk1 = *D & stk2; 208 *D = (stk1 & (~S)) | (*D & S); 209} 210 211/* DTSona source/pattern transparent. */ 212static void rop3_2_1_1 (unsigned char *D, unsigned char S, unsigned char T) 213{ 214 unsigned char stk1; 215 unsigned char stk2; 216 stk2 = T | S; 217 stk2 = ~stk2; 218 stk1 = *D & stk2; 219 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 220} 221 222/* DTSona source/pattern opaque. */ 223static unsigned xrop3_2_0_0 (unsigned char s, unsigned char t) 224{ 225 unsigned D = 0x00ff; 226 unsigned S = ((unsigned)s << 8) | s; 227 unsigned T = ((unsigned)t << 8) | t; 228 unsigned stk1; 229 unsigned stk2; 230 stk2 = T | S; 231 stk2 = ~stk2; 232 stk1 = D & stk2; 233 return stk1; 234} 235 236/* DTSona source opaque/pattern transparent. */ 237static unsigned xrop3_2_0_1 (unsigned char s, unsigned char t) 238{ 239 unsigned D = 0x00ff; 240 unsigned S = ((unsigned)s << 8) | s; 241 unsigned T = ((unsigned)t << 8) | t; 242 unsigned stk1; 243 unsigned stk2; 244 stk2 = T | S; 245 stk2 = ~stk2; 246 stk1 = D & stk2; 247 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 248} 249 250/* DTSona source transparent/pattern opaque. */ 251static unsigned xrop3_2_1_0 (unsigned char s, unsigned char t) 252{ 253 unsigned D = 0x00ff; 254 unsigned S = ((unsigned)s << 8) | s; 255 unsigned T = ((unsigned)t << 8) | t; 256 unsigned stk1; 257 unsigned stk2; 258 stk2 = T | S; 259 stk2 = ~stk2; 260 stk1 = D & stk2; 261 return (stk1 & (~S)) | (D & S); 262} 263 264/* DTSona source/pattern transparent. */ 265static unsigned xrop3_2_1_1 (unsigned char s, unsigned char t) 266{ 267 unsigned D = 0x00ff; 268 unsigned S = ((unsigned)s << 8) | s; 269 unsigned T = ((unsigned)t << 8) | t; 270 unsigned stk1; 271 unsigned stk2; 272 stk2 = T | S; 273 stk2 = ~stk2; 274 stk1 = D & stk2; 275 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 276} 277 278/* TSon source/pattern opaque. */ 279static void rop3_3_0_0 (unsigned char *D, unsigned char S, unsigned char T) 280{ 281 unsigned char stk1; 282 stk1 = T | S; 283 stk1 = ~stk1; 284 *D = stk1; 285} 286 287/* TSon source opaque/pattern transparent. */ 288static void rop3_3_0_1 (unsigned char *D, unsigned char S, unsigned char T) 289{ 290 unsigned char stk1; 291 stk1 = T | S; 292 stk1 = ~stk1; 293 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 294} 295 296/* TSon source transparent/pattern opaque. */ 297static void rop3_3_1_0 (unsigned char *D, unsigned char S, unsigned char T) 298{ 299 unsigned char stk1; 300 stk1 = T | S; 301 stk1 = ~stk1; 302 *D = (stk1 & (~S)) | (*D & S); 303} 304 305/* TSon source/pattern transparent. */ 306static void rop3_3_1_1 (unsigned char *D, unsigned char S, unsigned char T) 307{ 308 unsigned char stk1; 309 stk1 = T | S; 310 stk1 = ~stk1; 311 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 312} 313 314/* TSon source/pattern opaque. */ 315static unsigned xrop3_3_0_0 (unsigned char s, unsigned char t) 316{ 317 unsigned S = ((unsigned)s << 8) | s; 318 unsigned T = ((unsigned)t << 8) | t; 319 unsigned stk1; 320 stk1 = T | S; 321 stk1 = ~stk1; 322 return stk1; 323} 324 325/* TSon source opaque/pattern transparent. */ 326static unsigned xrop3_3_0_1 (unsigned char s, unsigned char t) 327{ 328 unsigned D = 0x00ff; 329 unsigned S = ((unsigned)s << 8) | s; 330 unsigned T = ((unsigned)t << 8) | t; 331 unsigned stk1; 332 stk1 = T | S; 333 stk1 = ~stk1; 334 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 335} 336 337/* TSon source transparent/pattern opaque. */ 338static unsigned xrop3_3_1_0 (unsigned char s, unsigned char t) 339{ 340 unsigned D = 0x00ff; 341 unsigned S = ((unsigned)s << 8) | s; 342 unsigned T = ((unsigned)t << 8) | t; 343 unsigned stk1; 344 stk1 = T | S; 345 stk1 = ~stk1; 346 return (stk1 & (~S)) | (D & S); 347} 348 349/* TSon source/pattern transparent. */ 350static unsigned xrop3_3_1_1 (unsigned char s, unsigned char t) 351{ 352 unsigned D = 0x00ff; 353 unsigned S = ((unsigned)s << 8) | s; 354 unsigned T = ((unsigned)t << 8) | t; 355 unsigned stk1; 356 stk1 = T | S; 357 stk1 = ~stk1; 358 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 359} 360 361/* SDTona source/pattern opaque. */ 362static void rop3_4_0_0 (unsigned char *D, unsigned char S, unsigned char T) 363{ 364 unsigned char stk1; 365 unsigned char stk2; 366 stk2 = *D | T; 367 stk2 = ~stk2; 368 stk1 = S & stk2; 369 *D = stk1; 370} 371 372/* SDTona source opaque/pattern transparent. */ 373static void rop3_4_0_1 (unsigned char *D, unsigned char S, unsigned char T) 374{ 375 unsigned char stk1; 376 unsigned char stk2; 377 stk2 = *D | T; 378 stk2 = ~stk2; 379 stk1 = S & stk2; 380 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 381} 382 383/* SDTona source transparent/pattern opaque. */ 384static void rop3_4_1_0 (unsigned char *D, unsigned char S, unsigned char T) 385{ 386 unsigned char stk1; 387 unsigned char stk2; 388 stk2 = *D | T; 389 stk2 = ~stk2; 390 stk1 = S & stk2; 391 *D = (stk1 & (~S)) | (*D & S); 392} 393 394/* SDTona source/pattern transparent. */ 395static void rop3_4_1_1 (unsigned char *D, unsigned char S, unsigned char T) 396{ 397 unsigned char stk1; 398 unsigned char stk2; 399 stk2 = *D | T; 400 stk2 = ~stk2; 401 stk1 = S & stk2; 402 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 403} 404 405/* SDTona source/pattern opaque. */ 406static unsigned xrop3_4_0_0 (unsigned char s, unsigned char t) 407{ 408 unsigned D = 0x00ff; 409 unsigned S = ((unsigned)s << 8) | s; 410 unsigned T = ((unsigned)t << 8) | t; 411 unsigned stk1; 412 unsigned stk2; 413 stk2 = D | T; 414 stk2 = ~stk2; 415 stk1 = S & stk2; 416 return stk1; 417} 418 419/* SDTona source opaque/pattern transparent. */ 420static unsigned xrop3_4_0_1 (unsigned char s, unsigned char t) 421{ 422 unsigned D = 0x00ff; 423 unsigned S = ((unsigned)s << 8) | s; 424 unsigned T = ((unsigned)t << 8) | t; 425 unsigned stk1; 426 unsigned stk2; 427 stk2 = D | T; 428 stk2 = ~stk2; 429 stk1 = S & stk2; 430 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 431} 432 433/* SDTona source transparent/pattern opaque. */ 434static unsigned xrop3_4_1_0 (unsigned char s, unsigned char t) 435{ 436 unsigned D = 0x00ff; 437 unsigned S = ((unsigned)s << 8) | s; 438 unsigned T = ((unsigned)t << 8) | t; 439 unsigned stk1; 440 unsigned stk2; 441 stk2 = D | T; 442 stk2 = ~stk2; 443 stk1 = S & stk2; 444 return (stk1 & (~S)) | (D & S); 445} 446 447/* SDTona source/pattern transparent. */ 448static unsigned xrop3_4_1_1 (unsigned char s, unsigned char t) 449{ 450 unsigned D = 0x00ff; 451 unsigned S = ((unsigned)s << 8) | s; 452 unsigned T = ((unsigned)t << 8) | t; 453 unsigned stk1; 454 unsigned stk2; 455 stk2 = D | T; 456 stk2 = ~stk2; 457 stk1 = S & stk2; 458 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 459} 460 461/* DTon source/pattern opaque. */ 462static void rop3_5_0_0 (unsigned char *D, unsigned char S, unsigned char T) 463{ 464 unsigned char stk1; 465 stk1 = *D | T; 466 stk1 = ~stk1; 467 *D = stk1; 468} 469 470/* DTon source opaque/pattern transparent. */ 471static void rop3_5_0_1 (unsigned char *D, unsigned char S, unsigned char T) 472{ 473 unsigned char stk1; 474 stk1 = *D | T; 475 stk1 = ~stk1; 476 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 477} 478 479/* DTon source transparent/pattern opaque. */ 480static void rop3_5_1_0 (unsigned char *D, unsigned char S, unsigned char T) 481{ 482 unsigned char stk1; 483 stk1 = *D | T; 484 stk1 = ~stk1; 485 *D = (stk1 & (~S)) | (*D & S); 486} 487 488/* DTon source/pattern transparent. */ 489static void rop3_5_1_1 (unsigned char *D, unsigned char S, unsigned char T) 490{ 491 unsigned char stk1; 492 stk1 = *D | T; 493 stk1 = ~stk1; 494 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 495} 496 497/* DTon source/pattern opaque. */ 498static unsigned xrop3_5_0_0 (unsigned char s, unsigned char t) 499{ 500 unsigned D = 0x00ff; 501 unsigned T = ((unsigned)t << 8) | t; 502 unsigned stk1; 503 stk1 = D | T; 504 stk1 = ~stk1; 505 return stk1; 506} 507 508/* DTon source opaque/pattern transparent. */ 509static unsigned xrop3_5_0_1 (unsigned char s, unsigned char t) 510{ 511 unsigned D = 0x00ff; 512 unsigned S = ((unsigned)s << 8) | s; 513 unsigned T = ((unsigned)t << 8) | t; 514 unsigned stk1; 515 stk1 = D | T; 516 stk1 = ~stk1; 517 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 518} 519 520/* DTon source transparent/pattern opaque. */ 521static unsigned xrop3_5_1_0 (unsigned char s, unsigned char t) 522{ 523 unsigned D = 0x00ff; 524 unsigned S = ((unsigned)s << 8) | s; 525 unsigned T = ((unsigned)t << 8) | t; 526 unsigned stk1; 527 stk1 = D | T; 528 stk1 = ~stk1; 529 return (stk1 & (~S)) | (D & S); 530} 531 532/* DTon source/pattern transparent. */ 533static unsigned xrop3_5_1_1 (unsigned char s, unsigned char t) 534{ 535 unsigned D = 0x00ff; 536 unsigned S = ((unsigned)s << 8) | s; 537 unsigned T = ((unsigned)t << 8) | t; 538 unsigned stk1; 539 stk1 = D | T; 540 stk1 = ~stk1; 541 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 542} 543 544/* TDSxnon source/pattern opaque. */ 545static void rop3_6_0_0 (unsigned char *D, unsigned char S, unsigned char T) 546{ 547 unsigned char stk1; 548 unsigned char stk2; 549 stk2 = *D ^ S; 550 stk2 = ~stk2; 551 stk1 = T | stk2; 552 stk1 = ~stk1; 553 *D = stk1; 554} 555 556/* TDSxnon source opaque/pattern transparent. */ 557static void rop3_6_0_1 (unsigned char *D, unsigned char S, unsigned char T) 558{ 559 unsigned char stk1; 560 unsigned char stk2; 561 stk2 = *D ^ S; 562 stk2 = ~stk2; 563 stk1 = T | stk2; 564 stk1 = ~stk1; 565 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 566} 567 568/* TDSxnon source transparent/pattern opaque. */ 569static void rop3_6_1_0 (unsigned char *D, unsigned char S, unsigned char T) 570{ 571 unsigned char stk1; 572 unsigned char stk2; 573 stk2 = *D ^ S; 574 stk2 = ~stk2; 575 stk1 = T | stk2; 576 stk1 = ~stk1; 577 *D = (stk1 & (~S)) | (*D & S); 578} 579 580/* TDSxnon source/pattern transparent. */ 581static void rop3_6_1_1 (unsigned char *D, unsigned char S, unsigned char T) 582{ 583 unsigned char stk1; 584 unsigned char stk2; 585 stk2 = *D ^ S; 586 stk2 = ~stk2; 587 stk1 = T | stk2; 588 stk1 = ~stk1; 589 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 590} 591 592/* TDSxnon source/pattern opaque. */ 593static unsigned xrop3_6_0_0 (unsigned char s, unsigned char t) 594{ 595 unsigned D = 0x00ff; 596 unsigned S = ((unsigned)s << 8) | s; 597 unsigned T = ((unsigned)t << 8) | t; 598 unsigned stk1; 599 unsigned stk2; 600 stk2 = D ^ S; 601 stk2 = ~stk2; 602 stk1 = T | stk2; 603 stk1 = ~stk1; 604 return stk1; 605} 606 607/* TDSxnon source opaque/pattern transparent. */ 608static unsigned xrop3_6_0_1 (unsigned char s, unsigned char t) 609{ 610 unsigned D = 0x00ff; 611 unsigned S = ((unsigned)s << 8) | s; 612 unsigned T = ((unsigned)t << 8) | t; 613 unsigned stk1; 614 unsigned stk2; 615 stk2 = D ^ S; 616 stk2 = ~stk2; 617 stk1 = T | stk2; 618 stk1 = ~stk1; 619 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 620} 621 622/* TDSxnon source transparent/pattern opaque. */ 623static unsigned xrop3_6_1_0 (unsigned char s, unsigned char t) 624{ 625 unsigned D = 0x00ff; 626 unsigned S = ((unsigned)s << 8) | s; 627 unsigned T = ((unsigned)t << 8) | t; 628 unsigned stk1; 629 unsigned stk2; 630 stk2 = D ^ S; 631 stk2 = ~stk2; 632 stk1 = T | stk2; 633 stk1 = ~stk1; 634 return (stk1 & (~S)) | (D & S); 635} 636 637/* TDSxnon source/pattern transparent. */ 638static unsigned xrop3_6_1_1 (unsigned char s, unsigned char t) 639{ 640 unsigned D = 0x00ff; 641 unsigned S = ((unsigned)s << 8) | s; 642 unsigned T = ((unsigned)t << 8) | t; 643 unsigned stk1; 644 unsigned stk2; 645 stk2 = D ^ S; 646 stk2 = ~stk2; 647 stk1 = T | stk2; 648 stk1 = ~stk1; 649 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 650} 651 652/* TDSaon source/pattern opaque. */ 653static void rop3_7_0_0 (unsigned char *D, unsigned char S, unsigned char T) 654{ 655 unsigned char stk1; 656 unsigned char stk2; 657 stk2 = *D & S; 658 stk1 = T | stk2; 659 stk1 = ~stk1; 660 *D = stk1; 661} 662 663/* TDSaon source opaque/pattern transparent. */ 664static void rop3_7_0_1 (unsigned char *D, unsigned char S, unsigned char T) 665{ 666 unsigned char stk1; 667 unsigned char stk2; 668 stk2 = *D & S; 669 stk1 = T | stk2; 670 stk1 = ~stk1; 671 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 672} 673 674/* TDSaon source transparent/pattern opaque. */ 675static void rop3_7_1_0 (unsigned char *D, unsigned char S, unsigned char T) 676{ 677 unsigned char stk1; 678 unsigned char stk2; 679 stk2 = *D & S; 680 stk1 = T | stk2; 681 stk1 = ~stk1; 682 *D = (stk1 & (~S)) | (*D & S); 683} 684 685/* TDSaon source/pattern transparent. */ 686static void rop3_7_1_1 (unsigned char *D, unsigned char S, unsigned char T) 687{ 688 unsigned char stk1; 689 unsigned char stk2; 690 stk2 = *D & S; 691 stk1 = T | stk2; 692 stk1 = ~stk1; 693 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 694} 695 696/* TDSaon source/pattern opaque. */ 697static unsigned xrop3_7_0_0 (unsigned char s, unsigned char t) 698{ 699 unsigned D = 0x00ff; 700 unsigned S = ((unsigned)s << 8) | s; 701 unsigned T = ((unsigned)t << 8) | t; 702 unsigned stk1; 703 unsigned stk2; 704 stk2 = D & S; 705 stk1 = T | stk2; 706 stk1 = ~stk1; 707 return stk1; 708} 709 710/* TDSaon source opaque/pattern transparent. */ 711static unsigned xrop3_7_0_1 (unsigned char s, unsigned char t) 712{ 713 unsigned D = 0x00ff; 714 unsigned S = ((unsigned)s << 8) | s; 715 unsigned T = ((unsigned)t << 8) | t; 716 unsigned stk1; 717 unsigned stk2; 718 stk2 = D & S; 719 stk1 = T | stk2; 720 stk1 = ~stk1; 721 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 722} 723 724/* TDSaon source transparent/pattern opaque. */ 725static unsigned xrop3_7_1_0 (unsigned char s, unsigned char t) 726{ 727 unsigned D = 0x00ff; 728 unsigned S = ((unsigned)s << 8) | s; 729 unsigned T = ((unsigned)t << 8) | t; 730 unsigned stk1; 731 unsigned stk2; 732 stk2 = D & S; 733 stk1 = T | stk2; 734 stk1 = ~stk1; 735 return (stk1 & (~S)) | (D & S); 736} 737 738/* TDSaon source/pattern transparent. */ 739static unsigned xrop3_7_1_1 (unsigned char s, unsigned char t) 740{ 741 unsigned D = 0x00ff; 742 unsigned S = ((unsigned)s << 8) | s; 743 unsigned T = ((unsigned)t << 8) | t; 744 unsigned stk1; 745 unsigned stk2; 746 stk2 = D & S; 747 stk1 = T | stk2; 748 stk1 = ~stk1; 749 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 750} 751 752/* SDTnaa source/pattern opaque. */ 753static void rop3_8_0_0 (unsigned char *D, unsigned char S, unsigned char T) 754{ 755 unsigned char stk1; 756 unsigned char stk2; 757 unsigned char stk3; 758 stk3 = ~T; 759 stk2 = *D & stk3; 760 stk1 = S & stk2; 761 *D = stk1; 762} 763 764/* SDTnaa source opaque/pattern transparent. */ 765static void rop3_8_0_1 (unsigned char *D, unsigned char S, unsigned char T) 766{ 767 unsigned char stk1; 768 unsigned char stk2; 769 unsigned char stk3; 770 stk3 = ~T; 771 stk2 = *D & stk3; 772 stk1 = S & stk2; 773 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 774} 775 776/* SDTnaa source transparent/pattern opaque. */ 777static void rop3_8_1_0 (unsigned char *D, unsigned char S, unsigned char T) 778{ 779 unsigned char stk1; 780 unsigned char stk2; 781 unsigned char stk3; 782 stk3 = ~T; 783 stk2 = *D & stk3; 784 stk1 = S & stk2; 785 *D = (stk1 & (~S)) | (*D & S); 786} 787 788/* SDTnaa source/pattern transparent. */ 789static void rop3_8_1_1 (unsigned char *D, unsigned char S, unsigned char T) 790{ 791 unsigned char stk1; 792 unsigned char stk2; 793 unsigned char stk3; 794 stk3 = ~T; 795 stk2 = *D & stk3; 796 stk1 = S & stk2; 797 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 798} 799 800/* SDTnaa source/pattern opaque. */ 801static unsigned xrop3_8_0_0 (unsigned char s, unsigned char t) 802{ 803 unsigned D = 0x00ff; 804 unsigned S = ((unsigned)s << 8) | s; 805 unsigned T = ((unsigned)t << 8) | t; 806 unsigned stk1; 807 unsigned stk2; 808 unsigned stk3; 809 stk3 = ~T; 810 stk2 = D & stk3; 811 stk1 = S & stk2; 812 return stk1; 813} 814 815/* SDTnaa source opaque/pattern transparent. */ 816static unsigned xrop3_8_0_1 (unsigned char s, unsigned char t) 817{ 818 unsigned D = 0x00ff; 819 unsigned S = ((unsigned)s << 8) | s; 820 unsigned T = ((unsigned)t << 8) | t; 821 unsigned stk1; 822 unsigned stk2; 823 unsigned stk3; 824 stk3 = ~T; 825 stk2 = D & stk3; 826 stk1 = S & stk2; 827 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 828} 829 830/* SDTnaa source transparent/pattern opaque. */ 831static unsigned xrop3_8_1_0 (unsigned char s, unsigned char t) 832{ 833 unsigned D = 0x00ff; 834 unsigned S = ((unsigned)s << 8) | s; 835 unsigned T = ((unsigned)t << 8) | t; 836 unsigned stk1; 837 unsigned stk2; 838 unsigned stk3; 839 stk3 = ~T; 840 stk2 = D & stk3; 841 stk1 = S & stk2; 842 return (stk1 & (~S)) | (D & S); 843} 844 845/* SDTnaa source/pattern transparent. */ 846static unsigned xrop3_8_1_1 (unsigned char s, unsigned char t) 847{ 848 unsigned D = 0x00ff; 849 unsigned S = ((unsigned)s << 8) | s; 850 unsigned T = ((unsigned)t << 8) | t; 851 unsigned stk1; 852 unsigned stk2; 853 unsigned stk3; 854 stk3 = ~T; 855 stk2 = D & stk3; 856 stk1 = S & stk2; 857 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 858} 859 860/* TDSxon source/pattern opaque. */ 861static void rop3_9_0_0 (unsigned char *D, unsigned char S, unsigned char T) 862{ 863 unsigned char stk1; 864 unsigned char stk2; 865 stk2 = *D ^ S; 866 stk1 = T | stk2; 867 stk1 = ~stk1; 868 *D = stk1; 869} 870 871/* TDSxon source opaque/pattern transparent. */ 872static void rop3_9_0_1 (unsigned char *D, unsigned char S, unsigned char T) 873{ 874 unsigned char stk1; 875 unsigned char stk2; 876 stk2 = *D ^ S; 877 stk1 = T | stk2; 878 stk1 = ~stk1; 879 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 880} 881 882/* TDSxon source transparent/pattern opaque. */ 883static void rop3_9_1_0 (unsigned char *D, unsigned char S, unsigned char T) 884{ 885 unsigned char stk1; 886 unsigned char stk2; 887 stk2 = *D ^ S; 888 stk1 = T | stk2; 889 stk1 = ~stk1; 890 *D = (stk1 & (~S)) | (*D & S); 891} 892 893/* TDSxon source/pattern transparent. */ 894static void rop3_9_1_1 (unsigned char *D, unsigned char S, unsigned char T) 895{ 896 unsigned char stk1; 897 unsigned char stk2; 898 stk2 = *D ^ S; 899 stk1 = T | stk2; 900 stk1 = ~stk1; 901 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 902} 903 904/* TDSxon source/pattern opaque. */ 905static unsigned xrop3_9_0_0 (unsigned char s, unsigned char t) 906{ 907 unsigned D = 0x00ff; 908 unsigned S = ((unsigned)s << 8) | s; 909 unsigned T = ((unsigned)t << 8) | t; 910 unsigned stk1; 911 unsigned stk2; 912 stk2 = D ^ S; 913 stk1 = T | stk2; 914 stk1 = ~stk1; 915 return stk1; 916} 917 918/* TDSxon source opaque/pattern transparent. */ 919static unsigned xrop3_9_0_1 (unsigned char s, unsigned char t) 920{ 921 unsigned D = 0x00ff; 922 unsigned S = ((unsigned)s << 8) | s; 923 unsigned T = ((unsigned)t << 8) | t; 924 unsigned stk1; 925 unsigned stk2; 926 stk2 = D ^ S; 927 stk1 = T | stk2; 928 stk1 = ~stk1; 929 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 930} 931 932/* TDSxon source transparent/pattern opaque. */ 933static unsigned xrop3_9_1_0 (unsigned char s, unsigned char t) 934{ 935 unsigned D = 0x00ff; 936 unsigned S = ((unsigned)s << 8) | s; 937 unsigned T = ((unsigned)t << 8) | t; 938 unsigned stk1; 939 unsigned stk2; 940 stk2 = D ^ S; 941 stk1 = T | stk2; 942 stk1 = ~stk1; 943 return (stk1 & (~S)) | (D & S); 944} 945 946/* TDSxon source/pattern transparent. */ 947static unsigned xrop3_9_1_1 (unsigned char s, unsigned char t) 948{ 949 unsigned D = 0x00ff; 950 unsigned S = ((unsigned)s << 8) | s; 951 unsigned T = ((unsigned)t << 8) | t; 952 unsigned stk1; 953 unsigned stk2; 954 stk2 = D ^ S; 955 stk1 = T | stk2; 956 stk1 = ~stk1; 957 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 958} 959 960/* DTna source/pattern opaque. */ 961static void rop3_10_0_0 (unsigned char *D, unsigned char S, unsigned char T) 962{ 963 unsigned char stk1; 964 unsigned char stk2; 965 stk2 = ~T; 966 stk1 = *D & stk2; 967 *D = stk1; 968} 969 970/* DTna source opaque/pattern transparent. */ 971static void rop3_10_0_1 (unsigned char *D, unsigned char S, unsigned char T) 972{ 973 unsigned char stk1; 974 unsigned char stk2; 975 stk2 = ~T; 976 stk1 = *D & stk2; 977 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 978} 979 980/* DTna source transparent/pattern opaque. */ 981static void rop3_10_1_0 (unsigned char *D, unsigned char S, unsigned char T) 982{ 983 unsigned char stk1; 984 unsigned char stk2; 985 stk2 = ~T; 986 stk1 = *D & stk2; 987 *D = (stk1 & (~S)) | (*D & S); 988} 989 990/* DTna source/pattern transparent. */ 991static void rop3_10_1_1 (unsigned char *D, unsigned char S, unsigned char T) 992{ 993 unsigned char stk1; 994 unsigned char stk2; 995 stk2 = ~T; 996 stk1 = *D & stk2; 997 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 998} 999 1000/* DTna source/pattern opaque. */ 1001static unsigned xrop3_10_0_0 (unsigned char s, unsigned char t) 1002{ 1003 unsigned D = 0x00ff; 1004 unsigned T = ((unsigned)t << 8) | t; 1005 unsigned stk1; 1006 unsigned stk2; 1007 stk2 = ~T; 1008 stk1 = D & stk2; 1009 return stk1; 1010} 1011 1012/* DTna source opaque/pattern transparent. */ 1013static unsigned xrop3_10_0_1 (unsigned char s, unsigned char t) 1014{ 1015 unsigned D = 0x00ff; 1016 unsigned S = ((unsigned)s << 8) | s; 1017 unsigned T = ((unsigned)t << 8) | t; 1018 unsigned stk1; 1019 unsigned stk2; 1020 stk2 = ~T; 1021 stk1 = D & stk2; 1022 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 1023} 1024 1025/* DTna source transparent/pattern opaque. */ 1026static unsigned xrop3_10_1_0 (unsigned char s, unsigned char t) 1027{ 1028 unsigned D = 0x00ff; 1029 unsigned S = ((unsigned)s << 8) | s; 1030 unsigned T = ((unsigned)t << 8) | t; 1031 unsigned stk1; 1032 unsigned stk2; 1033 stk2 = ~T; 1034 stk1 = D & stk2; 1035 return (stk1 & (~S)) | (D & S); 1036} 1037 1038/* DTna source/pattern transparent. */ 1039static unsigned xrop3_10_1_1 (unsigned char s, unsigned char t) 1040{ 1041 unsigned D = 0x00ff; 1042 unsigned S = ((unsigned)s << 8) | s; 1043 unsigned T = ((unsigned)t << 8) | t; 1044 unsigned stk1; 1045 unsigned stk2; 1046 stk2 = ~T; 1047 stk1 = D & stk2; 1048 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 1049} 1050 1051/* TSDnaon source/pattern opaque. */ 1052static void rop3_11_0_0 (unsigned char *D, unsigned char S, unsigned char T) 1053{ 1054 unsigned char stk1; 1055 unsigned char stk2; 1056 unsigned char stk3; 1057 stk3 = ~*D; 1058 stk2 = S & stk3; 1059 stk1 = T | stk2; 1060 stk1 = ~stk1; 1061 *D = stk1; 1062} 1063 1064/* TSDnaon source opaque/pattern transparent. */ 1065static void rop3_11_0_1 (unsigned char *D, unsigned char S, unsigned char T) 1066{ 1067 unsigned char stk1; 1068 unsigned char stk2; 1069 unsigned char stk3; 1070 stk3 = ~*D; 1071 stk2 = S & stk3; 1072 stk1 = T | stk2; 1073 stk1 = ~stk1; 1074 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 1075} 1076 1077/* TSDnaon source transparent/pattern opaque. */ 1078static void rop3_11_1_0 (unsigned char *D, unsigned char S, unsigned char T) 1079{ 1080 unsigned char stk1; 1081 unsigned char stk2; 1082 unsigned char stk3; 1083 stk3 = ~*D; 1084 stk2 = S & stk3; 1085 stk1 = T | stk2; 1086 stk1 = ~stk1; 1087 *D = (stk1 & (~S)) | (*D & S); 1088} 1089 1090/* TSDnaon source/pattern transparent. */ 1091static void rop3_11_1_1 (unsigned char *D, unsigned char S, unsigned char T) 1092{ 1093 unsigned char stk1; 1094 unsigned char stk2; 1095 unsigned char stk3; 1096 stk3 = ~*D; 1097 stk2 = S & stk3; 1098 stk1 = T | stk2; 1099 stk1 = ~stk1; 1100 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 1101} 1102 1103/* TSDnaon source/pattern opaque. */ 1104static unsigned xrop3_11_0_0 (unsigned char s, unsigned char t) 1105{ 1106 unsigned D = 0x00ff; 1107 unsigned S = ((unsigned)s << 8) | s; 1108 unsigned T = ((unsigned)t << 8) | t; 1109 unsigned stk1; 1110 unsigned stk2; 1111 unsigned stk3; 1112 stk3 = ~D; 1113 stk2 = S & stk3; 1114 stk1 = T | stk2; 1115 stk1 = ~stk1; 1116 return stk1; 1117} 1118 1119/* TSDnaon source opaque/pattern transparent. */ 1120static unsigned xrop3_11_0_1 (unsigned char s, unsigned char t) 1121{ 1122 unsigned D = 0x00ff; 1123 unsigned S = ((unsigned)s << 8) | s; 1124 unsigned T = ((unsigned)t << 8) | t; 1125 unsigned stk1; 1126 unsigned stk2; 1127 unsigned stk3; 1128 stk3 = ~D; 1129 stk2 = S & stk3; 1130 stk1 = T | stk2; 1131 stk1 = ~stk1; 1132 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 1133} 1134 1135/* TSDnaon source transparent/pattern opaque. */ 1136static unsigned xrop3_11_1_0 (unsigned char s, unsigned char t) 1137{ 1138 unsigned D = 0x00ff; 1139 unsigned S = ((unsigned)s << 8) | s; 1140 unsigned T = ((unsigned)t << 8) | t; 1141 unsigned stk1; 1142 unsigned stk2; 1143 unsigned stk3; 1144 stk3 = ~D; 1145 stk2 = S & stk3; 1146 stk1 = T | stk2; 1147 stk1 = ~stk1; 1148 return (stk1 & (~S)) | (D & S); 1149} 1150 1151/* TSDnaon source/pattern transparent. */ 1152static unsigned xrop3_11_1_1 (unsigned char s, unsigned char t) 1153{ 1154 unsigned D = 0x00ff; 1155 unsigned S = ((unsigned)s << 8) | s; 1156 unsigned T = ((unsigned)t << 8) | t; 1157 unsigned stk1; 1158 unsigned stk2; 1159 unsigned stk3; 1160 stk3 = ~D; 1161 stk2 = S & stk3; 1162 stk1 = T | stk2; 1163 stk1 = ~stk1; 1164 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 1165} 1166 1167/* STna source/pattern opaque. */ 1168static void rop3_12_0_0 (unsigned char *D, unsigned char S, unsigned char T) 1169{ 1170 unsigned char stk1; 1171 unsigned char stk2; 1172 stk2 = ~T; 1173 stk1 = S & stk2; 1174 *D = stk1; 1175} 1176 1177/* STna source opaque/pattern transparent. */ 1178static void rop3_12_0_1 (unsigned char *D, unsigned char S, unsigned char T) 1179{ 1180 unsigned char stk1; 1181 unsigned char stk2; 1182 stk2 = ~T; 1183 stk1 = S & stk2; 1184 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 1185} 1186 1187/* STna source transparent/pattern opaque. */ 1188static void rop3_12_1_0 (unsigned char *D, unsigned char S, unsigned char T) 1189{ 1190 unsigned char stk1; 1191 unsigned char stk2; 1192 stk2 = ~T; 1193 stk1 = S & stk2; 1194 *D = (stk1 & (~S)) | (*D & S); 1195} 1196 1197/* STna source/pattern transparent. */ 1198static void rop3_12_1_1 (unsigned char *D, unsigned char S, unsigned char T) 1199{ 1200 unsigned char stk1; 1201 unsigned char stk2; 1202 stk2 = ~T; 1203 stk1 = S & stk2; 1204 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 1205} 1206 1207/* STna source/pattern opaque. */ 1208static unsigned xrop3_12_0_0 (unsigned char s, unsigned char t) 1209{ 1210 unsigned S = ((unsigned)s << 8) | s; 1211 unsigned T = ((unsigned)t << 8) | t; 1212 unsigned stk1; 1213 unsigned stk2; 1214 stk2 = ~T; 1215 stk1 = S & stk2; 1216 return stk1; 1217} 1218 1219/* STna source opaque/pattern transparent. */ 1220static unsigned xrop3_12_0_1 (unsigned char s, unsigned char t) 1221{ 1222 unsigned D = 0x00ff; 1223 unsigned S = ((unsigned)s << 8) | s; 1224 unsigned T = ((unsigned)t << 8) | t; 1225 unsigned stk1; 1226 unsigned stk2; 1227 stk2 = ~T; 1228 stk1 = S & stk2; 1229 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 1230} 1231 1232/* STna source transparent/pattern opaque. */ 1233static unsigned xrop3_12_1_0 (unsigned char s, unsigned char t) 1234{ 1235 unsigned D = 0x00ff; 1236 unsigned S = ((unsigned)s << 8) | s; 1237 unsigned T = ((unsigned)t << 8) | t; 1238 unsigned stk1; 1239 unsigned stk2; 1240 stk2 = ~T; 1241 stk1 = S & stk2; 1242 return (stk1 & (~S)) | (D & S); 1243} 1244 1245/* STna source/pattern transparent. */ 1246static unsigned xrop3_12_1_1 (unsigned char s, unsigned char t) 1247{ 1248 unsigned D = 0x00ff; 1249 unsigned S = ((unsigned)s << 8) | s; 1250 unsigned T = ((unsigned)t << 8) | t; 1251 unsigned stk1; 1252 unsigned stk2; 1253 stk2 = ~T; 1254 stk1 = S & stk2; 1255 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 1256} 1257 1258/* TDSnaon source/pattern opaque. */ 1259static void rop3_13_0_0 (unsigned char *D, unsigned char S, unsigned char T) 1260{ 1261 unsigned char stk1; 1262 unsigned char stk2; 1263 unsigned char stk3; 1264 stk3 = ~S; 1265 stk2 = *D & stk3; 1266 stk1 = T | stk2; 1267 stk1 = ~stk1; 1268 *D = stk1; 1269} 1270 1271/* TDSnaon source opaque/pattern transparent. */ 1272static void rop3_13_0_1 (unsigned char *D, unsigned char S, unsigned char T) 1273{ 1274 unsigned char stk1; 1275 unsigned char stk2; 1276 unsigned char stk3; 1277 stk3 = ~S; 1278 stk2 = *D & stk3; 1279 stk1 = T | stk2; 1280 stk1 = ~stk1; 1281 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 1282} 1283 1284/* TDSnaon source transparent/pattern opaque. */ 1285static void rop3_13_1_0 (unsigned char *D, unsigned char S, unsigned char T) 1286{ 1287 unsigned char stk1; 1288 unsigned char stk2; 1289 unsigned char stk3; 1290 stk3 = ~S; 1291 stk2 = *D & stk3; 1292 stk1 = T | stk2; 1293 stk1 = ~stk1; 1294 *D = (stk1 & (~S)) | (*D & S); 1295} 1296 1297/* TDSnaon source/pattern transparent. */ 1298static void rop3_13_1_1 (unsigned char *D, unsigned char S, unsigned char T) 1299{ 1300 unsigned char stk1; 1301 unsigned char stk2; 1302 unsigned char stk3; 1303 stk3 = ~S; 1304 stk2 = *D & stk3; 1305 stk1 = T | stk2; 1306 stk1 = ~stk1; 1307 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 1308} 1309 1310/* TDSnaon source/pattern opaque. */ 1311static unsigned xrop3_13_0_0 (unsigned char s, unsigned char t) 1312{ 1313 unsigned D = 0x00ff; 1314 unsigned S = ((unsigned)s << 8) | s; 1315 unsigned T = ((unsigned)t << 8) | t; 1316 unsigned stk1; 1317 unsigned stk2; 1318 unsigned stk3; 1319 stk3 = ~S; 1320 stk2 = D & stk3; 1321 stk1 = T | stk2; 1322 stk1 = ~stk1; 1323 return stk1; 1324} 1325 1326/* TDSnaon source opaque/pattern transparent. */ 1327static unsigned xrop3_13_0_1 (unsigned char s, unsigned char t) 1328{ 1329 unsigned D = 0x00ff; 1330 unsigned S = ((unsigned)s << 8) | s; 1331 unsigned T = ((unsigned)t << 8) | t; 1332 unsigned stk1; 1333 unsigned stk2; 1334 unsigned stk3; 1335 stk3 = ~S; 1336 stk2 = D & stk3; 1337 stk1 = T | stk2; 1338 stk1 = ~stk1; 1339 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 1340} 1341 1342/* TDSnaon source transparent/pattern opaque. */ 1343static unsigned xrop3_13_1_0 (unsigned char s, unsigned char t) 1344{ 1345 unsigned D = 0x00ff; 1346 unsigned S = ((unsigned)s << 8) | s; 1347 unsigned T = ((unsigned)t << 8) | t; 1348 unsigned stk1; 1349 unsigned stk2; 1350 unsigned stk3; 1351 stk3 = ~S; 1352 stk2 = D & stk3; 1353 stk1 = T | stk2; 1354 stk1 = ~stk1; 1355 return (stk1 & (~S)) | (D & S); 1356} 1357 1358/* TDSnaon source/pattern transparent. */ 1359static unsigned xrop3_13_1_1 (unsigned char s, unsigned char t) 1360{ 1361 unsigned D = 0x00ff; 1362 unsigned S = ((unsigned)s << 8) | s; 1363 unsigned T = ((unsigned)t << 8) | t; 1364 unsigned stk1; 1365 unsigned stk2; 1366 unsigned stk3; 1367 stk3 = ~S; 1368 stk2 = D & stk3; 1369 stk1 = T | stk2; 1370 stk1 = ~stk1; 1371 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 1372} 1373 1374/* TDSonon source/pattern opaque. */ 1375static void rop3_14_0_0 (unsigned char *D, unsigned char S, unsigned char T) 1376{ 1377 unsigned char stk1; 1378 unsigned char stk2; 1379 stk2 = *D | S; 1380 stk2 = ~stk2; 1381 stk1 = T | stk2; 1382 stk1 = ~stk1; 1383 *D = stk1; 1384} 1385 1386/* TDSonon source opaque/pattern transparent. */ 1387static void rop3_14_0_1 (unsigned char *D, unsigned char S, unsigned char T) 1388{ 1389 unsigned char stk1; 1390 unsigned char stk2; 1391 stk2 = *D | S; 1392 stk2 = ~stk2; 1393 stk1 = T | stk2; 1394 stk1 = ~stk1; 1395 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 1396} 1397 1398/* TDSonon source transparent/pattern opaque. */ 1399static void rop3_14_1_0 (unsigned char *D, unsigned char S, unsigned char T) 1400{ 1401 unsigned char stk1; 1402 unsigned char stk2; 1403 stk2 = *D | S; 1404 stk2 = ~stk2; 1405 stk1 = T | stk2; 1406 stk1 = ~stk1; 1407 *D = (stk1 & (~S)) | (*D & S); 1408} 1409 1410/* TDSonon source/pattern transparent. */ 1411static void rop3_14_1_1 (unsigned char *D, unsigned char S, unsigned char T) 1412{ 1413 unsigned char stk1; 1414 unsigned char stk2; 1415 stk2 = *D | S; 1416 stk2 = ~stk2; 1417 stk1 = T | stk2; 1418 stk1 = ~stk1; 1419 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 1420} 1421 1422/* TDSonon source/pattern opaque. */ 1423static unsigned xrop3_14_0_0 (unsigned char s, unsigned char t) 1424{ 1425 unsigned D = 0x00ff; 1426 unsigned S = ((unsigned)s << 8) | s; 1427 unsigned T = ((unsigned)t << 8) | t; 1428 unsigned stk1; 1429 unsigned stk2; 1430 stk2 = D | S; 1431 stk2 = ~stk2; 1432 stk1 = T | stk2; 1433 stk1 = ~stk1; 1434 return stk1; 1435} 1436 1437/* TDSonon source opaque/pattern transparent. */ 1438static unsigned xrop3_14_0_1 (unsigned char s, unsigned char t) 1439{ 1440 unsigned D = 0x00ff; 1441 unsigned S = ((unsigned)s << 8) | s; 1442 unsigned T = ((unsigned)t << 8) | t; 1443 unsigned stk1; 1444 unsigned stk2; 1445 stk2 = D | S; 1446 stk2 = ~stk2; 1447 stk1 = T | stk2; 1448 stk1 = ~stk1; 1449 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 1450} 1451 1452/* TDSonon source transparent/pattern opaque. */ 1453static unsigned xrop3_14_1_0 (unsigned char s, unsigned char t) 1454{ 1455 unsigned D = 0x00ff; 1456 unsigned S = ((unsigned)s << 8) | s; 1457 unsigned T = ((unsigned)t << 8) | t; 1458 unsigned stk1; 1459 unsigned stk2; 1460 stk2 = D | S; 1461 stk2 = ~stk2; 1462 stk1 = T | stk2; 1463 stk1 = ~stk1; 1464 return (stk1 & (~S)) | (D & S); 1465} 1466 1467/* TDSonon source/pattern transparent. */ 1468static unsigned xrop3_14_1_1 (unsigned char s, unsigned char t) 1469{ 1470 unsigned D = 0x00ff; 1471 unsigned S = ((unsigned)s << 8) | s; 1472 unsigned T = ((unsigned)t << 8) | t; 1473 unsigned stk1; 1474 unsigned stk2; 1475 stk2 = D | S; 1476 stk2 = ~stk2; 1477 stk1 = T | stk2; 1478 stk1 = ~stk1; 1479 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 1480} 1481 1482/* Tn source/pattern opaque. */ 1483static void rop3_15_0_0 (unsigned char *D, unsigned char S, unsigned char T) 1484{ 1485 unsigned char stk1; 1486 stk1 = ~T; 1487 *D = stk1; 1488} 1489 1490/* Tn source opaque/pattern transparent. */ 1491static void rop3_15_0_1 (unsigned char *D, unsigned char S, unsigned char T) 1492{ 1493 unsigned char stk1; 1494 stk1 = ~T; 1495 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 1496} 1497 1498/* Tn source transparent/pattern opaque. */ 1499static void rop3_15_1_0 (unsigned char *D, unsigned char S, unsigned char T) 1500{ 1501 unsigned char stk1; 1502 stk1 = ~T; 1503 *D = (stk1 & (~S)) | (*D & S); 1504} 1505 1506/* Tn source/pattern transparent. */ 1507static void rop3_15_1_1 (unsigned char *D, unsigned char S, unsigned char T) 1508{ 1509 unsigned char stk1; 1510 stk1 = ~T; 1511 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 1512} 1513 1514/* Tn source/pattern opaque. */ 1515static unsigned xrop3_15_0_0 (unsigned char s, unsigned char t) 1516{ 1517 unsigned T = ((unsigned)t << 8) | t; 1518 unsigned stk1; 1519 stk1 = ~T; 1520 return stk1; 1521} 1522 1523/* Tn source opaque/pattern transparent. */ 1524static unsigned xrop3_15_0_1 (unsigned char s, unsigned char t) 1525{ 1526 unsigned D = 0x00ff; 1527 unsigned S = ((unsigned)s << 8) | s; 1528 unsigned T = ((unsigned)t << 8) | t; 1529 unsigned stk1; 1530 stk1 = ~T; 1531 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 1532} 1533 1534/* Tn source transparent/pattern opaque. */ 1535static unsigned xrop3_15_1_0 (unsigned char s, unsigned char t) 1536{ 1537 unsigned D = 0x00ff; 1538 unsigned S = ((unsigned)s << 8) | s; 1539 unsigned T = ((unsigned)t << 8) | t; 1540 unsigned stk1; 1541 stk1 = ~T; 1542 return (stk1 & (~S)) | (D & S); 1543} 1544 1545/* Tn source/pattern transparent. */ 1546static unsigned xrop3_15_1_1 (unsigned char s, unsigned char t) 1547{ 1548 unsigned D = 0x00ff; 1549 unsigned S = ((unsigned)s << 8) | s; 1550 unsigned T = ((unsigned)t << 8) | t; 1551 unsigned stk1; 1552 stk1 = ~T; 1553 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 1554} 1555 1556/* TDSona source/pattern opaque. */ 1557static void rop3_16_0_0 (unsigned char *D, unsigned char S, unsigned char T) 1558{ 1559 unsigned char stk1; 1560 unsigned char stk2; 1561 stk2 = *D | S; 1562 stk2 = ~stk2; 1563 stk1 = T & stk2; 1564 *D = stk1; 1565} 1566 1567/* TDSona source opaque/pattern transparent. */ 1568static void rop3_16_0_1 (unsigned char *D, unsigned char S, unsigned char T) 1569{ 1570 unsigned char stk1; 1571 unsigned char stk2; 1572 stk2 = *D | S; 1573 stk2 = ~stk2; 1574 stk1 = T & stk2; 1575 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 1576} 1577 1578/* TDSona source transparent/pattern opaque. */ 1579static void rop3_16_1_0 (unsigned char *D, unsigned char S, unsigned char T) 1580{ 1581 unsigned char stk1; 1582 unsigned char stk2; 1583 stk2 = *D | S; 1584 stk2 = ~stk2; 1585 stk1 = T & stk2; 1586 *D = (stk1 & (~S)) | (*D & S); 1587} 1588 1589/* TDSona source/pattern transparent. */ 1590static void rop3_16_1_1 (unsigned char *D, unsigned char S, unsigned char T) 1591{ 1592 unsigned char stk1; 1593 unsigned char stk2; 1594 stk2 = *D | S; 1595 stk2 = ~stk2; 1596 stk1 = T & stk2; 1597 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 1598} 1599 1600/* TDSona source/pattern opaque. */ 1601static unsigned xrop3_16_0_0 (unsigned char s, unsigned char t) 1602{ 1603 unsigned D = 0x00ff; 1604 unsigned S = ((unsigned)s << 8) | s; 1605 unsigned T = ((unsigned)t << 8) | t; 1606 unsigned stk1; 1607 unsigned stk2; 1608 stk2 = D | S; 1609 stk2 = ~stk2; 1610 stk1 = T & stk2; 1611 return stk1; 1612} 1613 1614/* TDSona source opaque/pattern transparent. */ 1615static unsigned xrop3_16_0_1 (unsigned char s, unsigned char t) 1616{ 1617 unsigned D = 0x00ff; 1618 unsigned S = ((unsigned)s << 8) | s; 1619 unsigned T = ((unsigned)t << 8) | t; 1620 unsigned stk1; 1621 unsigned stk2; 1622 stk2 = D | S; 1623 stk2 = ~stk2; 1624 stk1 = T & stk2; 1625 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 1626} 1627 1628/* TDSona source transparent/pattern opaque. */ 1629static unsigned xrop3_16_1_0 (unsigned char s, unsigned char t) 1630{ 1631 unsigned D = 0x00ff; 1632 unsigned S = ((unsigned)s << 8) | s; 1633 unsigned T = ((unsigned)t << 8) | t; 1634 unsigned stk1; 1635 unsigned stk2; 1636 stk2 = D | S; 1637 stk2 = ~stk2; 1638 stk1 = T & stk2; 1639 return (stk1 & (~S)) | (D & S); 1640} 1641 1642/* TDSona source/pattern transparent. */ 1643static unsigned xrop3_16_1_1 (unsigned char s, unsigned char t) 1644{ 1645 unsigned D = 0x00ff; 1646 unsigned S = ((unsigned)s << 8) | s; 1647 unsigned T = ((unsigned)t << 8) | t; 1648 unsigned stk1; 1649 unsigned stk2; 1650 stk2 = D | S; 1651 stk2 = ~stk2; 1652 stk1 = T & stk2; 1653 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 1654} 1655 1656/* DSon source/pattern opaque. */ 1657static void rop3_17_0_0 (unsigned char *D, unsigned char S, unsigned char T) 1658{ 1659 unsigned char stk1; 1660 stk1 = *D | S; 1661 stk1 = ~stk1; 1662 *D = stk1; 1663} 1664 1665/* DSon source opaque/pattern transparent. */ 1666static void rop3_17_0_1 (unsigned char *D, unsigned char S, unsigned char T) 1667{ 1668 unsigned char stk1; 1669 stk1 = *D | S; 1670 stk1 = ~stk1; 1671 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 1672} 1673 1674/* DSon source transparent/pattern opaque. */ 1675static void rop3_17_1_0 (unsigned char *D, unsigned char S, unsigned char T) 1676{ 1677 unsigned char stk1; 1678 stk1 = *D | S; 1679 stk1 = ~stk1; 1680 *D = (stk1 & (~S)) | (*D & S); 1681} 1682 1683/* DSon source/pattern transparent. */ 1684static void rop3_17_1_1 (unsigned char *D, unsigned char S, unsigned char T) 1685{ 1686 unsigned char stk1; 1687 stk1 = *D | S; 1688 stk1 = ~stk1; 1689 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 1690} 1691 1692/* DSon source/pattern opaque. */ 1693static unsigned xrop3_17_0_0 (unsigned char s, unsigned char t) 1694{ 1695 unsigned D = 0x00ff; 1696 unsigned S = ((unsigned)s << 8) | s; 1697 unsigned stk1; 1698 stk1 = D | S; 1699 stk1 = ~stk1; 1700 return stk1; 1701} 1702 1703/* DSon source opaque/pattern transparent. */ 1704static unsigned xrop3_17_0_1 (unsigned char s, unsigned char t) 1705{ 1706 unsigned D = 0x00ff; 1707 unsigned S = ((unsigned)s << 8) | s; 1708 unsigned T = ((unsigned)t << 8) | t; 1709 unsigned stk1; 1710 stk1 = D | S; 1711 stk1 = ~stk1; 1712 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 1713} 1714 1715/* DSon source transparent/pattern opaque. */ 1716static unsigned xrop3_17_1_0 (unsigned char s, unsigned char t) 1717{ 1718 unsigned D = 0x00ff; 1719 unsigned S = ((unsigned)s << 8) | s; 1720 unsigned stk1; 1721 stk1 = D | S; 1722 stk1 = ~stk1; 1723 return (stk1 & (~S)) | (D & S); 1724} 1725 1726/* DSon source/pattern transparent. */ 1727static unsigned xrop3_17_1_1 (unsigned char s, unsigned char t) 1728{ 1729 unsigned D = 0x00ff; 1730 unsigned S = ((unsigned)s << 8) | s; 1731 unsigned T = ((unsigned)t << 8) | t; 1732 unsigned stk1; 1733 stk1 = D | S; 1734 stk1 = ~stk1; 1735 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 1736} 1737 1738/* SDTxnon source/pattern opaque. */ 1739static void rop3_18_0_0 (unsigned char *D, unsigned char S, unsigned char T) 1740{ 1741 unsigned char stk1; 1742 unsigned char stk2; 1743 stk2 = *D ^ T; 1744 stk2 = ~stk2; 1745 stk1 = S | stk2; 1746 stk1 = ~stk1; 1747 *D = stk1; 1748} 1749 1750/* SDTxnon source opaque/pattern transparent. */ 1751static void rop3_18_0_1 (unsigned char *D, unsigned char S, unsigned char T) 1752{ 1753 unsigned char stk1; 1754 unsigned char stk2; 1755 stk2 = *D ^ T; 1756 stk2 = ~stk2; 1757 stk1 = S | stk2; 1758 stk1 = ~stk1; 1759 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 1760} 1761 1762/* SDTxnon source transparent/pattern opaque. */ 1763static void rop3_18_1_0 (unsigned char *D, unsigned char S, unsigned char T) 1764{ 1765 unsigned char stk1; 1766 unsigned char stk2; 1767 stk2 = *D ^ T; 1768 stk2 = ~stk2; 1769 stk1 = S | stk2; 1770 stk1 = ~stk1; 1771 *D = (stk1 & (~S)) | (*D & S); 1772} 1773 1774/* SDTxnon source/pattern transparent. */ 1775static void rop3_18_1_1 (unsigned char *D, unsigned char S, unsigned char T) 1776{ 1777 unsigned char stk1; 1778 unsigned char stk2; 1779 stk2 = *D ^ T; 1780 stk2 = ~stk2; 1781 stk1 = S | stk2; 1782 stk1 = ~stk1; 1783 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 1784} 1785 1786/* SDTxnon source/pattern opaque. */ 1787static unsigned xrop3_18_0_0 (unsigned char s, unsigned char t) 1788{ 1789 unsigned D = 0x00ff; 1790 unsigned S = ((unsigned)s << 8) | s; 1791 unsigned T = ((unsigned)t << 8) | t; 1792 unsigned stk1; 1793 unsigned stk2; 1794 stk2 = D ^ T; 1795 stk2 = ~stk2; 1796 stk1 = S | stk2; 1797 stk1 = ~stk1; 1798 return stk1; 1799} 1800 1801/* SDTxnon source opaque/pattern transparent. */ 1802static unsigned xrop3_18_0_1 (unsigned char s, unsigned char t) 1803{ 1804 unsigned D = 0x00ff; 1805 unsigned S = ((unsigned)s << 8) | s; 1806 unsigned T = ((unsigned)t << 8) | t; 1807 unsigned stk1; 1808 unsigned stk2; 1809 stk2 = D ^ T; 1810 stk2 = ~stk2; 1811 stk1 = S | stk2; 1812 stk1 = ~stk1; 1813 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 1814} 1815 1816/* SDTxnon source transparent/pattern opaque. */ 1817static unsigned xrop3_18_1_0 (unsigned char s, unsigned char t) 1818{ 1819 unsigned D = 0x00ff; 1820 unsigned S = ((unsigned)s << 8) | s; 1821 unsigned T = ((unsigned)t << 8) | t; 1822 unsigned stk1; 1823 unsigned stk2; 1824 stk2 = D ^ T; 1825 stk2 = ~stk2; 1826 stk1 = S | stk2; 1827 stk1 = ~stk1; 1828 return (stk1 & (~S)) | (D & S); 1829} 1830 1831/* SDTxnon source/pattern transparent. */ 1832static unsigned xrop3_18_1_1 (unsigned char s, unsigned char t) 1833{ 1834 unsigned D = 0x00ff; 1835 unsigned S = ((unsigned)s << 8) | s; 1836 unsigned T = ((unsigned)t << 8) | t; 1837 unsigned stk1; 1838 unsigned stk2; 1839 stk2 = D ^ T; 1840 stk2 = ~stk2; 1841 stk1 = S | stk2; 1842 stk1 = ~stk1; 1843 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 1844} 1845 1846/* SDTaon source/pattern opaque. */ 1847static void rop3_19_0_0 (unsigned char *D, unsigned char S, unsigned char T) 1848{ 1849 unsigned char stk1; 1850 unsigned char stk2; 1851 stk2 = *D & T; 1852 stk1 = S | stk2; 1853 stk1 = ~stk1; 1854 *D = stk1; 1855} 1856 1857/* SDTaon source opaque/pattern transparent. */ 1858static void rop3_19_0_1 (unsigned char *D, unsigned char S, unsigned char T) 1859{ 1860 unsigned char stk1; 1861 unsigned char stk2; 1862 stk2 = *D & T; 1863 stk1 = S | stk2; 1864 stk1 = ~stk1; 1865 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 1866} 1867 1868/* SDTaon source transparent/pattern opaque. */ 1869static void rop3_19_1_0 (unsigned char *D, unsigned char S, unsigned char T) 1870{ 1871 unsigned char stk1; 1872 unsigned char stk2; 1873 stk2 = *D & T; 1874 stk1 = S | stk2; 1875 stk1 = ~stk1; 1876 *D = (stk1 & (~S)) | (*D & S); 1877} 1878 1879/* SDTaon source/pattern transparent. */ 1880static void rop3_19_1_1 (unsigned char *D, unsigned char S, unsigned char T) 1881{ 1882 unsigned char stk1; 1883 unsigned char stk2; 1884 stk2 = *D & T; 1885 stk1 = S | stk2; 1886 stk1 = ~stk1; 1887 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 1888} 1889 1890/* SDTaon source/pattern opaque. */ 1891static unsigned xrop3_19_0_0 (unsigned char s, unsigned char t) 1892{ 1893 unsigned D = 0x00ff; 1894 unsigned S = ((unsigned)s << 8) | s; 1895 unsigned T = ((unsigned)t << 8) | t; 1896 unsigned stk1; 1897 unsigned stk2; 1898 stk2 = D & T; 1899 stk1 = S | stk2; 1900 stk1 = ~stk1; 1901 return stk1; 1902} 1903 1904/* SDTaon source opaque/pattern transparent. */ 1905static unsigned xrop3_19_0_1 (unsigned char s, unsigned char t) 1906{ 1907 unsigned D = 0x00ff; 1908 unsigned S = ((unsigned)s << 8) | s; 1909 unsigned T = ((unsigned)t << 8) | t; 1910 unsigned stk1; 1911 unsigned stk2; 1912 stk2 = D & T; 1913 stk1 = S | stk2; 1914 stk1 = ~stk1; 1915 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 1916} 1917 1918/* SDTaon source transparent/pattern opaque. */ 1919static unsigned xrop3_19_1_0 (unsigned char s, unsigned char t) 1920{ 1921 unsigned D = 0x00ff; 1922 unsigned S = ((unsigned)s << 8) | s; 1923 unsigned T = ((unsigned)t << 8) | t; 1924 unsigned stk1; 1925 unsigned stk2; 1926 stk2 = D & T; 1927 stk1 = S | stk2; 1928 stk1 = ~stk1; 1929 return (stk1 & (~S)) | (D & S); 1930} 1931 1932/* SDTaon source/pattern transparent. */ 1933static unsigned xrop3_19_1_1 (unsigned char s, unsigned char t) 1934{ 1935 unsigned D = 0x00ff; 1936 unsigned S = ((unsigned)s << 8) | s; 1937 unsigned T = ((unsigned)t << 8) | t; 1938 unsigned stk1; 1939 unsigned stk2; 1940 stk2 = D & T; 1941 stk1 = S | stk2; 1942 stk1 = ~stk1; 1943 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 1944} 1945 1946/* DTSxnon source/pattern opaque. */ 1947static void rop3_20_0_0 (unsigned char *D, unsigned char S, unsigned char T) 1948{ 1949 unsigned char stk1; 1950 unsigned char stk2; 1951 stk2 = T ^ S; 1952 stk2 = ~stk2; 1953 stk1 = *D | stk2; 1954 stk1 = ~stk1; 1955 *D = stk1; 1956} 1957 1958/* DTSxnon source opaque/pattern transparent. */ 1959static void rop3_20_0_1 (unsigned char *D, unsigned char S, unsigned char T) 1960{ 1961 unsigned char stk1; 1962 unsigned char stk2; 1963 stk2 = T ^ S; 1964 stk2 = ~stk2; 1965 stk1 = *D | stk2; 1966 stk1 = ~stk1; 1967 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 1968} 1969 1970/* DTSxnon source transparent/pattern opaque. */ 1971static void rop3_20_1_0 (unsigned char *D, unsigned char S, unsigned char T) 1972{ 1973 unsigned char stk1; 1974 unsigned char stk2; 1975 stk2 = T ^ S; 1976 stk2 = ~stk2; 1977 stk1 = *D | stk2; 1978 stk1 = ~stk1; 1979 *D = (stk1 & (~S)) | (*D & S); 1980} 1981 1982/* DTSxnon source/pattern transparent. */ 1983static void rop3_20_1_1 (unsigned char *D, unsigned char S, unsigned char T) 1984{ 1985 unsigned char stk1; 1986 unsigned char stk2; 1987 stk2 = T ^ S; 1988 stk2 = ~stk2; 1989 stk1 = *D | stk2; 1990 stk1 = ~stk1; 1991 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 1992} 1993 1994/* DTSxnon source/pattern opaque. */ 1995static unsigned xrop3_20_0_0 (unsigned char s, unsigned char t) 1996{ 1997 unsigned D = 0x00ff; 1998 unsigned S = ((unsigned)s << 8) | s; 1999 unsigned T = ((unsigned)t << 8) | t; 2000 unsigned stk1; 2001 unsigned stk2; 2002 stk2 = T ^ S; 2003 stk2 = ~stk2; 2004 stk1 = D | stk2; 2005 stk1 = ~stk1; 2006 return stk1; 2007} 2008 2009/* DTSxnon source opaque/pattern transparent. */ 2010static unsigned xrop3_20_0_1 (unsigned char s, unsigned char t) 2011{ 2012 unsigned D = 0x00ff; 2013 unsigned S = ((unsigned)s << 8) | s; 2014 unsigned T = ((unsigned)t << 8) | t; 2015 unsigned stk1; 2016 unsigned stk2; 2017 stk2 = T ^ S; 2018 stk2 = ~stk2; 2019 stk1 = D | stk2; 2020 stk1 = ~stk1; 2021 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 2022} 2023 2024/* DTSxnon source transparent/pattern opaque. */ 2025static unsigned xrop3_20_1_0 (unsigned char s, unsigned char t) 2026{ 2027 unsigned D = 0x00ff; 2028 unsigned S = ((unsigned)s << 8) | s; 2029 unsigned T = ((unsigned)t << 8) | t; 2030 unsigned stk1; 2031 unsigned stk2; 2032 stk2 = T ^ S; 2033 stk2 = ~stk2; 2034 stk1 = D | stk2; 2035 stk1 = ~stk1; 2036 return (stk1 & (~S)) | (D & S); 2037} 2038 2039/* DTSxnon source/pattern transparent. */ 2040static unsigned xrop3_20_1_1 (unsigned char s, unsigned char t) 2041{ 2042 unsigned D = 0x00ff; 2043 unsigned S = ((unsigned)s << 8) | s; 2044 unsigned T = ((unsigned)t << 8) | t; 2045 unsigned stk1; 2046 unsigned stk2; 2047 stk2 = T ^ S; 2048 stk2 = ~stk2; 2049 stk1 = D | stk2; 2050 stk1 = ~stk1; 2051 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 2052} 2053 2054/* DTSaon source/pattern opaque. */ 2055static void rop3_21_0_0 (unsigned char *D, unsigned char S, unsigned char T) 2056{ 2057 unsigned char stk1; 2058 unsigned char stk2; 2059 stk2 = T & S; 2060 stk1 = *D | stk2; 2061 stk1 = ~stk1; 2062 *D = stk1; 2063} 2064 2065/* DTSaon source opaque/pattern transparent. */ 2066static void rop3_21_0_1 (unsigned char *D, unsigned char S, unsigned char T) 2067{ 2068 unsigned char stk1; 2069 unsigned char stk2; 2070 stk2 = T & S; 2071 stk1 = *D | stk2; 2072 stk1 = ~stk1; 2073 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 2074} 2075 2076/* DTSaon source transparent/pattern opaque. */ 2077static void rop3_21_1_0 (unsigned char *D, unsigned char S, unsigned char T) 2078{ 2079 unsigned char stk1; 2080 unsigned char stk2; 2081 stk2 = T & S; 2082 stk1 = *D | stk2; 2083 stk1 = ~stk1; 2084 *D = (stk1 & (~S)) | (*D & S); 2085} 2086 2087/* DTSaon source/pattern transparent. */ 2088static void rop3_21_1_1 (unsigned char *D, unsigned char S, unsigned char T) 2089{ 2090 unsigned char stk1; 2091 unsigned char stk2; 2092 stk2 = T & S; 2093 stk1 = *D | stk2; 2094 stk1 = ~stk1; 2095 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 2096} 2097 2098/* DTSaon source/pattern opaque. */ 2099static unsigned xrop3_21_0_0 (unsigned char s, unsigned char t) 2100{ 2101 unsigned D = 0x00ff; 2102 unsigned S = ((unsigned)s << 8) | s; 2103 unsigned T = ((unsigned)t << 8) | t; 2104 unsigned stk1; 2105 unsigned stk2; 2106 stk2 = T & S; 2107 stk1 = D | stk2; 2108 stk1 = ~stk1; 2109 return stk1; 2110} 2111 2112/* DTSaon source opaque/pattern transparent. */ 2113static unsigned xrop3_21_0_1 (unsigned char s, unsigned char t) 2114{ 2115 unsigned D = 0x00ff; 2116 unsigned S = ((unsigned)s << 8) | s; 2117 unsigned T = ((unsigned)t << 8) | t; 2118 unsigned stk1; 2119 unsigned stk2; 2120 stk2 = T & S; 2121 stk1 = D | stk2; 2122 stk1 = ~stk1; 2123 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 2124} 2125 2126/* DTSaon source transparent/pattern opaque. */ 2127static unsigned xrop3_21_1_0 (unsigned char s, unsigned char t) 2128{ 2129 unsigned D = 0x00ff; 2130 unsigned S = ((unsigned)s << 8) | s; 2131 unsigned T = ((unsigned)t << 8) | t; 2132 unsigned stk1; 2133 unsigned stk2; 2134 stk2 = T & S; 2135 stk1 = D | stk2; 2136 stk1 = ~stk1; 2137 return (stk1 & (~S)) | (D & S); 2138} 2139 2140/* DTSaon source/pattern transparent. */ 2141static unsigned xrop3_21_1_1 (unsigned char s, unsigned char t) 2142{ 2143 unsigned D = 0x00ff; 2144 unsigned S = ((unsigned)s << 8) | s; 2145 unsigned T = ((unsigned)t << 8) | t; 2146 unsigned stk1; 2147 unsigned stk2; 2148 stk2 = T & S; 2149 stk1 = D | stk2; 2150 stk1 = ~stk1; 2151 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 2152} 2153 2154/* TSDTSanaxx source/pattern opaque. */ 2155static void rop3_22_0_0 (unsigned char *D, unsigned char S, unsigned char T) 2156{ 2157 unsigned char stk1; 2158 unsigned char stk2; 2159 unsigned char stk3; 2160 unsigned char stk4; 2161 stk4 = T & S; 2162 stk4 = ~stk4; 2163 stk3 = *D & stk4; 2164 stk2 = S ^ stk3; 2165 stk1 = T ^ stk2; 2166 *D = stk1; 2167} 2168 2169/* TSDTSanaxx source opaque/pattern transparent. */ 2170static void rop3_22_0_1 (unsigned char *D, unsigned char S, unsigned char T) 2171{ 2172 unsigned char stk1; 2173 unsigned char stk2; 2174 unsigned char stk3; 2175 unsigned char stk4; 2176 stk4 = T & S; 2177 stk4 = ~stk4; 2178 stk3 = *D & stk4; 2179 stk2 = S ^ stk3; 2180 stk1 = T ^ stk2; 2181 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 2182} 2183 2184/* TSDTSanaxx source transparent/pattern opaque. */ 2185static void rop3_22_1_0 (unsigned char *D, unsigned char S, unsigned char T) 2186{ 2187 unsigned char stk1; 2188 unsigned char stk2; 2189 unsigned char stk3; 2190 unsigned char stk4; 2191 stk4 = T & S; 2192 stk4 = ~stk4; 2193 stk3 = *D & stk4; 2194 stk2 = S ^ stk3; 2195 stk1 = T ^ stk2; 2196 *D = (stk1 & (~S)) | (*D & S); 2197} 2198 2199/* TSDTSanaxx source/pattern transparent. */ 2200static void rop3_22_1_1 (unsigned char *D, unsigned char S, unsigned char T) 2201{ 2202 unsigned char stk1; 2203 unsigned char stk2; 2204 unsigned char stk3; 2205 unsigned char stk4; 2206 stk4 = T & S; 2207 stk4 = ~stk4; 2208 stk3 = *D & stk4; 2209 stk2 = S ^ stk3; 2210 stk1 = T ^ stk2; 2211 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 2212} 2213 2214/* TSDTSanaxx source/pattern opaque. */ 2215static unsigned xrop3_22_0_0 (unsigned char s, unsigned char t) 2216{ 2217 unsigned D = 0x00ff; 2218 unsigned S = ((unsigned)s << 8) | s; 2219 unsigned T = ((unsigned)t << 8) | t; 2220 unsigned stk1; 2221 unsigned stk2; 2222 unsigned stk3; 2223 unsigned stk4; 2224 stk4 = T & S; 2225 stk4 = ~stk4; 2226 stk3 = D & stk4; 2227 stk2 = S ^ stk3; 2228 stk1 = T ^ stk2; 2229 return stk1; 2230} 2231 2232/* TSDTSanaxx source opaque/pattern transparent. */ 2233static unsigned xrop3_22_0_1 (unsigned char s, unsigned char t) 2234{ 2235 unsigned D = 0x00ff; 2236 unsigned S = ((unsigned)s << 8) | s; 2237 unsigned T = ((unsigned)t << 8) | t; 2238 unsigned stk1; 2239 unsigned stk2; 2240 unsigned stk3; 2241 unsigned stk4; 2242 stk4 = T & S; 2243 stk4 = ~stk4; 2244 stk3 = D & stk4; 2245 stk2 = S ^ stk3; 2246 stk1 = T ^ stk2; 2247 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 2248} 2249 2250/* TSDTSanaxx source transparent/pattern opaque. */ 2251static unsigned xrop3_22_1_0 (unsigned char s, unsigned char t) 2252{ 2253 unsigned D = 0x00ff; 2254 unsigned S = ((unsigned)s << 8) | s; 2255 unsigned T = ((unsigned)t << 8) | t; 2256 unsigned stk1; 2257 unsigned stk2; 2258 unsigned stk3; 2259 unsigned stk4; 2260 stk4 = T & S; 2261 stk4 = ~stk4; 2262 stk3 = D & stk4; 2263 stk2 = S ^ stk3; 2264 stk1 = T ^ stk2; 2265 return (stk1 & (~S)) | (D & S); 2266} 2267 2268/* TSDTSanaxx source/pattern transparent. */ 2269static unsigned xrop3_22_1_1 (unsigned char s, unsigned char t) 2270{ 2271 unsigned D = 0x00ff; 2272 unsigned S = ((unsigned)s << 8) | s; 2273 unsigned T = ((unsigned)t << 8) | t; 2274 unsigned stk1; 2275 unsigned stk2; 2276 unsigned stk3; 2277 unsigned stk4; 2278 stk4 = T & S; 2279 stk4 = ~stk4; 2280 stk3 = D & stk4; 2281 stk2 = S ^ stk3; 2282 stk1 = T ^ stk2; 2283 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 2284} 2285 2286/* SSTxDSxaxn source/pattern opaque. */ 2287static void rop3_23_0_0 (unsigned char *D, unsigned char S, unsigned char T) 2288{ 2289 unsigned char stk1; 2290 unsigned char stk2; 2291 unsigned char stk3; 2292 stk2 = S ^ T; 2293 stk3 = *D ^ S; 2294 stk2 = stk2 & stk3; 2295 stk1 = S ^ stk2; 2296 stk1 = ~stk1; 2297 *D = stk1; 2298} 2299 2300/* SSTxDSxaxn source opaque/pattern transparent. */ 2301static void rop3_23_0_1 (unsigned char *D, unsigned char S, unsigned char T) 2302{ 2303 unsigned char stk1; 2304 unsigned char stk2; 2305 unsigned char stk3; 2306 stk2 = S ^ T; 2307 stk3 = *D ^ S; 2308 stk2 = stk2 & stk3; 2309 stk1 = S ^ stk2; 2310 stk1 = ~stk1; 2311 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 2312} 2313 2314/* SSTxDSxaxn source transparent/pattern opaque. */ 2315static void rop3_23_1_0 (unsigned char *D, unsigned char S, unsigned char T) 2316{ 2317 unsigned char stk1; 2318 unsigned char stk2; 2319 unsigned char stk3; 2320 stk2 = S ^ T; 2321 stk3 = *D ^ S; 2322 stk2 = stk2 & stk3; 2323 stk1 = S ^ stk2; 2324 stk1 = ~stk1; 2325 *D = (stk1 & (~S)) | (*D & S); 2326} 2327 2328/* SSTxDSxaxn source/pattern transparent. */ 2329static void rop3_23_1_1 (unsigned char *D, unsigned char S, unsigned char T) 2330{ 2331 unsigned char stk1; 2332 unsigned char stk2; 2333 unsigned char stk3; 2334 stk2 = S ^ T; 2335 stk3 = *D ^ S; 2336 stk2 = stk2 & stk3; 2337 stk1 = S ^ stk2; 2338 stk1 = ~stk1; 2339 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 2340} 2341 2342/* SSTxDSxaxn source/pattern opaque. */ 2343static unsigned xrop3_23_0_0 (unsigned char s, unsigned char t) 2344{ 2345 unsigned D = 0x00ff; 2346 unsigned S = ((unsigned)s << 8) | s; 2347 unsigned T = ((unsigned)t << 8) | t; 2348 unsigned stk1; 2349 unsigned stk2; 2350 unsigned stk3; 2351 stk2 = S ^ T; 2352 stk3 = D ^ S; 2353 stk2 = stk2 & stk3; 2354 stk1 = S ^ stk2; 2355 stk1 = ~stk1; 2356 return stk1; 2357} 2358 2359/* SSTxDSxaxn source opaque/pattern transparent. */ 2360static unsigned xrop3_23_0_1 (unsigned char s, unsigned char t) 2361{ 2362 unsigned D = 0x00ff; 2363 unsigned S = ((unsigned)s << 8) | s; 2364 unsigned T = ((unsigned)t << 8) | t; 2365 unsigned stk1; 2366 unsigned stk2; 2367 unsigned stk3; 2368 stk2 = S ^ T; 2369 stk3 = D ^ S; 2370 stk2 = stk2 & stk3; 2371 stk1 = S ^ stk2; 2372 stk1 = ~stk1; 2373 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 2374} 2375 2376/* SSTxDSxaxn source transparent/pattern opaque. */ 2377static unsigned xrop3_23_1_0 (unsigned char s, unsigned char t) 2378{ 2379 unsigned D = 0x00ff; 2380 unsigned S = ((unsigned)s << 8) | s; 2381 unsigned T = ((unsigned)t << 8) | t; 2382 unsigned stk1; 2383 unsigned stk2; 2384 unsigned stk3; 2385 stk2 = S ^ T; 2386 stk3 = D ^ S; 2387 stk2 = stk2 & stk3; 2388 stk1 = S ^ stk2; 2389 stk1 = ~stk1; 2390 return (stk1 & (~S)) | (D & S); 2391} 2392 2393/* SSTxDSxaxn source/pattern transparent. */ 2394static unsigned xrop3_23_1_1 (unsigned char s, unsigned char t) 2395{ 2396 unsigned D = 0x00ff; 2397 unsigned S = ((unsigned)s << 8) | s; 2398 unsigned T = ((unsigned)t << 8) | t; 2399 unsigned stk1; 2400 unsigned stk2; 2401 unsigned stk3; 2402 stk2 = S ^ T; 2403 stk3 = D ^ S; 2404 stk2 = stk2 & stk3; 2405 stk1 = S ^ stk2; 2406 stk1 = ~stk1; 2407 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 2408} 2409 2410/* STxTDxa source/pattern opaque. */ 2411static void rop3_24_0_0 (unsigned char *D, unsigned char S, unsigned char T) 2412{ 2413 unsigned char stk1; 2414 unsigned char stk2; 2415 stk1 = S ^ T; 2416 stk2 = T ^ *D; 2417 stk1 = stk1 & stk2; 2418 *D = stk1; 2419} 2420 2421/* STxTDxa source opaque/pattern transparent. */ 2422static void rop3_24_0_1 (unsigned char *D, unsigned char S, unsigned char T) 2423{ 2424 unsigned char stk1; 2425 unsigned char stk2; 2426 stk1 = S ^ T; 2427 stk2 = T ^ *D; 2428 stk1 = stk1 & stk2; 2429 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 2430} 2431 2432/* STxTDxa source transparent/pattern opaque. */ 2433static void rop3_24_1_0 (unsigned char *D, unsigned char S, unsigned char T) 2434{ 2435 unsigned char stk1; 2436 unsigned char stk2; 2437 stk1 = S ^ T; 2438 stk2 = T ^ *D; 2439 stk1 = stk1 & stk2; 2440 *D = (stk1 & (~S)) | (*D & S); 2441} 2442 2443/* STxTDxa source/pattern transparent. */ 2444static void rop3_24_1_1 (unsigned char *D, unsigned char S, unsigned char T) 2445{ 2446 unsigned char stk1; 2447 unsigned char stk2; 2448 stk1 = S ^ T; 2449 stk2 = T ^ *D; 2450 stk1 = stk1 & stk2; 2451 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 2452} 2453 2454/* STxTDxa source/pattern opaque. */ 2455static unsigned xrop3_24_0_0 (unsigned char s, unsigned char t) 2456{ 2457 unsigned D = 0x00ff; 2458 unsigned S = ((unsigned)s << 8) | s; 2459 unsigned T = ((unsigned)t << 8) | t; 2460 unsigned stk1; 2461 unsigned stk2; 2462 stk1 = S ^ T; 2463 stk2 = T ^ D; 2464 stk1 = stk1 & stk2; 2465 return stk1; 2466} 2467 2468/* STxTDxa source opaque/pattern transparent. */ 2469static unsigned xrop3_24_0_1 (unsigned char s, unsigned char t) 2470{ 2471 unsigned D = 0x00ff; 2472 unsigned S = ((unsigned)s << 8) | s; 2473 unsigned T = ((unsigned)t << 8) | t; 2474 unsigned stk1; 2475 unsigned stk2; 2476 stk1 = S ^ T; 2477 stk2 = T ^ D; 2478 stk1 = stk1 & stk2; 2479 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 2480} 2481 2482/* STxTDxa source transparent/pattern opaque. */ 2483static unsigned xrop3_24_1_0 (unsigned char s, unsigned char t) 2484{ 2485 unsigned D = 0x00ff; 2486 unsigned S = ((unsigned)s << 8) | s; 2487 unsigned T = ((unsigned)t << 8) | t; 2488 unsigned stk1; 2489 unsigned stk2; 2490 stk1 = S ^ T; 2491 stk2 = T ^ D; 2492 stk1 = stk1 & stk2; 2493 return (stk1 & (~S)) | (D & S); 2494} 2495 2496/* STxTDxa source/pattern transparent. */ 2497static unsigned xrop3_24_1_1 (unsigned char s, unsigned char t) 2498{ 2499 unsigned D = 0x00ff; 2500 unsigned S = ((unsigned)s << 8) | s; 2501 unsigned T = ((unsigned)t << 8) | t; 2502 unsigned stk1; 2503 unsigned stk2; 2504 stk1 = S ^ T; 2505 stk2 = T ^ D; 2506 stk1 = stk1 & stk2; 2507 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 2508} 2509 2510/* SDTSanaxn source/pattern opaque. */ 2511static void rop3_25_0_0 (unsigned char *D, unsigned char S, unsigned char T) 2512{ 2513 unsigned char stk1; 2514 unsigned char stk2; 2515 unsigned char stk3; 2516 stk3 = T & S; 2517 stk3 = ~stk3; 2518 stk2 = *D & stk3; 2519 stk1 = S ^ stk2; 2520 stk1 = ~stk1; 2521 *D = stk1; 2522} 2523 2524/* SDTSanaxn source opaque/pattern transparent. */ 2525static void rop3_25_0_1 (unsigned char *D, unsigned char S, unsigned char T) 2526{ 2527 unsigned char stk1; 2528 unsigned char stk2; 2529 unsigned char stk3; 2530 stk3 = T & S; 2531 stk3 = ~stk3; 2532 stk2 = *D & stk3; 2533 stk1 = S ^ stk2; 2534 stk1 = ~stk1; 2535 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 2536} 2537 2538/* SDTSanaxn source transparent/pattern opaque. */ 2539static void rop3_25_1_0 (unsigned char *D, unsigned char S, unsigned char T) 2540{ 2541 unsigned char stk1; 2542 unsigned char stk2; 2543 unsigned char stk3; 2544 stk3 = T & S; 2545 stk3 = ~stk3; 2546 stk2 = *D & stk3; 2547 stk1 = S ^ stk2; 2548 stk1 = ~stk1; 2549 *D = (stk1 & (~S)) | (*D & S); 2550} 2551 2552/* SDTSanaxn source/pattern transparent. */ 2553static void rop3_25_1_1 (unsigned char *D, unsigned char S, unsigned char T) 2554{ 2555 unsigned char stk1; 2556 unsigned char stk2; 2557 unsigned char stk3; 2558 stk3 = T & S; 2559 stk3 = ~stk3; 2560 stk2 = *D & stk3; 2561 stk1 = S ^ stk2; 2562 stk1 = ~stk1; 2563 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 2564} 2565 2566/* SDTSanaxn source/pattern opaque. */ 2567static unsigned xrop3_25_0_0 (unsigned char s, unsigned char t) 2568{ 2569 unsigned D = 0x00ff; 2570 unsigned S = ((unsigned)s << 8) | s; 2571 unsigned T = ((unsigned)t << 8) | t; 2572 unsigned stk1; 2573 unsigned stk2; 2574 unsigned stk3; 2575 stk3 = T & S; 2576 stk3 = ~stk3; 2577 stk2 = D & stk3; 2578 stk1 = S ^ stk2; 2579 stk1 = ~stk1; 2580 return stk1; 2581} 2582 2583/* SDTSanaxn source opaque/pattern transparent. */ 2584static unsigned xrop3_25_0_1 (unsigned char s, unsigned char t) 2585{ 2586 unsigned D = 0x00ff; 2587 unsigned S = ((unsigned)s << 8) | s; 2588 unsigned T = ((unsigned)t << 8) | t; 2589 unsigned stk1; 2590 unsigned stk2; 2591 unsigned stk3; 2592 stk3 = T & S; 2593 stk3 = ~stk3; 2594 stk2 = D & stk3; 2595 stk1 = S ^ stk2; 2596 stk1 = ~stk1; 2597 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 2598} 2599 2600/* SDTSanaxn source transparent/pattern opaque. */ 2601static unsigned xrop3_25_1_0 (unsigned char s, unsigned char t) 2602{ 2603 unsigned D = 0x00ff; 2604 unsigned S = ((unsigned)s << 8) | s; 2605 unsigned T = ((unsigned)t << 8) | t; 2606 unsigned stk1; 2607 unsigned stk2; 2608 unsigned stk3; 2609 stk3 = T & S; 2610 stk3 = ~stk3; 2611 stk2 = D & stk3; 2612 stk1 = S ^ stk2; 2613 stk1 = ~stk1; 2614 return (stk1 & (~S)) | (D & S); 2615} 2616 2617/* SDTSanaxn source/pattern transparent. */ 2618static unsigned xrop3_25_1_1 (unsigned char s, unsigned char t) 2619{ 2620 unsigned D = 0x00ff; 2621 unsigned S = ((unsigned)s << 8) | s; 2622 unsigned T = ((unsigned)t << 8) | t; 2623 unsigned stk1; 2624 unsigned stk2; 2625 unsigned stk3; 2626 stk3 = T & S; 2627 stk3 = ~stk3; 2628 stk2 = D & stk3; 2629 stk1 = S ^ stk2; 2630 stk1 = ~stk1; 2631 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 2632} 2633 2634/* TDSTaox source/pattern opaque. */ 2635static void rop3_26_0_0 (unsigned char *D, unsigned char S, unsigned char T) 2636{ 2637 unsigned char stk1; 2638 unsigned char stk2; 2639 unsigned char stk3; 2640 stk3 = S & T; 2641 stk2 = *D | stk3; 2642 stk1 = T ^ stk2; 2643 *D = stk1; 2644} 2645 2646/* TDSTaox source opaque/pattern transparent. */ 2647static void rop3_26_0_1 (unsigned char *D, unsigned char S, unsigned char T) 2648{ 2649 unsigned char stk1; 2650 unsigned char stk2; 2651 unsigned char stk3; 2652 stk3 = S & T; 2653 stk2 = *D | stk3; 2654 stk1 = T ^ stk2; 2655 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 2656} 2657 2658/* TDSTaox source transparent/pattern opaque. */ 2659static void rop3_26_1_0 (unsigned char *D, unsigned char S, unsigned char T) 2660{ 2661 unsigned char stk1; 2662 unsigned char stk2; 2663 unsigned char stk3; 2664 stk3 = S & T; 2665 stk2 = *D | stk3; 2666 stk1 = T ^ stk2; 2667 *D = (stk1 & (~S)) | (*D & S); 2668} 2669 2670/* TDSTaox source/pattern transparent. */ 2671static void rop3_26_1_1 (unsigned char *D, unsigned char S, unsigned char T) 2672{ 2673 unsigned char stk1; 2674 unsigned char stk2; 2675 unsigned char stk3; 2676 stk3 = S & T; 2677 stk2 = *D | stk3; 2678 stk1 = T ^ stk2; 2679 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 2680} 2681 2682/* TDSTaox source/pattern opaque. */ 2683static unsigned xrop3_26_0_0 (unsigned char s, unsigned char t) 2684{ 2685 unsigned D = 0x00ff; 2686 unsigned S = ((unsigned)s << 8) | s; 2687 unsigned T = ((unsigned)t << 8) | t; 2688 unsigned stk1; 2689 unsigned stk2; 2690 unsigned stk3; 2691 stk3 = S & T; 2692 stk2 = D | stk3; 2693 stk1 = T ^ stk2; 2694 return stk1; 2695} 2696 2697/* TDSTaox source opaque/pattern transparent. */ 2698static unsigned xrop3_26_0_1 (unsigned char s, unsigned char t) 2699{ 2700 unsigned D = 0x00ff; 2701 unsigned S = ((unsigned)s << 8) | s; 2702 unsigned T = ((unsigned)t << 8) | t; 2703 unsigned stk1; 2704 unsigned stk2; 2705 unsigned stk3; 2706 stk3 = S & T; 2707 stk2 = D | stk3; 2708 stk1 = T ^ stk2; 2709 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 2710} 2711 2712/* TDSTaox source transparent/pattern opaque. */ 2713static unsigned xrop3_26_1_0 (unsigned char s, unsigned char t) 2714{ 2715 unsigned D = 0x00ff; 2716 unsigned S = ((unsigned)s << 8) | s; 2717 unsigned T = ((unsigned)t << 8) | t; 2718 unsigned stk1; 2719 unsigned stk2; 2720 unsigned stk3; 2721 stk3 = S & T; 2722 stk2 = D | stk3; 2723 stk1 = T ^ stk2; 2724 return (stk1 & (~S)) | (D & S); 2725} 2726 2727/* TDSTaox source/pattern transparent. */ 2728static unsigned xrop3_26_1_1 (unsigned char s, unsigned char t) 2729{ 2730 unsigned D = 0x00ff; 2731 unsigned S = ((unsigned)s << 8) | s; 2732 unsigned T = ((unsigned)t << 8) | t; 2733 unsigned stk1; 2734 unsigned stk2; 2735 unsigned stk3; 2736 stk3 = S & T; 2737 stk2 = D | stk3; 2738 stk1 = T ^ stk2; 2739 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 2740} 2741 2742/* SDTSxaxn source/pattern opaque. */ 2743static void rop3_27_0_0 (unsigned char *D, unsigned char S, unsigned char T) 2744{ 2745 unsigned char stk1; 2746 unsigned char stk2; 2747 unsigned char stk3; 2748 stk3 = T ^ S; 2749 stk2 = *D & stk3; 2750 stk1 = S ^ stk2; 2751 stk1 = ~stk1; 2752 *D = stk1; 2753} 2754 2755/* SDTSxaxn source opaque/pattern transparent. */ 2756static void rop3_27_0_1 (unsigned char *D, unsigned char S, unsigned char T) 2757{ 2758 unsigned char stk1; 2759 unsigned char stk2; 2760 unsigned char stk3; 2761 stk3 = T ^ S; 2762 stk2 = *D & stk3; 2763 stk1 = S ^ stk2; 2764 stk1 = ~stk1; 2765 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 2766} 2767 2768/* SDTSxaxn source transparent/pattern opaque. */ 2769static void rop3_27_1_0 (unsigned char *D, unsigned char S, unsigned char T) 2770{ 2771 unsigned char stk1; 2772 unsigned char stk2; 2773 unsigned char stk3; 2774 stk3 = T ^ S; 2775 stk2 = *D & stk3; 2776 stk1 = S ^ stk2; 2777 stk1 = ~stk1; 2778 *D = (stk1 & (~S)) | (*D & S); 2779} 2780 2781/* SDTSxaxn source/pattern transparent. */ 2782static void rop3_27_1_1 (unsigned char *D, unsigned char S, unsigned char T) 2783{ 2784 unsigned char stk1; 2785 unsigned char stk2; 2786 unsigned char stk3; 2787 stk3 = T ^ S; 2788 stk2 = *D & stk3; 2789 stk1 = S ^ stk2; 2790 stk1 = ~stk1; 2791 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 2792} 2793 2794/* SDTSxaxn source/pattern opaque. */ 2795static unsigned xrop3_27_0_0 (unsigned char s, unsigned char t) 2796{ 2797 unsigned D = 0x00ff; 2798 unsigned S = ((unsigned)s << 8) | s; 2799 unsigned T = ((unsigned)t << 8) | t; 2800 unsigned stk1; 2801 unsigned stk2; 2802 unsigned stk3; 2803 stk3 = T ^ S; 2804 stk2 = D & stk3; 2805 stk1 = S ^ stk2; 2806 stk1 = ~stk1; 2807 return stk1; 2808} 2809 2810/* SDTSxaxn source opaque/pattern transparent. */ 2811static unsigned xrop3_27_0_1 (unsigned char s, unsigned char t) 2812{ 2813 unsigned D = 0x00ff; 2814 unsigned S = ((unsigned)s << 8) | s; 2815 unsigned T = ((unsigned)t << 8) | t; 2816 unsigned stk1; 2817 unsigned stk2; 2818 unsigned stk3; 2819 stk3 = T ^ S; 2820 stk2 = D & stk3; 2821 stk1 = S ^ stk2; 2822 stk1 = ~stk1; 2823 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 2824} 2825 2826/* SDTSxaxn source transparent/pattern opaque. */ 2827static unsigned xrop3_27_1_0 (unsigned char s, unsigned char t) 2828{ 2829 unsigned D = 0x00ff; 2830 unsigned S = ((unsigned)s << 8) | s; 2831 unsigned T = ((unsigned)t << 8) | t; 2832 unsigned stk1; 2833 unsigned stk2; 2834 unsigned stk3; 2835 stk3 = T ^ S; 2836 stk2 = D & stk3; 2837 stk1 = S ^ stk2; 2838 stk1 = ~stk1; 2839 return (stk1 & (~S)) | (D & S); 2840} 2841 2842/* SDTSxaxn source/pattern transparent. */ 2843static unsigned xrop3_27_1_1 (unsigned char s, unsigned char t) 2844{ 2845 unsigned D = 0x00ff; 2846 unsigned S = ((unsigned)s << 8) | s; 2847 unsigned T = ((unsigned)t << 8) | t; 2848 unsigned stk1; 2849 unsigned stk2; 2850 unsigned stk3; 2851 stk3 = T ^ S; 2852 stk2 = D & stk3; 2853 stk1 = S ^ stk2; 2854 stk1 = ~stk1; 2855 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 2856} 2857 2858/* TSDTaox source/pattern opaque. */ 2859static void rop3_28_0_0 (unsigned char *D, unsigned char S, unsigned char T) 2860{ 2861 unsigned char stk1; 2862 unsigned char stk2; 2863 unsigned char stk3; 2864 stk3 = *D & T; 2865 stk2 = S | stk3; 2866 stk1 = T ^ stk2; 2867 *D = stk1; 2868} 2869 2870/* TSDTaox source opaque/pattern transparent. */ 2871static void rop3_28_0_1 (unsigned char *D, unsigned char S, unsigned char T) 2872{ 2873 unsigned char stk1; 2874 unsigned char stk2; 2875 unsigned char stk3; 2876 stk3 = *D & T; 2877 stk2 = S | stk3; 2878 stk1 = T ^ stk2; 2879 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 2880} 2881 2882/* TSDTaox source transparent/pattern opaque. */ 2883static void rop3_28_1_0 (unsigned char *D, unsigned char S, unsigned char T) 2884{ 2885 unsigned char stk1; 2886 unsigned char stk2; 2887 unsigned char stk3; 2888 stk3 = *D & T; 2889 stk2 = S | stk3; 2890 stk1 = T ^ stk2; 2891 *D = (stk1 & (~S)) | (*D & S); 2892} 2893 2894/* TSDTaox source/pattern transparent. */ 2895static void rop3_28_1_1 (unsigned char *D, unsigned char S, unsigned char T) 2896{ 2897 unsigned char stk1; 2898 unsigned char stk2; 2899 unsigned char stk3; 2900 stk3 = *D & T; 2901 stk2 = S | stk3; 2902 stk1 = T ^ stk2; 2903 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 2904} 2905 2906/* TSDTaox source/pattern opaque. */ 2907static unsigned xrop3_28_0_0 (unsigned char s, unsigned char t) 2908{ 2909 unsigned D = 0x00ff; 2910 unsigned S = ((unsigned)s << 8) | s; 2911 unsigned T = ((unsigned)t << 8) | t; 2912 unsigned stk1; 2913 unsigned stk2; 2914 unsigned stk3; 2915 stk3 = D & T; 2916 stk2 = S | stk3; 2917 stk1 = T ^ stk2; 2918 return stk1; 2919} 2920 2921/* TSDTaox source opaque/pattern transparent. */ 2922static unsigned xrop3_28_0_1 (unsigned char s, unsigned char t) 2923{ 2924 unsigned D = 0x00ff; 2925 unsigned S = ((unsigned)s << 8) | s; 2926 unsigned T = ((unsigned)t << 8) | t; 2927 unsigned stk1; 2928 unsigned stk2; 2929 unsigned stk3; 2930 stk3 = D & T; 2931 stk2 = S | stk3; 2932 stk1 = T ^ stk2; 2933 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 2934} 2935 2936/* TSDTaox source transparent/pattern opaque. */ 2937static unsigned xrop3_28_1_0 (unsigned char s, unsigned char t) 2938{ 2939 unsigned D = 0x00ff; 2940 unsigned S = ((unsigned)s << 8) | s; 2941 unsigned T = ((unsigned)t << 8) | t; 2942 unsigned stk1; 2943 unsigned stk2; 2944 unsigned stk3; 2945 stk3 = D & T; 2946 stk2 = S | stk3; 2947 stk1 = T ^ stk2; 2948 return (stk1 & (~S)) | (D & S); 2949} 2950 2951/* TSDTaox source/pattern transparent. */ 2952static unsigned xrop3_28_1_1 (unsigned char s, unsigned char t) 2953{ 2954 unsigned D = 0x00ff; 2955 unsigned S = ((unsigned)s << 8) | s; 2956 unsigned T = ((unsigned)t << 8) | t; 2957 unsigned stk1; 2958 unsigned stk2; 2959 unsigned stk3; 2960 stk3 = D & T; 2961 stk2 = S | stk3; 2962 stk1 = T ^ stk2; 2963 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 2964} 2965 2966/* DSTDxaxn source/pattern opaque. */ 2967static void rop3_29_0_0 (unsigned char *D, unsigned char S, unsigned char T) 2968{ 2969 unsigned char stk1; 2970 unsigned char stk2; 2971 unsigned char stk3; 2972 stk3 = T ^ *D; 2973 stk2 = S & stk3; 2974 stk1 = *D ^ stk2; 2975 stk1 = ~stk1; 2976 *D = stk1; 2977} 2978 2979/* DSTDxaxn source opaque/pattern transparent. */ 2980static void rop3_29_0_1 (unsigned char *D, unsigned char S, unsigned char T) 2981{ 2982 unsigned char stk1; 2983 unsigned char stk2; 2984 unsigned char stk3; 2985 stk3 = T ^ *D; 2986 stk2 = S & stk3; 2987 stk1 = *D ^ stk2; 2988 stk1 = ~stk1; 2989 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 2990} 2991 2992/* DSTDxaxn source transparent/pattern opaque. */ 2993static void rop3_29_1_0 (unsigned char *D, unsigned char S, unsigned char T) 2994{ 2995 unsigned char stk1; 2996 unsigned char stk2; 2997 unsigned char stk3; 2998 stk3 = T ^ *D; 2999 stk2 = S & stk3; 3000 stk1 = *D ^ stk2; 3001 stk1 = ~stk1; 3002 *D = (stk1 & (~S)) | (*D & S); 3003} 3004 3005/* DSTDxaxn source/pattern transparent. */ 3006static void rop3_29_1_1 (unsigned char *D, unsigned char S, unsigned char T) 3007{ 3008 unsigned char stk1; 3009 unsigned char stk2; 3010 unsigned char stk3; 3011 stk3 = T ^ *D; 3012 stk2 = S & stk3; 3013 stk1 = *D ^ stk2; 3014 stk1 = ~stk1; 3015 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 3016} 3017 3018/* DSTDxaxn source/pattern opaque. */ 3019static unsigned xrop3_29_0_0 (unsigned char s, unsigned char t) 3020{ 3021 unsigned D = 0x00ff; 3022 unsigned S = ((unsigned)s << 8) | s; 3023 unsigned T = ((unsigned)t << 8) | t; 3024 unsigned stk1; 3025 unsigned stk2; 3026 unsigned stk3; 3027 stk3 = T ^ D; 3028 stk2 = S & stk3; 3029 stk1 = D ^ stk2; 3030 stk1 = ~stk1; 3031 return stk1; 3032} 3033 3034/* DSTDxaxn source opaque/pattern transparent. */ 3035static unsigned xrop3_29_0_1 (unsigned char s, unsigned char t) 3036{ 3037 unsigned D = 0x00ff; 3038 unsigned S = ((unsigned)s << 8) | s; 3039 unsigned T = ((unsigned)t << 8) | t; 3040 unsigned stk1; 3041 unsigned stk2; 3042 unsigned stk3; 3043 stk3 = T ^ D; 3044 stk2 = S & stk3; 3045 stk1 = D ^ stk2; 3046 stk1 = ~stk1; 3047 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 3048} 3049 3050/* DSTDxaxn source transparent/pattern opaque. */ 3051static unsigned xrop3_29_1_0 (unsigned char s, unsigned char t) 3052{ 3053 unsigned D = 0x00ff; 3054 unsigned S = ((unsigned)s << 8) | s; 3055 unsigned T = ((unsigned)t << 8) | t; 3056 unsigned stk1; 3057 unsigned stk2; 3058 unsigned stk3; 3059 stk3 = T ^ D; 3060 stk2 = S & stk3; 3061 stk1 = D ^ stk2; 3062 stk1 = ~stk1; 3063 return (stk1 & (~S)) | (D & S); 3064} 3065 3066/* DSTDxaxn source/pattern transparent. */ 3067static unsigned xrop3_29_1_1 (unsigned char s, unsigned char t) 3068{ 3069 unsigned D = 0x00ff; 3070 unsigned S = ((unsigned)s << 8) | s; 3071 unsigned T = ((unsigned)t << 8) | t; 3072 unsigned stk1; 3073 unsigned stk2; 3074 unsigned stk3; 3075 stk3 = T ^ D; 3076 stk2 = S & stk3; 3077 stk1 = D ^ stk2; 3078 stk1 = ~stk1; 3079 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 3080} 3081 3082/* TDSox source/pattern opaque. */ 3083static void rop3_30_0_0 (unsigned char *D, unsigned char S, unsigned char T) 3084{ 3085 unsigned char stk1; 3086 unsigned char stk2; 3087 stk2 = *D | S; 3088 stk1 = T ^ stk2; 3089 *D = stk1; 3090} 3091 3092/* TDSox source opaque/pattern transparent. */ 3093static void rop3_30_0_1 (unsigned char *D, unsigned char S, unsigned char T) 3094{ 3095 unsigned char stk1; 3096 unsigned char stk2; 3097 stk2 = *D | S; 3098 stk1 = T ^ stk2; 3099 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 3100} 3101 3102/* TDSox source transparent/pattern opaque. */ 3103static void rop3_30_1_0 (unsigned char *D, unsigned char S, unsigned char T) 3104{ 3105 unsigned char stk1; 3106 unsigned char stk2; 3107 stk2 = *D | S; 3108 stk1 = T ^ stk2; 3109 *D = (stk1 & (~S)) | (*D & S); 3110} 3111 3112/* TDSox source/pattern transparent. */ 3113static void rop3_30_1_1 (unsigned char *D, unsigned char S, unsigned char T) 3114{ 3115 unsigned char stk1; 3116 unsigned char stk2; 3117 stk2 = *D | S; 3118 stk1 = T ^ stk2; 3119 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 3120} 3121 3122/* TDSox source/pattern opaque. */ 3123static unsigned xrop3_30_0_0 (unsigned char s, unsigned char t) 3124{ 3125 unsigned D = 0x00ff; 3126 unsigned S = ((unsigned)s << 8) | s; 3127 unsigned T = ((unsigned)t << 8) | t; 3128 unsigned stk1; 3129 unsigned stk2; 3130 stk2 = D | S; 3131 stk1 = T ^ stk2; 3132 return stk1; 3133} 3134 3135/* TDSox source opaque/pattern transparent. */ 3136static unsigned xrop3_30_0_1 (unsigned char s, unsigned char t) 3137{ 3138 unsigned D = 0x00ff; 3139 unsigned S = ((unsigned)s << 8) | s; 3140 unsigned T = ((unsigned)t << 8) | t; 3141 unsigned stk1; 3142 unsigned stk2; 3143 stk2 = D | S; 3144 stk1 = T ^ stk2; 3145 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 3146} 3147 3148/* TDSox source transparent/pattern opaque. */ 3149static unsigned xrop3_30_1_0 (unsigned char s, unsigned char t) 3150{ 3151 unsigned D = 0x00ff; 3152 unsigned S = ((unsigned)s << 8) | s; 3153 unsigned T = ((unsigned)t << 8) | t; 3154 unsigned stk1; 3155 unsigned stk2; 3156 stk2 = D | S; 3157 stk1 = T ^ stk2; 3158 return (stk1 & (~S)) | (D & S); 3159} 3160 3161/* TDSox source/pattern transparent. */ 3162static unsigned xrop3_30_1_1 (unsigned char s, unsigned char t) 3163{ 3164 unsigned D = 0x00ff; 3165 unsigned S = ((unsigned)s << 8) | s; 3166 unsigned T = ((unsigned)t << 8) | t; 3167 unsigned stk1; 3168 unsigned stk2; 3169 stk2 = D | S; 3170 stk1 = T ^ stk2; 3171 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 3172} 3173 3174/* TDSoan source/pattern opaque. */ 3175static void rop3_31_0_0 (unsigned char *D, unsigned char S, unsigned char T) 3176{ 3177 unsigned char stk1; 3178 unsigned char stk2; 3179 stk2 = *D | S; 3180 stk1 = T & stk2; 3181 stk1 = ~stk1; 3182 *D = stk1; 3183} 3184 3185/* TDSoan source opaque/pattern transparent. */ 3186static void rop3_31_0_1 (unsigned char *D, unsigned char S, unsigned char T) 3187{ 3188 unsigned char stk1; 3189 unsigned char stk2; 3190 stk2 = *D | S; 3191 stk1 = T & stk2; 3192 stk1 = ~stk1; 3193 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 3194} 3195 3196/* TDSoan source transparent/pattern opaque. */ 3197static void rop3_31_1_0 (unsigned char *D, unsigned char S, unsigned char T) 3198{ 3199 unsigned char stk1; 3200 unsigned char stk2; 3201 stk2 = *D | S; 3202 stk1 = T & stk2; 3203 stk1 = ~stk1; 3204 *D = (stk1 & (~S)) | (*D & S); 3205} 3206 3207/* TDSoan source/pattern transparent. */ 3208static void rop3_31_1_1 (unsigned char *D, unsigned char S, unsigned char T) 3209{ 3210 unsigned char stk1; 3211 unsigned char stk2; 3212 stk2 = *D | S; 3213 stk1 = T & stk2; 3214 stk1 = ~stk1; 3215 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 3216} 3217 3218/* TDSoan source/pattern opaque. */ 3219static unsigned xrop3_31_0_0 (unsigned char s, unsigned char t) 3220{ 3221 unsigned D = 0x00ff; 3222 unsigned S = ((unsigned)s << 8) | s; 3223 unsigned T = ((unsigned)t << 8) | t; 3224 unsigned stk1; 3225 unsigned stk2; 3226 stk2 = D | S; 3227 stk1 = T & stk2; 3228 stk1 = ~stk1; 3229 return stk1; 3230} 3231 3232/* TDSoan source opaque/pattern transparent. */ 3233static unsigned xrop3_31_0_1 (unsigned char s, unsigned char t) 3234{ 3235 unsigned D = 0x00ff; 3236 unsigned S = ((unsigned)s << 8) | s; 3237 unsigned T = ((unsigned)t << 8) | t; 3238 unsigned stk1; 3239 unsigned stk2; 3240 stk2 = D | S; 3241 stk1 = T & stk2; 3242 stk1 = ~stk1; 3243 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 3244} 3245 3246/* TDSoan source transparent/pattern opaque. */ 3247static unsigned xrop3_31_1_0 (unsigned char s, unsigned char t) 3248{ 3249 unsigned D = 0x00ff; 3250 unsigned S = ((unsigned)s << 8) | s; 3251 unsigned T = ((unsigned)t << 8) | t; 3252 unsigned stk1; 3253 unsigned stk2; 3254 stk2 = D | S; 3255 stk1 = T & stk2; 3256 stk1 = ~stk1; 3257 return (stk1 & (~S)) | (D & S); 3258} 3259 3260/* TDSoan source/pattern transparent. */ 3261static unsigned xrop3_31_1_1 (unsigned char s, unsigned char t) 3262{ 3263 unsigned D = 0x00ff; 3264 unsigned S = ((unsigned)s << 8) | s; 3265 unsigned T = ((unsigned)t << 8) | t; 3266 unsigned stk1; 3267 unsigned stk2; 3268 stk2 = D | S; 3269 stk1 = T & stk2; 3270 stk1 = ~stk1; 3271 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 3272} 3273 3274/* DTSnaa source/pattern opaque. */ 3275static void rop3_32_0_0 (unsigned char *D, unsigned char S, unsigned char T) 3276{ 3277 unsigned char stk1; 3278 unsigned char stk2; 3279 unsigned char stk3; 3280 stk3 = ~S; 3281 stk2 = T & stk3; 3282 stk1 = *D & stk2; 3283 *D = stk1; 3284} 3285 3286/* DTSnaa source opaque/pattern transparent. */ 3287static void rop3_32_0_1 (unsigned char *D, unsigned char S, unsigned char T) 3288{ 3289 unsigned char stk1; 3290 unsigned char stk2; 3291 unsigned char stk3; 3292 stk3 = ~S; 3293 stk2 = T & stk3; 3294 stk1 = *D & stk2; 3295 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 3296} 3297 3298/* DTSnaa source transparent/pattern opaque. */ 3299static void rop3_32_1_0 (unsigned char *D, unsigned char S, unsigned char T) 3300{ 3301 unsigned char stk1; 3302 unsigned char stk2; 3303 unsigned char stk3; 3304 stk3 = ~S; 3305 stk2 = T & stk3; 3306 stk1 = *D & stk2; 3307 *D = (stk1 & (~S)) | (*D & S); 3308} 3309 3310/* DTSnaa source/pattern transparent. */ 3311static void rop3_32_1_1 (unsigned char *D, unsigned char S, unsigned char T) 3312{ 3313 unsigned char stk1; 3314 unsigned char stk2; 3315 unsigned char stk3; 3316 stk3 = ~S; 3317 stk2 = T & stk3; 3318 stk1 = *D & stk2; 3319 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 3320} 3321 3322/* DTSnaa source/pattern opaque. */ 3323static unsigned xrop3_32_0_0 (unsigned char s, unsigned char t) 3324{ 3325 unsigned D = 0x00ff; 3326 unsigned S = ((unsigned)s << 8) | s; 3327 unsigned T = ((unsigned)t << 8) | t; 3328 unsigned stk1; 3329 unsigned stk2; 3330 unsigned stk3; 3331 stk3 = ~S; 3332 stk2 = T & stk3; 3333 stk1 = D & stk2; 3334 return stk1; 3335} 3336 3337/* DTSnaa source opaque/pattern transparent. */ 3338static unsigned xrop3_32_0_1 (unsigned char s, unsigned char t) 3339{ 3340 unsigned D = 0x00ff; 3341 unsigned S = ((unsigned)s << 8) | s; 3342 unsigned T = ((unsigned)t << 8) | t; 3343 unsigned stk1; 3344 unsigned stk2; 3345 unsigned stk3; 3346 stk3 = ~S; 3347 stk2 = T & stk3; 3348 stk1 = D & stk2; 3349 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 3350} 3351 3352/* DTSnaa source transparent/pattern opaque. */ 3353static unsigned xrop3_32_1_0 (unsigned char s, unsigned char t) 3354{ 3355 unsigned D = 0x00ff; 3356 unsigned S = ((unsigned)s << 8) | s; 3357 unsigned T = ((unsigned)t << 8) | t; 3358 unsigned stk1; 3359 unsigned stk2; 3360 unsigned stk3; 3361 stk3 = ~S; 3362 stk2 = T & stk3; 3363 stk1 = D & stk2; 3364 return (stk1 & (~S)) | (D & S); 3365} 3366 3367/* DTSnaa source/pattern transparent. */ 3368static unsigned xrop3_32_1_1 (unsigned char s, unsigned char t) 3369{ 3370 unsigned D = 0x00ff; 3371 unsigned S = ((unsigned)s << 8) | s; 3372 unsigned T = ((unsigned)t << 8) | t; 3373 unsigned stk1; 3374 unsigned stk2; 3375 unsigned stk3; 3376 stk3 = ~S; 3377 stk2 = T & stk3; 3378 stk1 = D & stk2; 3379 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 3380} 3381 3382/* SDTxon source/pattern opaque. */ 3383static void rop3_33_0_0 (unsigned char *D, unsigned char S, unsigned char T) 3384{ 3385 unsigned char stk1; 3386 unsigned char stk2; 3387 stk2 = *D ^ T; 3388 stk1 = S | stk2; 3389 stk1 = ~stk1; 3390 *D = stk1; 3391} 3392 3393/* SDTxon source opaque/pattern transparent. */ 3394static void rop3_33_0_1 (unsigned char *D, unsigned char S, unsigned char T) 3395{ 3396 unsigned char stk1; 3397 unsigned char stk2; 3398 stk2 = *D ^ T; 3399 stk1 = S | stk2; 3400 stk1 = ~stk1; 3401 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 3402} 3403 3404/* SDTxon source transparent/pattern opaque. */ 3405static void rop3_33_1_0 (unsigned char *D, unsigned char S, unsigned char T) 3406{ 3407 unsigned char stk1; 3408 unsigned char stk2; 3409 stk2 = *D ^ T; 3410 stk1 = S | stk2; 3411 stk1 = ~stk1; 3412 *D = (stk1 & (~S)) | (*D & S); 3413} 3414 3415/* SDTxon source/pattern transparent. */ 3416static void rop3_33_1_1 (unsigned char *D, unsigned char S, unsigned char T) 3417{ 3418 unsigned char stk1; 3419 unsigned char stk2; 3420 stk2 = *D ^ T; 3421 stk1 = S | stk2; 3422 stk1 = ~stk1; 3423 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 3424} 3425 3426/* SDTxon source/pattern opaque. */ 3427static unsigned xrop3_33_0_0 (unsigned char s, unsigned char t) 3428{ 3429 unsigned D = 0x00ff; 3430 unsigned S = ((unsigned)s << 8) | s; 3431 unsigned T = ((unsigned)t << 8) | t; 3432 unsigned stk1; 3433 unsigned stk2; 3434 stk2 = D ^ T; 3435 stk1 = S | stk2; 3436 stk1 = ~stk1; 3437 return stk1; 3438} 3439 3440/* SDTxon source opaque/pattern transparent. */ 3441static unsigned xrop3_33_0_1 (unsigned char s, unsigned char t) 3442{ 3443 unsigned D = 0x00ff; 3444 unsigned S = ((unsigned)s << 8) | s; 3445 unsigned T = ((unsigned)t << 8) | t; 3446 unsigned stk1; 3447 unsigned stk2; 3448 stk2 = D ^ T; 3449 stk1 = S | stk2; 3450 stk1 = ~stk1; 3451 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 3452} 3453 3454/* SDTxon source transparent/pattern opaque. */ 3455static unsigned xrop3_33_1_0 (unsigned char s, unsigned char t) 3456{ 3457 unsigned D = 0x00ff; 3458 unsigned S = ((unsigned)s << 8) | s; 3459 unsigned T = ((unsigned)t << 8) | t; 3460 unsigned stk1; 3461 unsigned stk2; 3462 stk2 = D ^ T; 3463 stk1 = S | stk2; 3464 stk1 = ~stk1; 3465 return (stk1 & (~S)) | (D & S); 3466} 3467 3468/* SDTxon source/pattern transparent. */ 3469static unsigned xrop3_33_1_1 (unsigned char s, unsigned char t) 3470{ 3471 unsigned D = 0x00ff; 3472 unsigned S = ((unsigned)s << 8) | s; 3473 unsigned T = ((unsigned)t << 8) | t; 3474 unsigned stk1; 3475 unsigned stk2; 3476 stk2 = D ^ T; 3477 stk1 = S | stk2; 3478 stk1 = ~stk1; 3479 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 3480} 3481 3482/* DSna source/pattern opaque. */ 3483static void rop3_34_0_0 (unsigned char *D, unsigned char S, unsigned char T) 3484{ 3485 unsigned char stk1; 3486 unsigned char stk2; 3487 stk2 = ~S; 3488 stk1 = *D & stk2; 3489 *D = stk1; 3490} 3491 3492/* DSna source opaque/pattern transparent. */ 3493static void rop3_34_0_1 (unsigned char *D, unsigned char S, unsigned char T) 3494{ 3495 unsigned char stk1; 3496 unsigned char stk2; 3497 stk2 = ~S; 3498 stk1 = *D & stk2; 3499 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 3500} 3501 3502/* DSna source transparent/pattern opaque. */ 3503static void rop3_34_1_0 (unsigned char *D, unsigned char S, unsigned char T) 3504{ 3505 unsigned char stk1; 3506 unsigned char stk2; 3507 stk2 = ~S; 3508 stk1 = *D & stk2; 3509 *D = (stk1 & (~S)) | (*D & S); 3510} 3511 3512/* DSna source/pattern transparent. */ 3513static void rop3_34_1_1 (unsigned char *D, unsigned char S, unsigned char T) 3514{ 3515 unsigned char stk1; 3516 unsigned char stk2; 3517 stk2 = ~S; 3518 stk1 = *D & stk2; 3519 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 3520} 3521 3522/* DSna source/pattern opaque. */ 3523static unsigned xrop3_34_0_0 (unsigned char s, unsigned char t) 3524{ 3525 unsigned D = 0x00ff; 3526 unsigned S = ((unsigned)s << 8) | s; 3527 unsigned stk1; 3528 unsigned stk2; 3529 stk2 = ~S; 3530 stk1 = D & stk2; 3531 return stk1; 3532} 3533 3534/* DSna source opaque/pattern transparent. */ 3535static unsigned xrop3_34_0_1 (unsigned char s, unsigned char t) 3536{ 3537 unsigned D = 0x00ff; 3538 unsigned S = ((unsigned)s << 8) | s; 3539 unsigned T = ((unsigned)t << 8) | t; 3540 unsigned stk1; 3541 unsigned stk2; 3542 stk2 = ~S; 3543 stk1 = D & stk2; 3544 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 3545} 3546 3547/* DSna source transparent/pattern opaque. */ 3548static unsigned xrop3_34_1_0 (unsigned char s, unsigned char t) 3549{ 3550 unsigned D = 0x00ff; 3551 unsigned S = ((unsigned)s << 8) | s; 3552 unsigned stk1; 3553 unsigned stk2; 3554 stk2 = ~S; 3555 stk1 = D & stk2; 3556 return (stk1 & (~S)) | (D & S); 3557} 3558 3559/* DSna source/pattern transparent. */ 3560static unsigned xrop3_34_1_1 (unsigned char s, unsigned char t) 3561{ 3562 unsigned D = 0x00ff; 3563 unsigned S = ((unsigned)s << 8) | s; 3564 unsigned T = ((unsigned)t << 8) | t; 3565 unsigned stk1; 3566 unsigned stk2; 3567 stk2 = ~S; 3568 stk1 = D & stk2; 3569 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 3570} 3571 3572/* STDnaon source/pattern opaque. */ 3573static void rop3_35_0_0 (unsigned char *D, unsigned char S, unsigned char T) 3574{ 3575 unsigned char stk1; 3576 unsigned char stk2; 3577 unsigned char stk3; 3578 stk3 = ~*D; 3579 stk2 = T & stk3; 3580 stk1 = S | stk2; 3581 stk1 = ~stk1; 3582 *D = stk1; 3583} 3584 3585/* STDnaon source opaque/pattern transparent. */ 3586static void rop3_35_0_1 (unsigned char *D, unsigned char S, unsigned char T) 3587{ 3588 unsigned char stk1; 3589 unsigned char stk2; 3590 unsigned char stk3; 3591 stk3 = ~*D; 3592 stk2 = T & stk3; 3593 stk1 = S | stk2; 3594 stk1 = ~stk1; 3595 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 3596} 3597 3598/* STDnaon source transparent/pattern opaque. */ 3599static void rop3_35_1_0 (unsigned char *D, unsigned char S, unsigned char T) 3600{ 3601 unsigned char stk1; 3602 unsigned char stk2; 3603 unsigned char stk3; 3604 stk3 = ~*D; 3605 stk2 = T & stk3; 3606 stk1 = S | stk2; 3607 stk1 = ~stk1; 3608 *D = (stk1 & (~S)) | (*D & S); 3609} 3610 3611/* STDnaon source/pattern transparent. */ 3612static void rop3_35_1_1 (unsigned char *D, unsigned char S, unsigned char T) 3613{ 3614 unsigned char stk1; 3615 unsigned char stk2; 3616 unsigned char stk3; 3617 stk3 = ~*D; 3618 stk2 = T & stk3; 3619 stk1 = S | stk2; 3620 stk1 = ~stk1; 3621 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 3622} 3623 3624/* STDnaon source/pattern opaque. */ 3625static unsigned xrop3_35_0_0 (unsigned char s, unsigned char t) 3626{ 3627 unsigned D = 0x00ff; 3628 unsigned S = ((unsigned)s << 8) | s; 3629 unsigned T = ((unsigned)t << 8) | t; 3630 unsigned stk1; 3631 unsigned stk2; 3632 unsigned stk3; 3633 stk3 = ~D; 3634 stk2 = T & stk3; 3635 stk1 = S | stk2; 3636 stk1 = ~stk1; 3637 return stk1; 3638} 3639 3640/* STDnaon source opaque/pattern transparent. */ 3641static unsigned xrop3_35_0_1 (unsigned char s, unsigned char t) 3642{ 3643 unsigned D = 0x00ff; 3644 unsigned S = ((unsigned)s << 8) | s; 3645 unsigned T = ((unsigned)t << 8) | t; 3646 unsigned stk1; 3647 unsigned stk2; 3648 unsigned stk3; 3649 stk3 = ~D; 3650 stk2 = T & stk3; 3651 stk1 = S | stk2; 3652 stk1 = ~stk1; 3653 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 3654} 3655 3656/* STDnaon source transparent/pattern opaque. */ 3657static unsigned xrop3_35_1_0 (unsigned char s, unsigned char t) 3658{ 3659 unsigned D = 0x00ff; 3660 unsigned S = ((unsigned)s << 8) | s; 3661 unsigned T = ((unsigned)t << 8) | t; 3662 unsigned stk1; 3663 unsigned stk2; 3664 unsigned stk3; 3665 stk3 = ~D; 3666 stk2 = T & stk3; 3667 stk1 = S | stk2; 3668 stk1 = ~stk1; 3669 return (stk1 & (~S)) | (D & S); 3670} 3671 3672/* STDnaon source/pattern transparent. */ 3673static unsigned xrop3_35_1_1 (unsigned char s, unsigned char t) 3674{ 3675 unsigned D = 0x00ff; 3676 unsigned S = ((unsigned)s << 8) | s; 3677 unsigned T = ((unsigned)t << 8) | t; 3678 unsigned stk1; 3679 unsigned stk2; 3680 unsigned stk3; 3681 stk3 = ~D; 3682 stk2 = T & stk3; 3683 stk1 = S | stk2; 3684 stk1 = ~stk1; 3685 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 3686} 3687 3688/* STxDSxa source/pattern opaque. */ 3689static void rop3_36_0_0 (unsigned char *D, unsigned char S, unsigned char T) 3690{ 3691 unsigned char stk1; 3692 unsigned char stk2; 3693 stk1 = S ^ T; 3694 stk2 = *D ^ S; 3695 stk1 = stk1 & stk2; 3696 *D = stk1; 3697} 3698 3699/* STxDSxa source opaque/pattern transparent. */ 3700static void rop3_36_0_1 (unsigned char *D, unsigned char S, unsigned char T) 3701{ 3702 unsigned char stk1; 3703 unsigned char stk2; 3704 stk1 = S ^ T; 3705 stk2 = *D ^ S; 3706 stk1 = stk1 & stk2; 3707 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 3708} 3709 3710/* STxDSxa source transparent/pattern opaque. */ 3711static void rop3_36_1_0 (unsigned char *D, unsigned char S, unsigned char T) 3712{ 3713 unsigned char stk1; 3714 unsigned char stk2; 3715 stk1 = S ^ T; 3716 stk2 = *D ^ S; 3717 stk1 = stk1 & stk2; 3718 *D = (stk1 & (~S)) | (*D & S); 3719} 3720 3721/* STxDSxa source/pattern transparent. */ 3722static void rop3_36_1_1 (unsigned char *D, unsigned char S, unsigned char T) 3723{ 3724 unsigned char stk1; 3725 unsigned char stk2; 3726 stk1 = S ^ T; 3727 stk2 = *D ^ S; 3728 stk1 = stk1 & stk2; 3729 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 3730} 3731 3732/* STxDSxa source/pattern opaque. */ 3733static unsigned xrop3_36_0_0 (unsigned char s, unsigned char t) 3734{ 3735 unsigned D = 0x00ff; 3736 unsigned S = ((unsigned)s << 8) | s; 3737 unsigned T = ((unsigned)t << 8) | t; 3738 unsigned stk1; 3739 unsigned stk2; 3740 stk1 = S ^ T; 3741 stk2 = D ^ S; 3742 stk1 = stk1 & stk2; 3743 return stk1; 3744} 3745 3746/* STxDSxa source opaque/pattern transparent. */ 3747static unsigned xrop3_36_0_1 (unsigned char s, unsigned char t) 3748{ 3749 unsigned D = 0x00ff; 3750 unsigned S = ((unsigned)s << 8) | s; 3751 unsigned T = ((unsigned)t << 8) | t; 3752 unsigned stk1; 3753 unsigned stk2; 3754 stk1 = S ^ T; 3755 stk2 = D ^ S; 3756 stk1 = stk1 & stk2; 3757 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 3758} 3759 3760/* STxDSxa source transparent/pattern opaque. */ 3761static unsigned xrop3_36_1_0 (unsigned char s, unsigned char t) 3762{ 3763 unsigned D = 0x00ff; 3764 unsigned S = ((unsigned)s << 8) | s; 3765 unsigned T = ((unsigned)t << 8) | t; 3766 unsigned stk1; 3767 unsigned stk2; 3768 stk1 = S ^ T; 3769 stk2 = D ^ S; 3770 stk1 = stk1 & stk2; 3771 return (stk1 & (~S)) | (D & S); 3772} 3773 3774/* STxDSxa source/pattern transparent. */ 3775static unsigned xrop3_36_1_1 (unsigned char s, unsigned char t) 3776{ 3777 unsigned D = 0x00ff; 3778 unsigned S = ((unsigned)s << 8) | s; 3779 unsigned T = ((unsigned)t << 8) | t; 3780 unsigned stk1; 3781 unsigned stk2; 3782 stk1 = S ^ T; 3783 stk2 = D ^ S; 3784 stk1 = stk1 & stk2; 3785 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 3786} 3787 3788/* TDSTanaxn source/pattern opaque. */ 3789static void rop3_37_0_0 (unsigned char *D, unsigned char S, unsigned char T) 3790{ 3791 unsigned char stk1; 3792 unsigned char stk2; 3793 unsigned char stk3; 3794 stk3 = S & T; 3795 stk3 = ~stk3; 3796 stk2 = *D & stk3; 3797 stk1 = T ^ stk2; 3798 stk1 = ~stk1; 3799 *D = stk1; 3800} 3801 3802/* TDSTanaxn source opaque/pattern transparent. */ 3803static void rop3_37_0_1 (unsigned char *D, unsigned char S, unsigned char T) 3804{ 3805 unsigned char stk1; 3806 unsigned char stk2; 3807 unsigned char stk3; 3808 stk3 = S & T; 3809 stk3 = ~stk3; 3810 stk2 = *D & stk3; 3811 stk1 = T ^ stk2; 3812 stk1 = ~stk1; 3813 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 3814} 3815 3816/* TDSTanaxn source transparent/pattern opaque. */ 3817static void rop3_37_1_0 (unsigned char *D, unsigned char S, unsigned char T) 3818{ 3819 unsigned char stk1; 3820 unsigned char stk2; 3821 unsigned char stk3; 3822 stk3 = S & T; 3823 stk3 = ~stk3; 3824 stk2 = *D & stk3; 3825 stk1 = T ^ stk2; 3826 stk1 = ~stk1; 3827 *D = (stk1 & (~S)) | (*D & S); 3828} 3829 3830/* TDSTanaxn source/pattern transparent. */ 3831static void rop3_37_1_1 (unsigned char *D, unsigned char S, unsigned char T) 3832{ 3833 unsigned char stk1; 3834 unsigned char stk2; 3835 unsigned char stk3; 3836 stk3 = S & T; 3837 stk3 = ~stk3; 3838 stk2 = *D & stk3; 3839 stk1 = T ^ stk2; 3840 stk1 = ~stk1; 3841 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 3842} 3843 3844/* TDSTanaxn source/pattern opaque. */ 3845static unsigned xrop3_37_0_0 (unsigned char s, unsigned char t) 3846{ 3847 unsigned D = 0x00ff; 3848 unsigned S = ((unsigned)s << 8) | s; 3849 unsigned T = ((unsigned)t << 8) | t; 3850 unsigned stk1; 3851 unsigned stk2; 3852 unsigned stk3; 3853 stk3 = S & T; 3854 stk3 = ~stk3; 3855 stk2 = D & stk3; 3856 stk1 = T ^ stk2; 3857 stk1 = ~stk1; 3858 return stk1; 3859} 3860 3861/* TDSTanaxn source opaque/pattern transparent. */ 3862static unsigned xrop3_37_0_1 (unsigned char s, unsigned char t) 3863{ 3864 unsigned D = 0x00ff; 3865 unsigned S = ((unsigned)s << 8) | s; 3866 unsigned T = ((unsigned)t << 8) | t; 3867 unsigned stk1; 3868 unsigned stk2; 3869 unsigned stk3; 3870 stk3 = S & T; 3871 stk3 = ~stk3; 3872 stk2 = D & stk3; 3873 stk1 = T ^ stk2; 3874 stk1 = ~stk1; 3875 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 3876} 3877 3878/* TDSTanaxn source transparent/pattern opaque. */ 3879static unsigned xrop3_37_1_0 (unsigned char s, unsigned char t) 3880{ 3881 unsigned D = 0x00ff; 3882 unsigned S = ((unsigned)s << 8) | s; 3883 unsigned T = ((unsigned)t << 8) | t; 3884 unsigned stk1; 3885 unsigned stk2; 3886 unsigned stk3; 3887 stk3 = S & T; 3888 stk3 = ~stk3; 3889 stk2 = D & stk3; 3890 stk1 = T ^ stk2; 3891 stk1 = ~stk1; 3892 return (stk1 & (~S)) | (D & S); 3893} 3894 3895/* TDSTanaxn source/pattern transparent. */ 3896static unsigned xrop3_37_1_1 (unsigned char s, unsigned char t) 3897{ 3898 unsigned D = 0x00ff; 3899 unsigned S = ((unsigned)s << 8) | s; 3900 unsigned T = ((unsigned)t << 8) | t; 3901 unsigned stk1; 3902 unsigned stk2; 3903 unsigned stk3; 3904 stk3 = S & T; 3905 stk3 = ~stk3; 3906 stk2 = D & stk3; 3907 stk1 = T ^ stk2; 3908 stk1 = ~stk1; 3909 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 3910} 3911 3912/* SDTSaox source/pattern opaque. */ 3913static void rop3_38_0_0 (unsigned char *D, unsigned char S, unsigned char T) 3914{ 3915 unsigned char stk1; 3916 unsigned char stk2; 3917 unsigned char stk3; 3918 stk3 = T & S; 3919 stk2 = *D | stk3; 3920 stk1 = S ^ stk2; 3921 *D = stk1; 3922} 3923 3924/* SDTSaox source opaque/pattern transparent. */ 3925static void rop3_38_0_1 (unsigned char *D, unsigned char S, unsigned char T) 3926{ 3927 unsigned char stk1; 3928 unsigned char stk2; 3929 unsigned char stk3; 3930 stk3 = T & S; 3931 stk2 = *D | stk3; 3932 stk1 = S ^ stk2; 3933 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 3934} 3935 3936/* SDTSaox source transparent/pattern opaque. */ 3937static void rop3_38_1_0 (unsigned char *D, unsigned char S, unsigned char T) 3938{ 3939 unsigned char stk1; 3940 unsigned char stk2; 3941 unsigned char stk3; 3942 stk3 = T & S; 3943 stk2 = *D | stk3; 3944 stk1 = S ^ stk2; 3945 *D = (stk1 & (~S)) | (*D & S); 3946} 3947 3948/* SDTSaox source/pattern transparent. */ 3949static void rop3_38_1_1 (unsigned char *D, unsigned char S, unsigned char T) 3950{ 3951 unsigned char stk1; 3952 unsigned char stk2; 3953 unsigned char stk3; 3954 stk3 = T & S; 3955 stk2 = *D | stk3; 3956 stk1 = S ^ stk2; 3957 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 3958} 3959 3960/* SDTSaox source/pattern opaque. */ 3961static unsigned xrop3_38_0_0 (unsigned char s, unsigned char t) 3962{ 3963 unsigned D = 0x00ff; 3964 unsigned S = ((unsigned)s << 8) | s; 3965 unsigned T = ((unsigned)t << 8) | t; 3966 unsigned stk1; 3967 unsigned stk2; 3968 unsigned stk3; 3969 stk3 = T & S; 3970 stk2 = D | stk3; 3971 stk1 = S ^ stk2; 3972 return stk1; 3973} 3974 3975/* SDTSaox source opaque/pattern transparent. */ 3976static unsigned xrop3_38_0_1 (unsigned char s, unsigned char t) 3977{ 3978 unsigned D = 0x00ff; 3979 unsigned S = ((unsigned)s << 8) | s; 3980 unsigned T = ((unsigned)t << 8) | t; 3981 unsigned stk1; 3982 unsigned stk2; 3983 unsigned stk3; 3984 stk3 = T & S; 3985 stk2 = D | stk3; 3986 stk1 = S ^ stk2; 3987 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 3988} 3989 3990/* SDTSaox source transparent/pattern opaque. */ 3991static unsigned xrop3_38_1_0 (unsigned char s, unsigned char t) 3992{ 3993 unsigned D = 0x00ff; 3994 unsigned S = ((unsigned)s << 8) | s; 3995 unsigned T = ((unsigned)t << 8) | t; 3996 unsigned stk1; 3997 unsigned stk2; 3998 unsigned stk3; 3999 stk3 = T & S; 4000 stk2 = D | stk3; 4001 stk1 = S ^ stk2; 4002 return (stk1 & (~S)) | (D & S); 4003} 4004 4005/* SDTSaox source/pattern transparent. */ 4006static unsigned xrop3_38_1_1 (unsigned char s, unsigned char t) 4007{ 4008 unsigned D = 0x00ff; 4009 unsigned S = ((unsigned)s << 8) | s; 4010 unsigned T = ((unsigned)t << 8) | t; 4011 unsigned stk1; 4012 unsigned stk2; 4013 unsigned stk3; 4014 stk3 = T & S; 4015 stk2 = D | stk3; 4016 stk1 = S ^ stk2; 4017 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 4018} 4019 4020/* SDTSxnox source/pattern opaque. */ 4021static void rop3_39_0_0 (unsigned char *D, unsigned char S, unsigned char T) 4022{ 4023 unsigned char stk1; 4024 unsigned char stk2; 4025 unsigned char stk3; 4026 stk3 = T ^ S; 4027 stk3 = ~stk3; 4028 stk2 = *D | stk3; 4029 stk1 = S ^ stk2; 4030 *D = stk1; 4031} 4032 4033/* SDTSxnox source opaque/pattern transparent. */ 4034static void rop3_39_0_1 (unsigned char *D, unsigned char S, unsigned char T) 4035{ 4036 unsigned char stk1; 4037 unsigned char stk2; 4038 unsigned char stk3; 4039 stk3 = T ^ S; 4040 stk3 = ~stk3; 4041 stk2 = *D | stk3; 4042 stk1 = S ^ stk2; 4043 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 4044} 4045 4046/* SDTSxnox source transparent/pattern opaque. */ 4047static void rop3_39_1_0 (unsigned char *D, unsigned char S, unsigned char T) 4048{ 4049 unsigned char stk1; 4050 unsigned char stk2; 4051 unsigned char stk3; 4052 stk3 = T ^ S; 4053 stk3 = ~stk3; 4054 stk2 = *D | stk3; 4055 stk1 = S ^ stk2; 4056 *D = (stk1 & (~S)) | (*D & S); 4057} 4058 4059/* SDTSxnox source/pattern transparent. */ 4060static void rop3_39_1_1 (unsigned char *D, unsigned char S, unsigned char T) 4061{ 4062 unsigned char stk1; 4063 unsigned char stk2; 4064 unsigned char stk3; 4065 stk3 = T ^ S; 4066 stk3 = ~stk3; 4067 stk2 = *D | stk3; 4068 stk1 = S ^ stk2; 4069 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 4070} 4071 4072/* SDTSxnox source/pattern opaque. */ 4073static unsigned xrop3_39_0_0 (unsigned char s, unsigned char t) 4074{ 4075 unsigned D = 0x00ff; 4076 unsigned S = ((unsigned)s << 8) | s; 4077 unsigned T = ((unsigned)t << 8) | t; 4078 unsigned stk1; 4079 unsigned stk2; 4080 unsigned stk3; 4081 stk3 = T ^ S; 4082 stk3 = ~stk3; 4083 stk2 = D | stk3; 4084 stk1 = S ^ stk2; 4085 return stk1; 4086} 4087 4088/* SDTSxnox source opaque/pattern transparent. */ 4089static unsigned xrop3_39_0_1 (unsigned char s, unsigned char t) 4090{ 4091 unsigned D = 0x00ff; 4092 unsigned S = ((unsigned)s << 8) | s; 4093 unsigned T = ((unsigned)t << 8) | t; 4094 unsigned stk1; 4095 unsigned stk2; 4096 unsigned stk3; 4097 stk3 = T ^ S; 4098 stk3 = ~stk3; 4099 stk2 = D | stk3; 4100 stk1 = S ^ stk2; 4101 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 4102} 4103 4104/* SDTSxnox source transparent/pattern opaque. */ 4105static unsigned xrop3_39_1_0 (unsigned char s, unsigned char t) 4106{ 4107 unsigned D = 0x00ff; 4108 unsigned S = ((unsigned)s << 8) | s; 4109 unsigned T = ((unsigned)t << 8) | t; 4110 unsigned stk1; 4111 unsigned stk2; 4112 unsigned stk3; 4113 stk3 = T ^ S; 4114 stk3 = ~stk3; 4115 stk2 = D | stk3; 4116 stk1 = S ^ stk2; 4117 return (stk1 & (~S)) | (D & S); 4118} 4119 4120/* SDTSxnox source/pattern transparent. */ 4121static unsigned xrop3_39_1_1 (unsigned char s, unsigned char t) 4122{ 4123 unsigned D = 0x00ff; 4124 unsigned S = ((unsigned)s << 8) | s; 4125 unsigned T = ((unsigned)t << 8) | t; 4126 unsigned stk1; 4127 unsigned stk2; 4128 unsigned stk3; 4129 stk3 = T ^ S; 4130 stk3 = ~stk3; 4131 stk2 = D | stk3; 4132 stk1 = S ^ stk2; 4133 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 4134} 4135 4136/* DTSxa source/pattern opaque. */ 4137static void rop3_40_0_0 (unsigned char *D, unsigned char S, unsigned char T) 4138{ 4139 unsigned char stk1; 4140 unsigned char stk2; 4141 stk2 = T ^ S; 4142 stk1 = *D & stk2; 4143 *D = stk1; 4144} 4145 4146/* DTSxa source opaque/pattern transparent. */ 4147static void rop3_40_0_1 (unsigned char *D, unsigned char S, unsigned char T) 4148{ 4149 unsigned char stk1; 4150 unsigned char stk2; 4151 stk2 = T ^ S; 4152 stk1 = *D & stk2; 4153 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 4154} 4155 4156/* DTSxa source transparent/pattern opaque. */ 4157static void rop3_40_1_0 (unsigned char *D, unsigned char S, unsigned char T) 4158{ 4159 unsigned char stk1; 4160 unsigned char stk2; 4161 stk2 = T ^ S; 4162 stk1 = *D & stk2; 4163 *D = (stk1 & (~S)) | (*D & S); 4164} 4165 4166/* DTSxa source/pattern transparent. */ 4167static void rop3_40_1_1 (unsigned char *D, unsigned char S, unsigned char T) 4168{ 4169 unsigned char stk1; 4170 unsigned char stk2; 4171 stk2 = T ^ S; 4172 stk1 = *D & stk2; 4173 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 4174} 4175 4176/* DTSxa source/pattern opaque. */ 4177static unsigned xrop3_40_0_0 (unsigned char s, unsigned char t) 4178{ 4179 unsigned D = 0x00ff; 4180 unsigned S = ((unsigned)s << 8) | s; 4181 unsigned T = ((unsigned)t << 8) | t; 4182 unsigned stk1; 4183 unsigned stk2; 4184 stk2 = T ^ S; 4185 stk1 = D & stk2; 4186 return stk1; 4187} 4188 4189/* DTSxa source opaque/pattern transparent. */ 4190static unsigned xrop3_40_0_1 (unsigned char s, unsigned char t) 4191{ 4192 unsigned D = 0x00ff; 4193 unsigned S = ((unsigned)s << 8) | s; 4194 unsigned T = ((unsigned)t << 8) | t; 4195 unsigned stk1; 4196 unsigned stk2; 4197 stk2 = T ^ S; 4198 stk1 = D & stk2; 4199 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 4200} 4201 4202/* DTSxa source transparent/pattern opaque. */ 4203static unsigned xrop3_40_1_0 (unsigned char s, unsigned char t) 4204{ 4205 unsigned D = 0x00ff; 4206 unsigned S = ((unsigned)s << 8) | s; 4207 unsigned T = ((unsigned)t << 8) | t; 4208 unsigned stk1; 4209 unsigned stk2; 4210 stk2 = T ^ S; 4211 stk1 = D & stk2; 4212 return (stk1 & (~S)) | (D & S); 4213} 4214 4215/* DTSxa source/pattern transparent. */ 4216static unsigned xrop3_40_1_1 (unsigned char s, unsigned char t) 4217{ 4218 unsigned D = 0x00ff; 4219 unsigned S = ((unsigned)s << 8) | s; 4220 unsigned T = ((unsigned)t << 8) | t; 4221 unsigned stk1; 4222 unsigned stk2; 4223 stk2 = T ^ S; 4224 stk1 = D & stk2; 4225 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 4226} 4227 4228/* TSDTSaoxxn source/pattern opaque. */ 4229static void rop3_41_0_0 (unsigned char *D, unsigned char S, unsigned char T) 4230{ 4231 unsigned char stk1; 4232 unsigned char stk2; 4233 unsigned char stk3; 4234 unsigned char stk4; 4235 stk4 = T & S; 4236 stk3 = *D | stk4; 4237 stk2 = S ^ stk3; 4238 stk1 = T ^ stk2; 4239 stk1 = ~stk1; 4240 *D = stk1; 4241} 4242 4243/* TSDTSaoxxn source opaque/pattern transparent. */ 4244static void rop3_41_0_1 (unsigned char *D, unsigned char S, unsigned char T) 4245{ 4246 unsigned char stk1; 4247 unsigned char stk2; 4248 unsigned char stk3; 4249 unsigned char stk4; 4250 stk4 = T & S; 4251 stk3 = *D | stk4; 4252 stk2 = S ^ stk3; 4253 stk1 = T ^ stk2; 4254 stk1 = ~stk1; 4255 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 4256} 4257 4258/* TSDTSaoxxn source transparent/pattern opaque. */ 4259static void rop3_41_1_0 (unsigned char *D, unsigned char S, unsigned char T) 4260{ 4261 unsigned char stk1; 4262 unsigned char stk2; 4263 unsigned char stk3; 4264 unsigned char stk4; 4265 stk4 = T & S; 4266 stk3 = *D | stk4; 4267 stk2 = S ^ stk3; 4268 stk1 = T ^ stk2; 4269 stk1 = ~stk1; 4270 *D = (stk1 & (~S)) | (*D & S); 4271} 4272 4273/* TSDTSaoxxn source/pattern transparent. */ 4274static void rop3_41_1_1 (unsigned char *D, unsigned char S, unsigned char T) 4275{ 4276 unsigned char stk1; 4277 unsigned char stk2; 4278 unsigned char stk3; 4279 unsigned char stk4; 4280 stk4 = T & S; 4281 stk3 = *D | stk4; 4282 stk2 = S ^ stk3; 4283 stk1 = T ^ stk2; 4284 stk1 = ~stk1; 4285 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 4286} 4287 4288/* TSDTSaoxxn source/pattern opaque. */ 4289static unsigned xrop3_41_0_0 (unsigned char s, unsigned char t) 4290{ 4291 unsigned D = 0x00ff; 4292 unsigned S = ((unsigned)s << 8) | s; 4293 unsigned T = ((unsigned)t << 8) | t; 4294 unsigned stk1; 4295 unsigned stk2; 4296 unsigned stk3; 4297 unsigned stk4; 4298 stk4 = T & S; 4299 stk3 = D | stk4; 4300 stk2 = S ^ stk3; 4301 stk1 = T ^ stk2; 4302 stk1 = ~stk1; 4303 return stk1; 4304} 4305 4306/* TSDTSaoxxn source opaque/pattern transparent. */ 4307static unsigned xrop3_41_0_1 (unsigned char s, unsigned char t) 4308{ 4309 unsigned D = 0x00ff; 4310 unsigned S = ((unsigned)s << 8) | s; 4311 unsigned T = ((unsigned)t << 8) | t; 4312 unsigned stk1; 4313 unsigned stk2; 4314 unsigned stk3; 4315 unsigned stk4; 4316 stk4 = T & S; 4317 stk3 = D | stk4; 4318 stk2 = S ^ stk3; 4319 stk1 = T ^ stk2; 4320 stk1 = ~stk1; 4321 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 4322} 4323 4324/* TSDTSaoxxn source transparent/pattern opaque. */ 4325static unsigned xrop3_41_1_0 (unsigned char s, unsigned char t) 4326{ 4327 unsigned D = 0x00ff; 4328 unsigned S = ((unsigned)s << 8) | s; 4329 unsigned T = ((unsigned)t << 8) | t; 4330 unsigned stk1; 4331 unsigned stk2; 4332 unsigned stk3; 4333 unsigned stk4; 4334 stk4 = T & S; 4335 stk3 = D | stk4; 4336 stk2 = S ^ stk3; 4337 stk1 = T ^ stk2; 4338 stk1 = ~stk1; 4339 return (stk1 & (~S)) | (D & S); 4340} 4341 4342/* TSDTSaoxxn source/pattern transparent. */ 4343static unsigned xrop3_41_1_1 (unsigned char s, unsigned char t) 4344{ 4345 unsigned D = 0x00ff; 4346 unsigned S = ((unsigned)s << 8) | s; 4347 unsigned T = ((unsigned)t << 8) | t; 4348 unsigned stk1; 4349 unsigned stk2; 4350 unsigned stk3; 4351 unsigned stk4; 4352 stk4 = T & S; 4353 stk3 = D | stk4; 4354 stk2 = S ^ stk3; 4355 stk1 = T ^ stk2; 4356 stk1 = ~stk1; 4357 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 4358} 4359 4360/* DTSana source/pattern opaque. */ 4361static void rop3_42_0_0 (unsigned char *D, unsigned char S, unsigned char T) 4362{ 4363 unsigned char stk1; 4364 unsigned char stk2; 4365 stk2 = T & S; 4366 stk2 = ~stk2; 4367 stk1 = *D & stk2; 4368 *D = stk1; 4369} 4370 4371/* DTSana source opaque/pattern transparent. */ 4372static void rop3_42_0_1 (unsigned char *D, unsigned char S, unsigned char T) 4373{ 4374 unsigned char stk1; 4375 unsigned char stk2; 4376 stk2 = T & S; 4377 stk2 = ~stk2; 4378 stk1 = *D & stk2; 4379 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 4380} 4381 4382/* DTSana source transparent/pattern opaque. */ 4383static void rop3_42_1_0 (unsigned char *D, unsigned char S, unsigned char T) 4384{ 4385 unsigned char stk1; 4386 unsigned char stk2; 4387 stk2 = T & S; 4388 stk2 = ~stk2; 4389 stk1 = *D & stk2; 4390 *D = (stk1 & (~S)) | (*D & S); 4391} 4392 4393/* DTSana source/pattern transparent. */ 4394static void rop3_42_1_1 (unsigned char *D, unsigned char S, unsigned char T) 4395{ 4396 unsigned char stk1; 4397 unsigned char stk2; 4398 stk2 = T & S; 4399 stk2 = ~stk2; 4400 stk1 = *D & stk2; 4401 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 4402} 4403 4404/* DTSana source/pattern opaque. */ 4405static unsigned xrop3_42_0_0 (unsigned char s, unsigned char t) 4406{ 4407 unsigned D = 0x00ff; 4408 unsigned S = ((unsigned)s << 8) | s; 4409 unsigned T = ((unsigned)t << 8) | t; 4410 unsigned stk1; 4411 unsigned stk2; 4412 stk2 = T & S; 4413 stk2 = ~stk2; 4414 stk1 = D & stk2; 4415 return stk1; 4416} 4417 4418/* DTSana source opaque/pattern transparent. */ 4419static unsigned xrop3_42_0_1 (unsigned char s, unsigned char t) 4420{ 4421 unsigned D = 0x00ff; 4422 unsigned S = ((unsigned)s << 8) | s; 4423 unsigned T = ((unsigned)t << 8) | t; 4424 unsigned stk1; 4425 unsigned stk2; 4426 stk2 = T & S; 4427 stk2 = ~stk2; 4428 stk1 = D & stk2; 4429 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 4430} 4431 4432/* DTSana source transparent/pattern opaque. */ 4433static unsigned xrop3_42_1_0 (unsigned char s, unsigned char t) 4434{ 4435 unsigned D = 0x00ff; 4436 unsigned S = ((unsigned)s << 8) | s; 4437 unsigned T = ((unsigned)t << 8) | t; 4438 unsigned stk1; 4439 unsigned stk2; 4440 stk2 = T & S; 4441 stk2 = ~stk2; 4442 stk1 = D & stk2; 4443 return (stk1 & (~S)) | (D & S); 4444} 4445 4446/* DTSana source/pattern transparent. */ 4447static unsigned xrop3_42_1_1 (unsigned char s, unsigned char t) 4448{ 4449 unsigned D = 0x00ff; 4450 unsigned S = ((unsigned)s << 8) | s; 4451 unsigned T = ((unsigned)t << 8) | t; 4452 unsigned stk1; 4453 unsigned stk2; 4454 stk2 = T & S; 4455 stk2 = ~stk2; 4456 stk1 = D & stk2; 4457 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 4458} 4459 4460/* SSTxTDxaxn source/pattern opaque. */ 4461static void rop3_43_0_0 (unsigned char *D, unsigned char S, unsigned char T) 4462{ 4463 unsigned char stk1; 4464 unsigned char stk2; 4465 unsigned char stk3; 4466 stk2 = S ^ T; 4467 stk3 = T ^ *D; 4468 stk2 = stk2 & stk3; 4469 stk1 = S ^ stk2; 4470 stk1 = ~stk1; 4471 *D = stk1; 4472} 4473 4474/* SSTxTDxaxn source opaque/pattern transparent. */ 4475static void rop3_43_0_1 (unsigned char *D, unsigned char S, unsigned char T) 4476{ 4477 unsigned char stk1; 4478 unsigned char stk2; 4479 unsigned char stk3; 4480 stk2 = S ^ T; 4481 stk3 = T ^ *D; 4482 stk2 = stk2 & stk3; 4483 stk1 = S ^ stk2; 4484 stk1 = ~stk1; 4485 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 4486} 4487 4488/* SSTxTDxaxn source transparent/pattern opaque. */ 4489static void rop3_43_1_0 (unsigned char *D, unsigned char S, unsigned char T) 4490{ 4491 unsigned char stk1; 4492 unsigned char stk2; 4493 unsigned char stk3; 4494 stk2 = S ^ T; 4495 stk3 = T ^ *D; 4496 stk2 = stk2 & stk3; 4497 stk1 = S ^ stk2; 4498 stk1 = ~stk1; 4499 *D = (stk1 & (~S)) | (*D & S); 4500} 4501 4502/* SSTxTDxaxn source/pattern transparent. */ 4503static void rop3_43_1_1 (unsigned char *D, unsigned char S, unsigned char T) 4504{ 4505 unsigned char stk1; 4506 unsigned char stk2; 4507 unsigned char stk3; 4508 stk2 = S ^ T; 4509 stk3 = T ^ *D; 4510 stk2 = stk2 & stk3; 4511 stk1 = S ^ stk2; 4512 stk1 = ~stk1; 4513 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 4514} 4515 4516/* SSTxTDxaxn source/pattern opaque. */ 4517static unsigned xrop3_43_0_0 (unsigned char s, unsigned char t) 4518{ 4519 unsigned D = 0x00ff; 4520 unsigned S = ((unsigned)s << 8) | s; 4521 unsigned T = ((unsigned)t << 8) | t; 4522 unsigned stk1; 4523 unsigned stk2; 4524 unsigned stk3; 4525 stk2 = S ^ T; 4526 stk3 = T ^ D; 4527 stk2 = stk2 & stk3; 4528 stk1 = S ^ stk2; 4529 stk1 = ~stk1; 4530 return stk1; 4531} 4532 4533/* SSTxTDxaxn source opaque/pattern transparent. */ 4534static unsigned xrop3_43_0_1 (unsigned char s, unsigned char t) 4535{ 4536 unsigned D = 0x00ff; 4537 unsigned S = ((unsigned)s << 8) | s; 4538 unsigned T = ((unsigned)t << 8) | t; 4539 unsigned stk1; 4540 unsigned stk2; 4541 unsigned stk3; 4542 stk2 = S ^ T; 4543 stk3 = T ^ D; 4544 stk2 = stk2 & stk3; 4545 stk1 = S ^ stk2; 4546 stk1 = ~stk1; 4547 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 4548} 4549 4550/* SSTxTDxaxn source transparent/pattern opaque. */ 4551static unsigned xrop3_43_1_0 (unsigned char s, unsigned char t) 4552{ 4553 unsigned D = 0x00ff; 4554 unsigned S = ((unsigned)s << 8) | s; 4555 unsigned T = ((unsigned)t << 8) | t; 4556 unsigned stk1; 4557 unsigned stk2; 4558 unsigned stk3; 4559 stk2 = S ^ T; 4560 stk3 = T ^ D; 4561 stk2 = stk2 & stk3; 4562 stk1 = S ^ stk2; 4563 stk1 = ~stk1; 4564 return (stk1 & (~S)) | (D & S); 4565} 4566 4567/* SSTxTDxaxn source/pattern transparent. */ 4568static unsigned xrop3_43_1_1 (unsigned char s, unsigned char t) 4569{ 4570 unsigned D = 0x00ff; 4571 unsigned S = ((unsigned)s << 8) | s; 4572 unsigned T = ((unsigned)t << 8) | t; 4573 unsigned stk1; 4574 unsigned stk2; 4575 unsigned stk3; 4576 stk2 = S ^ T; 4577 stk3 = T ^ D; 4578 stk2 = stk2 & stk3; 4579 stk1 = S ^ stk2; 4580 stk1 = ~stk1; 4581 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 4582} 4583 4584/* STDSoax source/pattern opaque. */ 4585static void rop3_44_0_0 (unsigned char *D, unsigned char S, unsigned char T) 4586{ 4587 unsigned char stk1; 4588 unsigned char stk2; 4589 unsigned char stk3; 4590 stk3 = *D | S; 4591 stk2 = T & stk3; 4592 stk1 = S ^ stk2; 4593 *D = stk1; 4594} 4595 4596/* STDSoax source opaque/pattern transparent. */ 4597static void rop3_44_0_1 (unsigned char *D, unsigned char S, unsigned char T) 4598{ 4599 unsigned char stk1; 4600 unsigned char stk2; 4601 unsigned char stk3; 4602 stk3 = *D | S; 4603 stk2 = T & stk3; 4604 stk1 = S ^ stk2; 4605 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 4606} 4607 4608/* STDSoax source transparent/pattern opaque. */ 4609static void rop3_44_1_0 (unsigned char *D, unsigned char S, unsigned char T) 4610{ 4611 unsigned char stk1; 4612 unsigned char stk2; 4613 unsigned char stk3; 4614 stk3 = *D | S; 4615 stk2 = T & stk3; 4616 stk1 = S ^ stk2; 4617 *D = (stk1 & (~S)) | (*D & S); 4618} 4619 4620/* STDSoax source/pattern transparent. */ 4621static void rop3_44_1_1 (unsigned char *D, unsigned char S, unsigned char T) 4622{ 4623 unsigned char stk1; 4624 unsigned char stk2; 4625 unsigned char stk3; 4626 stk3 = *D | S; 4627 stk2 = T & stk3; 4628 stk1 = S ^ stk2; 4629 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 4630} 4631 4632/* STDSoax source/pattern opaque. */ 4633static unsigned xrop3_44_0_0 (unsigned char s, unsigned char t) 4634{ 4635 unsigned D = 0x00ff; 4636 unsigned S = ((unsigned)s << 8) | s; 4637 unsigned T = ((unsigned)t << 8) | t; 4638 unsigned stk1; 4639 unsigned stk2; 4640 unsigned stk3; 4641 stk3 = D | S; 4642 stk2 = T & stk3; 4643 stk1 = S ^ stk2; 4644 return stk1; 4645} 4646 4647/* STDSoax source opaque/pattern transparent. */ 4648static unsigned xrop3_44_0_1 (unsigned char s, unsigned char t) 4649{ 4650 unsigned D = 0x00ff; 4651 unsigned S = ((unsigned)s << 8) | s; 4652 unsigned T = ((unsigned)t << 8) | t; 4653 unsigned stk1; 4654 unsigned stk2; 4655 unsigned stk3; 4656 stk3 = D | S; 4657 stk2 = T & stk3; 4658 stk1 = S ^ stk2; 4659 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 4660} 4661 4662/* STDSoax source transparent/pattern opaque. */ 4663static unsigned xrop3_44_1_0 (unsigned char s, unsigned char t) 4664{ 4665 unsigned D = 0x00ff; 4666 unsigned S = ((unsigned)s << 8) | s; 4667 unsigned T = ((unsigned)t << 8) | t; 4668 unsigned stk1; 4669 unsigned stk2; 4670 unsigned stk3; 4671 stk3 = D | S; 4672 stk2 = T & stk3; 4673 stk1 = S ^ stk2; 4674 return (stk1 & (~S)) | (D & S); 4675} 4676 4677/* STDSoax source/pattern transparent. */ 4678static unsigned xrop3_44_1_1 (unsigned char s, unsigned char t) 4679{ 4680 unsigned D = 0x00ff; 4681 unsigned S = ((unsigned)s << 8) | s; 4682 unsigned T = ((unsigned)t << 8) | t; 4683 unsigned stk1; 4684 unsigned stk2; 4685 unsigned stk3; 4686 stk3 = D | S; 4687 stk2 = T & stk3; 4688 stk1 = S ^ stk2; 4689 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 4690} 4691 4692/* TSDnox source/pattern opaque. */ 4693static void rop3_45_0_0 (unsigned char *D, unsigned char S, unsigned char T) 4694{ 4695 unsigned char stk1; 4696 unsigned char stk2; 4697 unsigned char stk3; 4698 stk3 = ~*D; 4699 stk2 = S | stk3; 4700 stk1 = T ^ stk2; 4701 *D = stk1; 4702} 4703 4704/* TSDnox source opaque/pattern transparent. */ 4705static void rop3_45_0_1 (unsigned char *D, unsigned char S, unsigned char T) 4706{ 4707 unsigned char stk1; 4708 unsigned char stk2; 4709 unsigned char stk3; 4710 stk3 = ~*D; 4711 stk2 = S | stk3; 4712 stk1 = T ^ stk2; 4713 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 4714} 4715 4716/* TSDnox source transparent/pattern opaque. */ 4717static void rop3_45_1_0 (unsigned char *D, unsigned char S, unsigned char T) 4718{ 4719 unsigned char stk1; 4720 unsigned char stk2; 4721 unsigned char stk3; 4722 stk3 = ~*D; 4723 stk2 = S | stk3; 4724 stk1 = T ^ stk2; 4725 *D = (stk1 & (~S)) | (*D & S); 4726} 4727 4728/* TSDnox source/pattern transparent. */ 4729static void rop3_45_1_1 (unsigned char *D, unsigned char S, unsigned char T) 4730{ 4731 unsigned char stk1; 4732 unsigned char stk2; 4733 unsigned char stk3; 4734 stk3 = ~*D; 4735 stk2 = S | stk3; 4736 stk1 = T ^ stk2; 4737 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 4738} 4739 4740/* TSDnox source/pattern opaque. */ 4741static unsigned xrop3_45_0_0 (unsigned char s, unsigned char t) 4742{ 4743 unsigned D = 0x00ff; 4744 unsigned S = ((unsigned)s << 8) | s; 4745 unsigned T = ((unsigned)t << 8) | t; 4746 unsigned stk1; 4747 unsigned stk2; 4748 unsigned stk3; 4749 stk3 = ~D; 4750 stk2 = S | stk3; 4751 stk1 = T ^ stk2; 4752 return stk1; 4753} 4754 4755/* TSDnox source opaque/pattern transparent. */ 4756static unsigned xrop3_45_0_1 (unsigned char s, unsigned char t) 4757{ 4758 unsigned D = 0x00ff; 4759 unsigned S = ((unsigned)s << 8) | s; 4760 unsigned T = ((unsigned)t << 8) | t; 4761 unsigned stk1; 4762 unsigned stk2; 4763 unsigned stk3; 4764 stk3 = ~D; 4765 stk2 = S | stk3; 4766 stk1 = T ^ stk2; 4767 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 4768} 4769 4770/* TSDnox source transparent/pattern opaque. */ 4771static unsigned xrop3_45_1_0 (unsigned char s, unsigned char t) 4772{ 4773 unsigned D = 0x00ff; 4774 unsigned S = ((unsigned)s << 8) | s; 4775 unsigned T = ((unsigned)t << 8) | t; 4776 unsigned stk1; 4777 unsigned stk2; 4778 unsigned stk3; 4779 stk3 = ~D; 4780 stk2 = S | stk3; 4781 stk1 = T ^ stk2; 4782 return (stk1 & (~S)) | (D & S); 4783} 4784 4785/* TSDnox source/pattern transparent. */ 4786static unsigned xrop3_45_1_1 (unsigned char s, unsigned char t) 4787{ 4788 unsigned D = 0x00ff; 4789 unsigned S = ((unsigned)s << 8) | s; 4790 unsigned T = ((unsigned)t << 8) | t; 4791 unsigned stk1; 4792 unsigned stk2; 4793 unsigned stk3; 4794 stk3 = ~D; 4795 stk2 = S | stk3; 4796 stk1 = T ^ stk2; 4797 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 4798} 4799 4800/* TSDTxox source/pattern opaque. */ 4801static void rop3_46_0_0 (unsigned char *D, unsigned char S, unsigned char T) 4802{ 4803 unsigned char stk1; 4804 unsigned char stk2; 4805 unsigned char stk3; 4806 stk3 = *D ^ T; 4807 stk2 = S | stk3; 4808 stk1 = T ^ stk2; 4809 *D = stk1; 4810} 4811 4812/* TSDTxox source opaque/pattern transparent. */ 4813static void rop3_46_0_1 (unsigned char *D, unsigned char S, unsigned char T) 4814{ 4815 unsigned char stk1; 4816 unsigned char stk2; 4817 unsigned char stk3; 4818 stk3 = *D ^ T; 4819 stk2 = S | stk3; 4820 stk1 = T ^ stk2; 4821 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 4822} 4823 4824/* TSDTxox source transparent/pattern opaque. */ 4825static void rop3_46_1_0 (unsigned char *D, unsigned char S, unsigned char T) 4826{ 4827 unsigned char stk1; 4828 unsigned char stk2; 4829 unsigned char stk3; 4830 stk3 = *D ^ T; 4831 stk2 = S | stk3; 4832 stk1 = T ^ stk2; 4833 *D = (stk1 & (~S)) | (*D & S); 4834} 4835 4836/* TSDTxox source/pattern transparent. */ 4837static void rop3_46_1_1 (unsigned char *D, unsigned char S, unsigned char T) 4838{ 4839 unsigned char stk1; 4840 unsigned char stk2; 4841 unsigned char stk3; 4842 stk3 = *D ^ T; 4843 stk2 = S | stk3; 4844 stk1 = T ^ stk2; 4845 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 4846} 4847 4848/* TSDTxox source/pattern opaque. */ 4849static unsigned xrop3_46_0_0 (unsigned char s, unsigned char t) 4850{ 4851 unsigned D = 0x00ff; 4852 unsigned S = ((unsigned)s << 8) | s; 4853 unsigned T = ((unsigned)t << 8) | t; 4854 unsigned stk1; 4855 unsigned stk2; 4856 unsigned stk3; 4857 stk3 = D ^ T; 4858 stk2 = S | stk3; 4859 stk1 = T ^ stk2; 4860 return stk1; 4861} 4862 4863/* TSDTxox source opaque/pattern transparent. */ 4864static unsigned xrop3_46_0_1 (unsigned char s, unsigned char t) 4865{ 4866 unsigned D = 0x00ff; 4867 unsigned S = ((unsigned)s << 8) | s; 4868 unsigned T = ((unsigned)t << 8) | t; 4869 unsigned stk1; 4870 unsigned stk2; 4871 unsigned stk3; 4872 stk3 = D ^ T; 4873 stk2 = S | stk3; 4874 stk1 = T ^ stk2; 4875 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 4876} 4877 4878/* TSDTxox source transparent/pattern opaque. */ 4879static unsigned xrop3_46_1_0 (unsigned char s, unsigned char t) 4880{ 4881 unsigned D = 0x00ff; 4882 unsigned S = ((unsigned)s << 8) | s; 4883 unsigned T = ((unsigned)t << 8) | t; 4884 unsigned stk1; 4885 unsigned stk2; 4886 unsigned stk3; 4887 stk3 = D ^ T; 4888 stk2 = S | stk3; 4889 stk1 = T ^ stk2; 4890 return (stk1 & (~S)) | (D & S); 4891} 4892 4893/* TSDTxox source/pattern transparent. */ 4894static unsigned xrop3_46_1_1 (unsigned char s, unsigned char t) 4895{ 4896 unsigned D = 0x00ff; 4897 unsigned S = ((unsigned)s << 8) | s; 4898 unsigned T = ((unsigned)t << 8) | t; 4899 unsigned stk1; 4900 unsigned stk2; 4901 unsigned stk3; 4902 stk3 = D ^ T; 4903 stk2 = S | stk3; 4904 stk1 = T ^ stk2; 4905 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 4906} 4907 4908/* TSDnoan source/pattern opaque. */ 4909static void rop3_47_0_0 (unsigned char *D, unsigned char S, unsigned char T) 4910{ 4911 unsigned char stk1; 4912 unsigned char stk2; 4913 unsigned char stk3; 4914 stk3 = ~*D; 4915 stk2 = S | stk3; 4916 stk1 = T & stk2; 4917 stk1 = ~stk1; 4918 *D = stk1; 4919} 4920 4921/* TSDnoan source opaque/pattern transparent. */ 4922static void rop3_47_0_1 (unsigned char *D, unsigned char S, unsigned char T) 4923{ 4924 unsigned char stk1; 4925 unsigned char stk2; 4926 unsigned char stk3; 4927 stk3 = ~*D; 4928 stk2 = S | stk3; 4929 stk1 = T & stk2; 4930 stk1 = ~stk1; 4931 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 4932} 4933 4934/* TSDnoan source transparent/pattern opaque. */ 4935static void rop3_47_1_0 (unsigned char *D, unsigned char S, unsigned char T) 4936{ 4937 unsigned char stk1; 4938 unsigned char stk2; 4939 unsigned char stk3; 4940 stk3 = ~*D; 4941 stk2 = S | stk3; 4942 stk1 = T & stk2; 4943 stk1 = ~stk1; 4944 *D = (stk1 & (~S)) | (*D & S); 4945} 4946 4947/* TSDnoan source/pattern transparent. */ 4948static void rop3_47_1_1 (unsigned char *D, unsigned char S, unsigned char T) 4949{ 4950 unsigned char stk1; 4951 unsigned char stk2; 4952 unsigned char stk3; 4953 stk3 = ~*D; 4954 stk2 = S | stk3; 4955 stk1 = T & stk2; 4956 stk1 = ~stk1; 4957 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 4958} 4959 4960/* TSDnoan source/pattern opaque. */ 4961static unsigned xrop3_47_0_0 (unsigned char s, unsigned char t) 4962{ 4963 unsigned D = 0x00ff; 4964 unsigned S = ((unsigned)s << 8) | s; 4965 unsigned T = ((unsigned)t << 8) | t; 4966 unsigned stk1; 4967 unsigned stk2; 4968 unsigned stk3; 4969 stk3 = ~D; 4970 stk2 = S | stk3; 4971 stk1 = T & stk2; 4972 stk1 = ~stk1; 4973 return stk1; 4974} 4975 4976/* TSDnoan source opaque/pattern transparent. */ 4977static unsigned xrop3_47_0_1 (unsigned char s, unsigned char t) 4978{ 4979 unsigned D = 0x00ff; 4980 unsigned S = ((unsigned)s << 8) | s; 4981 unsigned T = ((unsigned)t << 8) | t; 4982 unsigned stk1; 4983 unsigned stk2; 4984 unsigned stk3; 4985 stk3 = ~D; 4986 stk2 = S | stk3; 4987 stk1 = T & stk2; 4988 stk1 = ~stk1; 4989 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 4990} 4991 4992/* TSDnoan source transparent/pattern opaque. */ 4993static unsigned xrop3_47_1_0 (unsigned char s, unsigned char t) 4994{ 4995 unsigned D = 0x00ff; 4996 unsigned S = ((unsigned)s << 8) | s; 4997 unsigned T = ((unsigned)t << 8) | t; 4998 unsigned stk1; 4999 unsigned stk2; 5000 unsigned stk3; 5001 stk3 = ~D; 5002 stk2 = S | stk3; 5003 stk1 = T & stk2; 5004 stk1 = ~stk1; 5005 return (stk1 & (~S)) | (D & S); 5006} 5007 5008/* TSDnoan source/pattern transparent. */ 5009static unsigned xrop3_47_1_1 (unsigned char s, unsigned char t) 5010{ 5011 unsigned D = 0x00ff; 5012 unsigned S = ((unsigned)s << 8) | s; 5013 unsigned T = ((unsigned)t << 8) | t; 5014 unsigned stk1; 5015 unsigned stk2; 5016 unsigned stk3; 5017 stk3 = ~D; 5018 stk2 = S | stk3; 5019 stk1 = T & stk2; 5020 stk1 = ~stk1; 5021 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 5022} 5023 5024/* TSna source/pattern opaque. */ 5025static void rop3_48_0_0 (unsigned char *D, unsigned char S, unsigned char T) 5026{ 5027 unsigned char stk1; 5028 unsigned char stk2; 5029 stk2 = ~S; 5030 stk1 = T & stk2; 5031 *D = stk1; 5032} 5033 5034/* TSna source opaque/pattern transparent. */ 5035static void rop3_48_0_1 (unsigned char *D, unsigned char S, unsigned char T) 5036{ 5037 unsigned char stk1; 5038 unsigned char stk2; 5039 stk2 = ~S; 5040 stk1 = T & stk2; 5041 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 5042} 5043 5044/* TSna source transparent/pattern opaque. */ 5045static void rop3_48_1_0 (unsigned char *D, unsigned char S, unsigned char T) 5046{ 5047 unsigned char stk1; 5048 unsigned char stk2; 5049 stk2 = ~S; 5050 stk1 = T & stk2; 5051 *D = (stk1 & (~S)) | (*D & S); 5052} 5053 5054/* TSna source/pattern transparent. */ 5055static void rop3_48_1_1 (unsigned char *D, unsigned char S, unsigned char T) 5056{ 5057 unsigned char stk1; 5058 unsigned char stk2; 5059 stk2 = ~S; 5060 stk1 = T & stk2; 5061 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 5062} 5063 5064/* TSna source/pattern opaque. */ 5065static unsigned xrop3_48_0_0 (unsigned char s, unsigned char t) 5066{ 5067 unsigned S = ((unsigned)s << 8) | s; 5068 unsigned T = ((unsigned)t << 8) | t; 5069 unsigned stk1; 5070 unsigned stk2; 5071 stk2 = ~S; 5072 stk1 = T & stk2; 5073 return stk1; 5074} 5075 5076/* TSna source opaque/pattern transparent. */ 5077static unsigned xrop3_48_0_1 (unsigned char s, unsigned char t) 5078{ 5079 unsigned D = 0x00ff; 5080 unsigned S = ((unsigned)s << 8) | s; 5081 unsigned T = ((unsigned)t << 8) | t; 5082 unsigned stk1; 5083 unsigned stk2; 5084 stk2 = ~S; 5085 stk1 = T & stk2; 5086 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 5087} 5088 5089/* TSna source transparent/pattern opaque. */ 5090static unsigned xrop3_48_1_0 (unsigned char s, unsigned char t) 5091{ 5092 unsigned D = 0x00ff; 5093 unsigned S = ((unsigned)s << 8) | s; 5094 unsigned T = ((unsigned)t << 8) | t; 5095 unsigned stk1; 5096 unsigned stk2; 5097 stk2 = ~S; 5098 stk1 = T & stk2; 5099 return (stk1 & (~S)) | (D & S); 5100} 5101 5102/* TSna source/pattern transparent. */ 5103static unsigned xrop3_48_1_1 (unsigned char s, unsigned char t) 5104{ 5105 unsigned D = 0x00ff; 5106 unsigned S = ((unsigned)s << 8) | s; 5107 unsigned T = ((unsigned)t << 8) | t; 5108 unsigned stk1; 5109 unsigned stk2; 5110 stk2 = ~S; 5111 stk1 = T & stk2; 5112 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 5113} 5114 5115/* SDTnaon source/pattern opaque. */ 5116static void rop3_49_0_0 (unsigned char *D, unsigned char S, unsigned char T) 5117{ 5118 unsigned char stk1; 5119 unsigned char stk2; 5120 unsigned char stk3; 5121 stk3 = ~T; 5122 stk2 = *D & stk3; 5123 stk1 = S | stk2; 5124 stk1 = ~stk1; 5125 *D = stk1; 5126} 5127 5128/* SDTnaon source opaque/pattern transparent. */ 5129static void rop3_49_0_1 (unsigned char *D, unsigned char S, unsigned char T) 5130{ 5131 unsigned char stk1; 5132 unsigned char stk2; 5133 unsigned char stk3; 5134 stk3 = ~T; 5135 stk2 = *D & stk3; 5136 stk1 = S | stk2; 5137 stk1 = ~stk1; 5138 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 5139} 5140 5141/* SDTnaon source transparent/pattern opaque. */ 5142static void rop3_49_1_0 (unsigned char *D, unsigned char S, unsigned char T) 5143{ 5144 unsigned char stk1; 5145 unsigned char stk2; 5146 unsigned char stk3; 5147 stk3 = ~T; 5148 stk2 = *D & stk3; 5149 stk1 = S | stk2; 5150 stk1 = ~stk1; 5151 *D = (stk1 & (~S)) | (*D & S); 5152} 5153 5154/* SDTnaon source/pattern transparent. */ 5155static void rop3_49_1_1 (unsigned char *D, unsigned char S, unsigned char T) 5156{ 5157 unsigned char stk1; 5158 unsigned char stk2; 5159 unsigned char stk3; 5160 stk3 = ~T; 5161 stk2 = *D & stk3; 5162 stk1 = S | stk2; 5163 stk1 = ~stk1; 5164 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 5165} 5166 5167/* SDTnaon source/pattern opaque. */ 5168static unsigned xrop3_49_0_0 (unsigned char s, unsigned char t) 5169{ 5170 unsigned D = 0x00ff; 5171 unsigned S = ((unsigned)s << 8) | s; 5172 unsigned T = ((unsigned)t << 8) | t; 5173 unsigned stk1; 5174 unsigned stk2; 5175 unsigned stk3; 5176 stk3 = ~T; 5177 stk2 = D & stk3; 5178 stk1 = S | stk2; 5179 stk1 = ~stk1; 5180 return stk1; 5181} 5182 5183/* SDTnaon source opaque/pattern transparent. */ 5184static unsigned xrop3_49_0_1 (unsigned char s, unsigned char t) 5185{ 5186 unsigned D = 0x00ff; 5187 unsigned S = ((unsigned)s << 8) | s; 5188 unsigned T = ((unsigned)t << 8) | t; 5189 unsigned stk1; 5190 unsigned stk2; 5191 unsigned stk3; 5192 stk3 = ~T; 5193 stk2 = D & stk3; 5194 stk1 = S | stk2; 5195 stk1 = ~stk1; 5196 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 5197} 5198 5199/* SDTnaon source transparent/pattern opaque. */ 5200static unsigned xrop3_49_1_0 (unsigned char s, unsigned char t) 5201{ 5202 unsigned D = 0x00ff; 5203 unsigned S = ((unsigned)s << 8) | s; 5204 unsigned T = ((unsigned)t << 8) | t; 5205 unsigned stk1; 5206 unsigned stk2; 5207 unsigned stk3; 5208 stk3 = ~T; 5209 stk2 = D & stk3; 5210 stk1 = S | stk2; 5211 stk1 = ~stk1; 5212 return (stk1 & (~S)) | (D & S); 5213} 5214 5215/* SDTnaon source/pattern transparent. */ 5216static unsigned xrop3_49_1_1 (unsigned char s, unsigned char t) 5217{ 5218 unsigned D = 0x00ff; 5219 unsigned S = ((unsigned)s << 8) | s; 5220 unsigned T = ((unsigned)t << 8) | t; 5221 unsigned stk1; 5222 unsigned stk2; 5223 unsigned stk3; 5224 stk3 = ~T; 5225 stk2 = D & stk3; 5226 stk1 = S | stk2; 5227 stk1 = ~stk1; 5228 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 5229} 5230 5231/* SDTSoox source/pattern opaque. */ 5232static void rop3_50_0_0 (unsigned char *D, unsigned char S, unsigned char T) 5233{ 5234 unsigned char stk1; 5235 unsigned char stk2; 5236 unsigned char stk3; 5237 stk3 = T | S; 5238 stk2 = *D | stk3; 5239 stk1 = S ^ stk2; 5240 *D = stk1; 5241} 5242 5243/* SDTSoox source opaque/pattern transparent. */ 5244static void rop3_50_0_1 (unsigned char *D, unsigned char S, unsigned char T) 5245{ 5246 unsigned char stk1; 5247 unsigned char stk2; 5248 unsigned char stk3; 5249 stk3 = T | S; 5250 stk2 = *D | stk3; 5251 stk1 = S ^ stk2; 5252 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 5253} 5254 5255/* SDTSoox source transparent/pattern opaque. */ 5256static void rop3_50_1_0 (unsigned char *D, unsigned char S, unsigned char T) 5257{ 5258 unsigned char stk1; 5259 unsigned char stk2; 5260 unsigned char stk3; 5261 stk3 = T | S; 5262 stk2 = *D | stk3; 5263 stk1 = S ^ stk2; 5264 *D = (stk1 & (~S)) | (*D & S); 5265} 5266 5267/* SDTSoox source/pattern transparent. */ 5268static void rop3_50_1_1 (unsigned char *D, unsigned char S, unsigned char T) 5269{ 5270 unsigned char stk1; 5271 unsigned char stk2; 5272 unsigned char stk3; 5273 stk3 = T | S; 5274 stk2 = *D | stk3; 5275 stk1 = S ^ stk2; 5276 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 5277} 5278 5279/* SDTSoox source/pattern opaque. */ 5280static unsigned xrop3_50_0_0 (unsigned char s, unsigned char t) 5281{ 5282 unsigned D = 0x00ff; 5283 unsigned S = ((unsigned)s << 8) | s; 5284 unsigned T = ((unsigned)t << 8) | t; 5285 unsigned stk1; 5286 unsigned stk2; 5287 unsigned stk3; 5288 stk3 = T | S; 5289 stk2 = D | stk3; 5290 stk1 = S ^ stk2; 5291 return stk1; 5292} 5293 5294/* SDTSoox source opaque/pattern transparent. */ 5295static unsigned xrop3_50_0_1 (unsigned char s, unsigned char t) 5296{ 5297 unsigned D = 0x00ff; 5298 unsigned S = ((unsigned)s << 8) | s; 5299 unsigned T = ((unsigned)t << 8) | t; 5300 unsigned stk1; 5301 unsigned stk2; 5302 unsigned stk3; 5303 stk3 = T | S; 5304 stk2 = D | stk3; 5305 stk1 = S ^ stk2; 5306 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 5307} 5308 5309/* SDTSoox source transparent/pattern opaque. */ 5310static unsigned xrop3_50_1_0 (unsigned char s, unsigned char t) 5311{ 5312 unsigned D = 0x00ff; 5313 unsigned S = ((unsigned)s << 8) | s; 5314 unsigned T = ((unsigned)t << 8) | t; 5315 unsigned stk1; 5316 unsigned stk2; 5317 unsigned stk3; 5318 stk3 = T | S; 5319 stk2 = D | stk3; 5320 stk1 = S ^ stk2; 5321 return (stk1 & (~S)) | (D & S); 5322} 5323 5324/* SDTSoox source/pattern transparent. */ 5325static unsigned xrop3_50_1_1 (unsigned char s, unsigned char t) 5326{ 5327 unsigned D = 0x00ff; 5328 unsigned S = ((unsigned)s << 8) | s; 5329 unsigned T = ((unsigned)t << 8) | t; 5330 unsigned stk1; 5331 unsigned stk2; 5332 unsigned stk3; 5333 stk3 = T | S; 5334 stk2 = D | stk3; 5335 stk1 = S ^ stk2; 5336 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 5337} 5338 5339/* Sn source/pattern opaque. */ 5340static void rop3_51_0_0 (unsigned char *D, unsigned char S, unsigned char T) 5341{ 5342 unsigned char stk1; 5343 stk1 = ~S; 5344 *D = stk1; 5345} 5346 5347/* Sn source opaque/pattern transparent. */ 5348static void rop3_51_0_1 (unsigned char *D, unsigned char S, unsigned char T) 5349{ 5350 unsigned char stk1; 5351 stk1 = ~S; 5352 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 5353} 5354 5355/* Sn source transparent/pattern opaque. */ 5356static void rop3_51_1_0 (unsigned char *D, unsigned char S, unsigned char T) 5357{ 5358 unsigned char stk1; 5359 stk1 = ~S; 5360 *D = (stk1 & (~S)) | (*D & S); 5361} 5362 5363/* Sn source/pattern transparent. */ 5364static void rop3_51_1_1 (unsigned char *D, unsigned char S, unsigned char T) 5365{ 5366 unsigned char stk1; 5367 stk1 = ~S; 5368 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 5369} 5370 5371/* Sn source/pattern opaque. */ 5372static unsigned xrop3_51_0_0 (unsigned char s, unsigned char t) 5373{ 5374 unsigned S = ((unsigned)s << 8) | s; 5375 unsigned stk1; 5376 stk1 = ~S; 5377 return stk1; 5378} 5379 5380/* Sn source opaque/pattern transparent. */ 5381static unsigned xrop3_51_0_1 (unsigned char s, unsigned char t) 5382{ 5383 unsigned D = 0x00ff; 5384 unsigned S = ((unsigned)s << 8) | s; 5385 unsigned T = ((unsigned)t << 8) | t; 5386 unsigned stk1; 5387 stk1 = ~S; 5388 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 5389} 5390 5391/* Sn source transparent/pattern opaque. */ 5392static unsigned xrop3_51_1_0 (unsigned char s, unsigned char t) 5393{ 5394 unsigned D = 0x00ff; 5395 unsigned S = ((unsigned)s << 8) | s; 5396 unsigned stk1; 5397 stk1 = ~S; 5398 return (stk1 & (~S)) | (D & S); 5399} 5400 5401/* Sn source/pattern transparent. */ 5402static unsigned xrop3_51_1_1 (unsigned char s, unsigned char t) 5403{ 5404 unsigned D = 0x00ff; 5405 unsigned S = ((unsigned)s << 8) | s; 5406 unsigned T = ((unsigned)t << 8) | t; 5407 unsigned stk1; 5408 stk1 = ~S; 5409 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 5410} 5411 5412/* STDSaox source/pattern opaque. */ 5413static void rop3_52_0_0 (unsigned char *D, unsigned char S, unsigned char T) 5414{ 5415 unsigned char stk1; 5416 unsigned char stk2; 5417 unsigned char stk3; 5418 stk3 = *D & S; 5419 stk2 = T | stk3; 5420 stk1 = S ^ stk2; 5421 *D = stk1; 5422} 5423 5424/* STDSaox source opaque/pattern transparent. */ 5425static void rop3_52_0_1 (unsigned char *D, unsigned char S, unsigned char T) 5426{ 5427 unsigned char stk1; 5428 unsigned char stk2; 5429 unsigned char stk3; 5430 stk3 = *D & S; 5431 stk2 = T | stk3; 5432 stk1 = S ^ stk2; 5433 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 5434} 5435 5436/* STDSaox source transparent/pattern opaque. */ 5437static void rop3_52_1_0 (unsigned char *D, unsigned char S, unsigned char T) 5438{ 5439 unsigned char stk1; 5440 unsigned char stk2; 5441 unsigned char stk3; 5442 stk3 = *D & S; 5443 stk2 = T | stk3; 5444 stk1 = S ^ stk2; 5445 *D = (stk1 & (~S)) | (*D & S); 5446} 5447 5448/* STDSaox source/pattern transparent. */ 5449static void rop3_52_1_1 (unsigned char *D, unsigned char S, unsigned char T) 5450{ 5451 unsigned char stk1; 5452 unsigned char stk2; 5453 unsigned char stk3; 5454 stk3 = *D & S; 5455 stk2 = T | stk3; 5456 stk1 = S ^ stk2; 5457 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 5458} 5459 5460/* STDSaox source/pattern opaque. */ 5461static unsigned xrop3_52_0_0 (unsigned char s, unsigned char t) 5462{ 5463 unsigned D = 0x00ff; 5464 unsigned S = ((unsigned)s << 8) | s; 5465 unsigned T = ((unsigned)t << 8) | t; 5466 unsigned stk1; 5467 unsigned stk2; 5468 unsigned stk3; 5469 stk3 = D & S; 5470 stk2 = T | stk3; 5471 stk1 = S ^ stk2; 5472 return stk1; 5473} 5474 5475/* STDSaox source opaque/pattern transparent. */ 5476static unsigned xrop3_52_0_1 (unsigned char s, unsigned char t) 5477{ 5478 unsigned D = 0x00ff; 5479 unsigned S = ((unsigned)s << 8) | s; 5480 unsigned T = ((unsigned)t << 8) | t; 5481 unsigned stk1; 5482 unsigned stk2; 5483 unsigned stk3; 5484 stk3 = D & S; 5485 stk2 = T | stk3; 5486 stk1 = S ^ stk2; 5487 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 5488} 5489 5490/* STDSaox source transparent/pattern opaque. */ 5491static unsigned xrop3_52_1_0 (unsigned char s, unsigned char t) 5492{ 5493 unsigned D = 0x00ff; 5494 unsigned S = ((unsigned)s << 8) | s; 5495 unsigned T = ((unsigned)t << 8) | t; 5496 unsigned stk1; 5497 unsigned stk2; 5498 unsigned stk3; 5499 stk3 = D & S; 5500 stk2 = T | stk3; 5501 stk1 = S ^ stk2; 5502 return (stk1 & (~S)) | (D & S); 5503} 5504 5505/* STDSaox source/pattern transparent. */ 5506static unsigned xrop3_52_1_1 (unsigned char s, unsigned char t) 5507{ 5508 unsigned D = 0x00ff; 5509 unsigned S = ((unsigned)s << 8) | s; 5510 unsigned T = ((unsigned)t << 8) | t; 5511 unsigned stk1; 5512 unsigned stk2; 5513 unsigned stk3; 5514 stk3 = D & S; 5515 stk2 = T | stk3; 5516 stk1 = S ^ stk2; 5517 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 5518} 5519 5520/* STDSxnox source/pattern opaque. */ 5521static void rop3_53_0_0 (unsigned char *D, unsigned char S, unsigned char T) 5522{ 5523 unsigned char stk1; 5524 unsigned char stk2; 5525 unsigned char stk3; 5526 stk3 = *D ^ S; 5527 stk3 = ~stk3; 5528 stk2 = T | stk3; 5529 stk1 = S ^ stk2; 5530 *D = stk1; 5531} 5532 5533/* STDSxnox source opaque/pattern transparent. */ 5534static void rop3_53_0_1 (unsigned char *D, unsigned char S, unsigned char T) 5535{ 5536 unsigned char stk1; 5537 unsigned char stk2; 5538 unsigned char stk3; 5539 stk3 = *D ^ S; 5540 stk3 = ~stk3; 5541 stk2 = T | stk3; 5542 stk1 = S ^ stk2; 5543 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 5544} 5545 5546/* STDSxnox source transparent/pattern opaque. */ 5547static void rop3_53_1_0 (unsigned char *D, unsigned char S, unsigned char T) 5548{ 5549 unsigned char stk1; 5550 unsigned char stk2; 5551 unsigned char stk3; 5552 stk3 = *D ^ S; 5553 stk3 = ~stk3; 5554 stk2 = T | stk3; 5555 stk1 = S ^ stk2; 5556 *D = (stk1 & (~S)) | (*D & S); 5557} 5558 5559/* STDSxnox source/pattern transparent. */ 5560static void rop3_53_1_1 (unsigned char *D, unsigned char S, unsigned char T) 5561{ 5562 unsigned char stk1; 5563 unsigned char stk2; 5564 unsigned char stk3; 5565 stk3 = *D ^ S; 5566 stk3 = ~stk3; 5567 stk2 = T | stk3; 5568 stk1 = S ^ stk2; 5569 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 5570} 5571 5572/* STDSxnox source/pattern opaque. */ 5573static unsigned xrop3_53_0_0 (unsigned char s, unsigned char t) 5574{ 5575 unsigned D = 0x00ff; 5576 unsigned S = ((unsigned)s << 8) | s; 5577 unsigned T = ((unsigned)t << 8) | t; 5578 unsigned stk1; 5579 unsigned stk2; 5580 unsigned stk3; 5581 stk3 = D ^ S; 5582 stk3 = ~stk3; 5583 stk2 = T | stk3; 5584 stk1 = S ^ stk2; 5585 return stk1; 5586} 5587 5588/* STDSxnox source opaque/pattern transparent. */ 5589static unsigned xrop3_53_0_1 (unsigned char s, unsigned char t) 5590{ 5591 unsigned D = 0x00ff; 5592 unsigned S = ((unsigned)s << 8) | s; 5593 unsigned T = ((unsigned)t << 8) | t; 5594 unsigned stk1; 5595 unsigned stk2; 5596 unsigned stk3; 5597 stk3 = D ^ S; 5598 stk3 = ~stk3; 5599 stk2 = T | stk3; 5600 stk1 = S ^ stk2; 5601 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 5602} 5603 5604/* STDSxnox source transparent/pattern opaque. */ 5605static unsigned xrop3_53_1_0 (unsigned char s, unsigned char t) 5606{ 5607 unsigned D = 0x00ff; 5608 unsigned S = ((unsigned)s << 8) | s; 5609 unsigned T = ((unsigned)t << 8) | t; 5610 unsigned stk1; 5611 unsigned stk2; 5612 unsigned stk3; 5613 stk3 = D ^ S; 5614 stk3 = ~stk3; 5615 stk2 = T | stk3; 5616 stk1 = S ^ stk2; 5617 return (stk1 & (~S)) | (D & S); 5618} 5619 5620/* STDSxnox source/pattern transparent. */ 5621static unsigned xrop3_53_1_1 (unsigned char s, unsigned char t) 5622{ 5623 unsigned D = 0x00ff; 5624 unsigned S = ((unsigned)s << 8) | s; 5625 unsigned T = ((unsigned)t << 8) | t; 5626 unsigned stk1; 5627 unsigned stk2; 5628 unsigned stk3; 5629 stk3 = D ^ S; 5630 stk3 = ~stk3; 5631 stk2 = T | stk3; 5632 stk1 = S ^ stk2; 5633 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 5634} 5635 5636/* SDTox source/pattern opaque. */ 5637static void rop3_54_0_0 (unsigned char *D, unsigned char S, unsigned char T) 5638{ 5639 unsigned char stk1; 5640 unsigned char stk2; 5641 stk2 = *D | T; 5642 stk1 = S ^ stk2; 5643 *D = stk1; 5644} 5645 5646/* SDTox source opaque/pattern transparent. */ 5647static void rop3_54_0_1 (unsigned char *D, unsigned char S, unsigned char T) 5648{ 5649 unsigned char stk1; 5650 unsigned char stk2; 5651 stk2 = *D | T; 5652 stk1 = S ^ stk2; 5653 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 5654} 5655 5656/* SDTox source transparent/pattern opaque. */ 5657static void rop3_54_1_0 (unsigned char *D, unsigned char S, unsigned char T) 5658{ 5659 unsigned char stk1; 5660 unsigned char stk2; 5661 stk2 = *D | T; 5662 stk1 = S ^ stk2; 5663 *D = (stk1 & (~S)) | (*D & S); 5664} 5665 5666/* SDTox source/pattern transparent. */ 5667static void rop3_54_1_1 (unsigned char *D, unsigned char S, unsigned char T) 5668{ 5669 unsigned char stk1; 5670 unsigned char stk2; 5671 stk2 = *D | T; 5672 stk1 = S ^ stk2; 5673 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 5674} 5675 5676/* SDTox source/pattern opaque. */ 5677static unsigned xrop3_54_0_0 (unsigned char s, unsigned char t) 5678{ 5679 unsigned D = 0x00ff; 5680 unsigned S = ((unsigned)s << 8) | s; 5681 unsigned T = ((unsigned)t << 8) | t; 5682 unsigned stk1; 5683 unsigned stk2; 5684 stk2 = D | T; 5685 stk1 = S ^ stk2; 5686 return stk1; 5687} 5688 5689/* SDTox source opaque/pattern transparent. */ 5690static unsigned xrop3_54_0_1 (unsigned char s, unsigned char t) 5691{ 5692 unsigned D = 0x00ff; 5693 unsigned S = ((unsigned)s << 8) | s; 5694 unsigned T = ((unsigned)t << 8) | t; 5695 unsigned stk1; 5696 unsigned stk2; 5697 stk2 = D | T; 5698 stk1 = S ^ stk2; 5699 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 5700} 5701 5702/* SDTox source transparent/pattern opaque. */ 5703static unsigned xrop3_54_1_0 (unsigned char s, unsigned char t) 5704{ 5705 unsigned D = 0x00ff; 5706 unsigned S = ((unsigned)s << 8) | s; 5707 unsigned T = ((unsigned)t << 8) | t; 5708 unsigned stk1; 5709 unsigned stk2; 5710 stk2 = D | T; 5711 stk1 = S ^ stk2; 5712 return (stk1 & (~S)) | (D & S); 5713} 5714 5715/* SDTox source/pattern transparent. */ 5716static unsigned xrop3_54_1_1 (unsigned char s, unsigned char t) 5717{ 5718 unsigned D = 0x00ff; 5719 unsigned S = ((unsigned)s << 8) | s; 5720 unsigned T = ((unsigned)t << 8) | t; 5721 unsigned stk1; 5722 unsigned stk2; 5723 stk2 = D | T; 5724 stk1 = S ^ stk2; 5725 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 5726} 5727 5728/* SDToan source/pattern opaque. */ 5729static void rop3_55_0_0 (unsigned char *D, unsigned char S, unsigned char T) 5730{ 5731 unsigned char stk1; 5732 unsigned char stk2; 5733 stk2 = *D | T; 5734 stk1 = S & stk2; 5735 stk1 = ~stk1; 5736 *D = stk1; 5737} 5738 5739/* SDToan source opaque/pattern transparent. */ 5740static void rop3_55_0_1 (unsigned char *D, unsigned char S, unsigned char T) 5741{ 5742 unsigned char stk1; 5743 unsigned char stk2; 5744 stk2 = *D | T; 5745 stk1 = S & stk2; 5746 stk1 = ~stk1; 5747 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 5748} 5749 5750/* SDToan source transparent/pattern opaque. */ 5751static void rop3_55_1_0 (unsigned char *D, unsigned char S, unsigned char T) 5752{ 5753 unsigned char stk1; 5754 unsigned char stk2; 5755 stk2 = *D | T; 5756 stk1 = S & stk2; 5757 stk1 = ~stk1; 5758 *D = (stk1 & (~S)) | (*D & S); 5759} 5760 5761/* SDToan source/pattern transparent. */ 5762static void rop3_55_1_1 (unsigned char *D, unsigned char S, unsigned char T) 5763{ 5764 unsigned char stk1; 5765 unsigned char stk2; 5766 stk2 = *D | T; 5767 stk1 = S & stk2; 5768 stk1 = ~stk1; 5769 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 5770} 5771 5772/* SDToan source/pattern opaque. */ 5773static unsigned xrop3_55_0_0 (unsigned char s, unsigned char t) 5774{ 5775 unsigned D = 0x00ff; 5776 unsigned S = ((unsigned)s << 8) | s; 5777 unsigned T = ((unsigned)t << 8) | t; 5778 unsigned stk1; 5779 unsigned stk2; 5780 stk2 = D | T; 5781 stk1 = S & stk2; 5782 stk1 = ~stk1; 5783 return stk1; 5784} 5785 5786/* SDToan source opaque/pattern transparent. */ 5787static unsigned xrop3_55_0_1 (unsigned char s, unsigned char t) 5788{ 5789 unsigned D = 0x00ff; 5790 unsigned S = ((unsigned)s << 8) | s; 5791 unsigned T = ((unsigned)t << 8) | t; 5792 unsigned stk1; 5793 unsigned stk2; 5794 stk2 = D | T; 5795 stk1 = S & stk2; 5796 stk1 = ~stk1; 5797 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 5798} 5799 5800/* SDToan source transparent/pattern opaque. */ 5801static unsigned xrop3_55_1_0 (unsigned char s, unsigned char t) 5802{ 5803 unsigned D = 0x00ff; 5804 unsigned S = ((unsigned)s << 8) | s; 5805 unsigned T = ((unsigned)t << 8) | t; 5806 unsigned stk1; 5807 unsigned stk2; 5808 stk2 = D | T; 5809 stk1 = S & stk2; 5810 stk1 = ~stk1; 5811 return (stk1 & (~S)) | (D & S); 5812} 5813 5814/* SDToan source/pattern transparent. */ 5815static unsigned xrop3_55_1_1 (unsigned char s, unsigned char t) 5816{ 5817 unsigned D = 0x00ff; 5818 unsigned S = ((unsigned)s << 8) | s; 5819 unsigned T = ((unsigned)t << 8) | t; 5820 unsigned stk1; 5821 unsigned stk2; 5822 stk2 = D | T; 5823 stk1 = S & stk2; 5824 stk1 = ~stk1; 5825 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 5826} 5827 5828/* TSDToax source/pattern opaque. */ 5829static void rop3_56_0_0 (unsigned char *D, unsigned char S, unsigned char T) 5830{ 5831 unsigned char stk1; 5832 unsigned char stk2; 5833 unsigned char stk3; 5834 stk3 = *D | T; 5835 stk2 = S & stk3; 5836 stk1 = T ^ stk2; 5837 *D = stk1; 5838} 5839 5840/* TSDToax source opaque/pattern transparent. */ 5841static void rop3_56_0_1 (unsigned char *D, unsigned char S, unsigned char T) 5842{ 5843 unsigned char stk1; 5844 unsigned char stk2; 5845 unsigned char stk3; 5846 stk3 = *D | T; 5847 stk2 = S & stk3; 5848 stk1 = T ^ stk2; 5849 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 5850} 5851 5852/* TSDToax source transparent/pattern opaque. */ 5853static void rop3_56_1_0 (unsigned char *D, unsigned char S, unsigned char T) 5854{ 5855 unsigned char stk1; 5856 unsigned char stk2; 5857 unsigned char stk3; 5858 stk3 = *D | T; 5859 stk2 = S & stk3; 5860 stk1 = T ^ stk2; 5861 *D = (stk1 & (~S)) | (*D & S); 5862} 5863 5864/* TSDToax source/pattern transparent. */ 5865static void rop3_56_1_1 (unsigned char *D, unsigned char S, unsigned char T) 5866{ 5867 unsigned char stk1; 5868 unsigned char stk2; 5869 unsigned char stk3; 5870 stk3 = *D | T; 5871 stk2 = S & stk3; 5872 stk1 = T ^ stk2; 5873 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 5874} 5875 5876/* TSDToax source/pattern opaque. */ 5877static unsigned xrop3_56_0_0 (unsigned char s, unsigned char t) 5878{ 5879 unsigned D = 0x00ff; 5880 unsigned S = ((unsigned)s << 8) | s; 5881 unsigned T = ((unsigned)t << 8) | t; 5882 unsigned stk1; 5883 unsigned stk2; 5884 unsigned stk3; 5885 stk3 = D | T; 5886 stk2 = S & stk3; 5887 stk1 = T ^ stk2; 5888 return stk1; 5889} 5890 5891/* TSDToax source opaque/pattern transparent. */ 5892static unsigned xrop3_56_0_1 (unsigned char s, unsigned char t) 5893{ 5894 unsigned D = 0x00ff; 5895 unsigned S = ((unsigned)s << 8) | s; 5896 unsigned T = ((unsigned)t << 8) | t; 5897 unsigned stk1; 5898 unsigned stk2; 5899 unsigned stk3; 5900 stk3 = D | T; 5901 stk2 = S & stk3; 5902 stk1 = T ^ stk2; 5903 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 5904} 5905 5906/* TSDToax source transparent/pattern opaque. */ 5907static unsigned xrop3_56_1_0 (unsigned char s, unsigned char t) 5908{ 5909 unsigned D = 0x00ff; 5910 unsigned S = ((unsigned)s << 8) | s; 5911 unsigned T = ((unsigned)t << 8) | t; 5912 unsigned stk1; 5913 unsigned stk2; 5914 unsigned stk3; 5915 stk3 = D | T; 5916 stk2 = S & stk3; 5917 stk1 = T ^ stk2; 5918 return (stk1 & (~S)) | (D & S); 5919} 5920 5921/* TSDToax source/pattern transparent. */ 5922static unsigned xrop3_56_1_1 (unsigned char s, unsigned char t) 5923{ 5924 unsigned D = 0x00ff; 5925 unsigned S = ((unsigned)s << 8) | s; 5926 unsigned T = ((unsigned)t << 8) | t; 5927 unsigned stk1; 5928 unsigned stk2; 5929 unsigned stk3; 5930 stk3 = D | T; 5931 stk2 = S & stk3; 5932 stk1 = T ^ stk2; 5933 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 5934} 5935 5936/* STDnox source/pattern opaque. */ 5937static void rop3_57_0_0 (unsigned char *D, unsigned char S, unsigned char T) 5938{ 5939 unsigned char stk1; 5940 unsigned char stk2; 5941 unsigned char stk3; 5942 stk3 = ~*D; 5943 stk2 = T | stk3; 5944 stk1 = S ^ stk2; 5945 *D = stk1; 5946} 5947 5948/* STDnox source opaque/pattern transparent. */ 5949static void rop3_57_0_1 (unsigned char *D, unsigned char S, unsigned char T) 5950{ 5951 unsigned char stk1; 5952 unsigned char stk2; 5953 unsigned char stk3; 5954 stk3 = ~*D; 5955 stk2 = T | stk3; 5956 stk1 = S ^ stk2; 5957 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 5958} 5959 5960/* STDnox source transparent/pattern opaque. */ 5961static void rop3_57_1_0 (unsigned char *D, unsigned char S, unsigned char T) 5962{ 5963 unsigned char stk1; 5964 unsigned char stk2; 5965 unsigned char stk3; 5966 stk3 = ~*D; 5967 stk2 = T | stk3; 5968 stk1 = S ^ stk2; 5969 *D = (stk1 & (~S)) | (*D & S); 5970} 5971 5972/* STDnox source/pattern transparent. */ 5973static void rop3_57_1_1 (unsigned char *D, unsigned char S, unsigned char T) 5974{ 5975 unsigned char stk1; 5976 unsigned char stk2; 5977 unsigned char stk3; 5978 stk3 = ~*D; 5979 stk2 = T | stk3; 5980 stk1 = S ^ stk2; 5981 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 5982} 5983 5984/* STDnox source/pattern opaque. */ 5985static unsigned xrop3_57_0_0 (unsigned char s, unsigned char t) 5986{ 5987 unsigned D = 0x00ff; 5988 unsigned S = ((unsigned)s << 8) | s; 5989 unsigned T = ((unsigned)t << 8) | t; 5990 unsigned stk1; 5991 unsigned stk2; 5992 unsigned stk3; 5993 stk3 = ~D; 5994 stk2 = T | stk3; 5995 stk1 = S ^ stk2; 5996 return stk1; 5997} 5998 5999/* STDnox source opaque/pattern transparent. */ 6000static unsigned xrop3_57_0_1 (unsigned char s, unsigned char t) 6001{ 6002 unsigned D = 0x00ff; 6003 unsigned S = ((unsigned)s << 8) | s; 6004 unsigned T = ((unsigned)t << 8) | t; 6005 unsigned stk1; 6006 unsigned stk2; 6007 unsigned stk3; 6008 stk3 = ~D; 6009 stk2 = T | stk3; 6010 stk1 = S ^ stk2; 6011 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 6012} 6013 6014/* STDnox source transparent/pattern opaque. */ 6015static unsigned xrop3_57_1_0 (unsigned char s, unsigned char t) 6016{ 6017 unsigned D = 0x00ff; 6018 unsigned S = ((unsigned)s << 8) | s; 6019 unsigned T = ((unsigned)t << 8) | t; 6020 unsigned stk1; 6021 unsigned stk2; 6022 unsigned stk3; 6023 stk3 = ~D; 6024 stk2 = T | stk3; 6025 stk1 = S ^ stk2; 6026 return (stk1 & (~S)) | (D & S); 6027} 6028 6029/* STDnox source/pattern transparent. */ 6030static unsigned xrop3_57_1_1 (unsigned char s, unsigned char t) 6031{ 6032 unsigned D = 0x00ff; 6033 unsigned S = ((unsigned)s << 8) | s; 6034 unsigned T = ((unsigned)t << 8) | t; 6035 unsigned stk1; 6036 unsigned stk2; 6037 unsigned stk3; 6038 stk3 = ~D; 6039 stk2 = T | stk3; 6040 stk1 = S ^ stk2; 6041 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 6042} 6043 6044/* STDSxox source/pattern opaque. */ 6045static void rop3_58_0_0 (unsigned char *D, unsigned char S, unsigned char T) 6046{ 6047 unsigned char stk1; 6048 unsigned char stk2; 6049 unsigned char stk3; 6050 stk3 = *D ^ S; 6051 stk2 = T | stk3; 6052 stk1 = S ^ stk2; 6053 *D = stk1; 6054} 6055 6056/* STDSxox source opaque/pattern transparent. */ 6057static void rop3_58_0_1 (unsigned char *D, unsigned char S, unsigned char T) 6058{ 6059 unsigned char stk1; 6060 unsigned char stk2; 6061 unsigned char stk3; 6062 stk3 = *D ^ S; 6063 stk2 = T | stk3; 6064 stk1 = S ^ stk2; 6065 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 6066} 6067 6068/* STDSxox source transparent/pattern opaque. */ 6069static void rop3_58_1_0 (unsigned char *D, unsigned char S, unsigned char T) 6070{ 6071 unsigned char stk1; 6072 unsigned char stk2; 6073 unsigned char stk3; 6074 stk3 = *D ^ S; 6075 stk2 = T | stk3; 6076 stk1 = S ^ stk2; 6077 *D = (stk1 & (~S)) | (*D & S); 6078} 6079 6080/* STDSxox source/pattern transparent. */ 6081static void rop3_58_1_1 (unsigned char *D, unsigned char S, unsigned char T) 6082{ 6083 unsigned char stk1; 6084 unsigned char stk2; 6085 unsigned char stk3; 6086 stk3 = *D ^ S; 6087 stk2 = T | stk3; 6088 stk1 = S ^ stk2; 6089 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 6090} 6091 6092/* STDSxox source/pattern opaque. */ 6093static unsigned xrop3_58_0_0 (unsigned char s, unsigned char t) 6094{ 6095 unsigned D = 0x00ff; 6096 unsigned S = ((unsigned)s << 8) | s; 6097 unsigned T = ((unsigned)t << 8) | t; 6098 unsigned stk1; 6099 unsigned stk2; 6100 unsigned stk3; 6101 stk3 = D ^ S; 6102 stk2 = T | stk3; 6103 stk1 = S ^ stk2; 6104 return stk1; 6105} 6106 6107/* STDSxox source opaque/pattern transparent. */ 6108static unsigned xrop3_58_0_1 (unsigned char s, unsigned char t) 6109{ 6110 unsigned D = 0x00ff; 6111 unsigned S = ((unsigned)s << 8) | s; 6112 unsigned T = ((unsigned)t << 8) | t; 6113 unsigned stk1; 6114 unsigned stk2; 6115 unsigned stk3; 6116 stk3 = D ^ S; 6117 stk2 = T | stk3; 6118 stk1 = S ^ stk2; 6119 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 6120} 6121 6122/* STDSxox source transparent/pattern opaque. */ 6123static unsigned xrop3_58_1_0 (unsigned char s, unsigned char t) 6124{ 6125 unsigned D = 0x00ff; 6126 unsigned S = ((unsigned)s << 8) | s; 6127 unsigned T = ((unsigned)t << 8) | t; 6128 unsigned stk1; 6129 unsigned stk2; 6130 unsigned stk3; 6131 stk3 = D ^ S; 6132 stk2 = T | stk3; 6133 stk1 = S ^ stk2; 6134 return (stk1 & (~S)) | (D & S); 6135} 6136 6137/* STDSxox source/pattern transparent. */ 6138static unsigned xrop3_58_1_1 (unsigned char s, unsigned char t) 6139{ 6140 unsigned D = 0x00ff; 6141 unsigned S = ((unsigned)s << 8) | s; 6142 unsigned T = ((unsigned)t << 8) | t; 6143 unsigned stk1; 6144 unsigned stk2; 6145 unsigned stk3; 6146 stk3 = D ^ S; 6147 stk2 = T | stk3; 6148 stk1 = S ^ stk2; 6149 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 6150} 6151 6152/* STDnoan source/pattern opaque. */ 6153static void rop3_59_0_0 (unsigned char *D, unsigned char S, unsigned char T) 6154{ 6155 unsigned char stk1; 6156 unsigned char stk2; 6157 unsigned char stk3; 6158 stk3 = ~*D; 6159 stk2 = T | stk3; 6160 stk1 = S & stk2; 6161 stk1 = ~stk1; 6162 *D = stk1; 6163} 6164 6165/* STDnoan source opaque/pattern transparent. */ 6166static void rop3_59_0_1 (unsigned char *D, unsigned char S, unsigned char T) 6167{ 6168 unsigned char stk1; 6169 unsigned char stk2; 6170 unsigned char stk3; 6171 stk3 = ~*D; 6172 stk2 = T | stk3; 6173 stk1 = S & stk2; 6174 stk1 = ~stk1; 6175 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 6176} 6177 6178/* STDnoan source transparent/pattern opaque. */ 6179static void rop3_59_1_0 (unsigned char *D, unsigned char S, unsigned char T) 6180{ 6181 unsigned char stk1; 6182 unsigned char stk2; 6183 unsigned char stk3; 6184 stk3 = ~*D; 6185 stk2 = T | stk3; 6186 stk1 = S & stk2; 6187 stk1 = ~stk1; 6188 *D = (stk1 & (~S)) | (*D & S); 6189} 6190 6191/* STDnoan source/pattern transparent. */ 6192static void rop3_59_1_1 (unsigned char *D, unsigned char S, unsigned char T) 6193{ 6194 unsigned char stk1; 6195 unsigned char stk2; 6196 unsigned char stk3; 6197 stk3 = ~*D; 6198 stk2 = T | stk3; 6199 stk1 = S & stk2; 6200 stk1 = ~stk1; 6201 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 6202} 6203 6204/* STDnoan source/pattern opaque. */ 6205static unsigned xrop3_59_0_0 (unsigned char s, unsigned char t) 6206{ 6207 unsigned D = 0x00ff; 6208 unsigned S = ((unsigned)s << 8) | s; 6209 unsigned T = ((unsigned)t << 8) | t; 6210 unsigned stk1; 6211 unsigned stk2; 6212 unsigned stk3; 6213 stk3 = ~D; 6214 stk2 = T | stk3; 6215 stk1 = S & stk2; 6216 stk1 = ~stk1; 6217 return stk1; 6218} 6219 6220/* STDnoan source opaque/pattern transparent. */ 6221static unsigned xrop3_59_0_1 (unsigned char s, unsigned char t) 6222{ 6223 unsigned D = 0x00ff; 6224 unsigned S = ((unsigned)s << 8) | s; 6225 unsigned T = ((unsigned)t << 8) | t; 6226 unsigned stk1; 6227 unsigned stk2; 6228 unsigned stk3; 6229 stk3 = ~D; 6230 stk2 = T | stk3; 6231 stk1 = S & stk2; 6232 stk1 = ~stk1; 6233 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 6234} 6235 6236/* STDnoan source transparent/pattern opaque. */ 6237static unsigned xrop3_59_1_0 (unsigned char s, unsigned char t) 6238{ 6239 unsigned D = 0x00ff; 6240 unsigned S = ((unsigned)s << 8) | s; 6241 unsigned T = ((unsigned)t << 8) | t; 6242 unsigned stk1; 6243 unsigned stk2; 6244 unsigned stk3; 6245 stk3 = ~D; 6246 stk2 = T | stk3; 6247 stk1 = S & stk2; 6248 stk1 = ~stk1; 6249 return (stk1 & (~S)) | (D & S); 6250} 6251 6252/* STDnoan source/pattern transparent. */ 6253static unsigned xrop3_59_1_1 (unsigned char s, unsigned char t) 6254{ 6255 unsigned D = 0x00ff; 6256 unsigned S = ((unsigned)s << 8) | s; 6257 unsigned T = ((unsigned)t << 8) | t; 6258 unsigned stk1; 6259 unsigned stk2; 6260 unsigned stk3; 6261 stk3 = ~D; 6262 stk2 = T | stk3; 6263 stk1 = S & stk2; 6264 stk1 = ~stk1; 6265 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 6266} 6267 6268/* TSx source/pattern opaque. */ 6269static void rop3_60_0_0 (unsigned char *D, unsigned char S, unsigned char T) 6270{ 6271 unsigned char stk1; 6272 stk1 = T ^ S; 6273 *D = stk1; 6274} 6275 6276/* TSx source opaque/pattern transparent. */ 6277static void rop3_60_0_1 (unsigned char *D, unsigned char S, unsigned char T) 6278{ 6279 unsigned char stk1; 6280 stk1 = T ^ S; 6281 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 6282} 6283 6284/* TSx source transparent/pattern opaque. */ 6285static void rop3_60_1_0 (unsigned char *D, unsigned char S, unsigned char T) 6286{ 6287 unsigned char stk1; 6288 stk1 = T ^ S; 6289 *D = (stk1 & (~S)) | (*D & S); 6290} 6291 6292/* TSx source/pattern transparent. */ 6293static void rop3_60_1_1 (unsigned char *D, unsigned char S, unsigned char T) 6294{ 6295 unsigned char stk1; 6296 stk1 = T ^ S; 6297 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 6298} 6299 6300/* TSx source/pattern opaque. */ 6301static unsigned xrop3_60_0_0 (unsigned char s, unsigned char t) 6302{ 6303 unsigned S = ((unsigned)s << 8) | s; 6304 unsigned T = ((unsigned)t << 8) | t; 6305 unsigned stk1; 6306 stk1 = T ^ S; 6307 return stk1; 6308} 6309 6310/* TSx source opaque/pattern transparent. */ 6311static unsigned xrop3_60_0_1 (unsigned char s, unsigned char t) 6312{ 6313 unsigned D = 0x00ff; 6314 unsigned S = ((unsigned)s << 8) | s; 6315 unsigned T = ((unsigned)t << 8) | t; 6316 unsigned stk1; 6317 stk1 = T ^ S; 6318 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 6319} 6320 6321/* TSx source transparent/pattern opaque. */ 6322static unsigned xrop3_60_1_0 (unsigned char s, unsigned char t) 6323{ 6324 unsigned D = 0x00ff; 6325 unsigned S = ((unsigned)s << 8) | s; 6326 unsigned T = ((unsigned)t << 8) | t; 6327 unsigned stk1; 6328 stk1 = T ^ S; 6329 return (stk1 & (~S)) | (D & S); 6330} 6331 6332/* TSx source/pattern transparent. */ 6333static unsigned xrop3_60_1_1 (unsigned char s, unsigned char t) 6334{ 6335 unsigned D = 0x00ff; 6336 unsigned S = ((unsigned)s << 8) | s; 6337 unsigned T = ((unsigned)t << 8) | t; 6338 unsigned stk1; 6339 stk1 = T ^ S; 6340 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 6341} 6342 6343/* STDSonox source/pattern opaque. */ 6344static void rop3_61_0_0 (unsigned char *D, unsigned char S, unsigned char T) 6345{ 6346 unsigned char stk1; 6347 unsigned char stk2; 6348 unsigned char stk3; 6349 stk3 = *D | S; 6350 stk3 = ~stk3; 6351 stk2 = T | stk3; 6352 stk1 = S ^ stk2; 6353 *D = stk1; 6354} 6355 6356/* STDSonox source opaque/pattern transparent. */ 6357static void rop3_61_0_1 (unsigned char *D, unsigned char S, unsigned char T) 6358{ 6359 unsigned char stk1; 6360 unsigned char stk2; 6361 unsigned char stk3; 6362 stk3 = *D | S; 6363 stk3 = ~stk3; 6364 stk2 = T | stk3; 6365 stk1 = S ^ stk2; 6366 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 6367} 6368 6369/* STDSonox source transparent/pattern opaque. */ 6370static void rop3_61_1_0 (unsigned char *D, unsigned char S, unsigned char T) 6371{ 6372 unsigned char stk1; 6373 unsigned char stk2; 6374 unsigned char stk3; 6375 stk3 = *D | S; 6376 stk3 = ~stk3; 6377 stk2 = T | stk3; 6378 stk1 = S ^ stk2; 6379 *D = (stk1 & (~S)) | (*D & S); 6380} 6381 6382/* STDSonox source/pattern transparent. */ 6383static void rop3_61_1_1 (unsigned char *D, unsigned char S, unsigned char T) 6384{ 6385 unsigned char stk1; 6386 unsigned char stk2; 6387 unsigned char stk3; 6388 stk3 = *D | S; 6389 stk3 = ~stk3; 6390 stk2 = T | stk3; 6391 stk1 = S ^ stk2; 6392 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 6393} 6394 6395/* STDSonox source/pattern opaque. */ 6396static unsigned xrop3_61_0_0 (unsigned char s, unsigned char t) 6397{ 6398 unsigned D = 0x00ff; 6399 unsigned S = ((unsigned)s << 8) | s; 6400 unsigned T = ((unsigned)t << 8) | t; 6401 unsigned stk1; 6402 unsigned stk2; 6403 unsigned stk3; 6404 stk3 = D | S; 6405 stk3 = ~stk3; 6406 stk2 = T | stk3; 6407 stk1 = S ^ stk2; 6408 return stk1; 6409} 6410 6411/* STDSonox source opaque/pattern transparent. */ 6412static unsigned xrop3_61_0_1 (unsigned char s, unsigned char t) 6413{ 6414 unsigned D = 0x00ff; 6415 unsigned S = ((unsigned)s << 8) | s; 6416 unsigned T = ((unsigned)t << 8) | t; 6417 unsigned stk1; 6418 unsigned stk2; 6419 unsigned stk3; 6420 stk3 = D | S; 6421 stk3 = ~stk3; 6422 stk2 = T | stk3; 6423 stk1 = S ^ stk2; 6424 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 6425} 6426 6427/* STDSonox source transparent/pattern opaque. */ 6428static unsigned xrop3_61_1_0 (unsigned char s, unsigned char t) 6429{ 6430 unsigned D = 0x00ff; 6431 unsigned S = ((unsigned)s << 8) | s; 6432 unsigned T = ((unsigned)t << 8) | t; 6433 unsigned stk1; 6434 unsigned stk2; 6435 unsigned stk3; 6436 stk3 = D | S; 6437 stk3 = ~stk3; 6438 stk2 = T | stk3; 6439 stk1 = S ^ stk2; 6440 return (stk1 & (~S)) | (D & S); 6441} 6442 6443/* STDSonox source/pattern transparent. */ 6444static unsigned xrop3_61_1_1 (unsigned char s, unsigned char t) 6445{ 6446 unsigned D = 0x00ff; 6447 unsigned S = ((unsigned)s << 8) | s; 6448 unsigned T = ((unsigned)t << 8) | t; 6449 unsigned stk1; 6450 unsigned stk2; 6451 unsigned stk3; 6452 stk3 = D | S; 6453 stk3 = ~stk3; 6454 stk2 = T | stk3; 6455 stk1 = S ^ stk2; 6456 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 6457} 6458 6459/* STDSnaox source/pattern opaque. */ 6460static void rop3_62_0_0 (unsigned char *D, unsigned char S, unsigned char T) 6461{ 6462 unsigned char stk1; 6463 unsigned char stk2; 6464 unsigned char stk3; 6465 unsigned char stk4; 6466 stk4 = ~S; 6467 stk3 = *D & stk4; 6468 stk2 = T | stk3; 6469 stk1 = S ^ stk2; 6470 *D = stk1; 6471} 6472 6473/* STDSnaox source opaque/pattern transparent. */ 6474static void rop3_62_0_1 (unsigned char *D, unsigned char S, unsigned char T) 6475{ 6476 unsigned char stk1; 6477 unsigned char stk2; 6478 unsigned char stk3; 6479 unsigned char stk4; 6480 stk4 = ~S; 6481 stk3 = *D & stk4; 6482 stk2 = T | stk3; 6483 stk1 = S ^ stk2; 6484 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 6485} 6486 6487/* STDSnaox source transparent/pattern opaque. */ 6488static void rop3_62_1_0 (unsigned char *D, unsigned char S, unsigned char T) 6489{ 6490 unsigned char stk1; 6491 unsigned char stk2; 6492 unsigned char stk3; 6493 unsigned char stk4; 6494 stk4 = ~S; 6495 stk3 = *D & stk4; 6496 stk2 = T | stk3; 6497 stk1 = S ^ stk2; 6498 *D = (stk1 & (~S)) | (*D & S); 6499} 6500 6501/* STDSnaox source/pattern transparent. */ 6502static void rop3_62_1_1 (unsigned char *D, unsigned char S, unsigned char T) 6503{ 6504 unsigned char stk1; 6505 unsigned char stk2; 6506 unsigned char stk3; 6507 unsigned char stk4; 6508 stk4 = ~S; 6509 stk3 = *D & stk4; 6510 stk2 = T | stk3; 6511 stk1 = S ^ stk2; 6512 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 6513} 6514 6515/* STDSnaox source/pattern opaque. */ 6516static unsigned xrop3_62_0_0 (unsigned char s, unsigned char t) 6517{ 6518 unsigned D = 0x00ff; 6519 unsigned S = ((unsigned)s << 8) | s; 6520 unsigned T = ((unsigned)t << 8) | t; 6521 unsigned stk1; 6522 unsigned stk2; 6523 unsigned stk3; 6524 unsigned stk4; 6525 stk4 = ~S; 6526 stk3 = D & stk4; 6527 stk2 = T | stk3; 6528 stk1 = S ^ stk2; 6529 return stk1; 6530} 6531 6532/* STDSnaox source opaque/pattern transparent. */ 6533static unsigned xrop3_62_0_1 (unsigned char s, unsigned char t) 6534{ 6535 unsigned D = 0x00ff; 6536 unsigned S = ((unsigned)s << 8) | s; 6537 unsigned T = ((unsigned)t << 8) | t; 6538 unsigned stk1; 6539 unsigned stk2; 6540 unsigned stk3; 6541 unsigned stk4; 6542 stk4 = ~S; 6543 stk3 = D & stk4; 6544 stk2 = T | stk3; 6545 stk1 = S ^ stk2; 6546 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 6547} 6548 6549/* STDSnaox source transparent/pattern opaque. */ 6550static unsigned xrop3_62_1_0 (unsigned char s, unsigned char t) 6551{ 6552 unsigned D = 0x00ff; 6553 unsigned S = ((unsigned)s << 8) | s; 6554 unsigned T = ((unsigned)t << 8) | t; 6555 unsigned stk1; 6556 unsigned stk2; 6557 unsigned stk3; 6558 unsigned stk4; 6559 stk4 = ~S; 6560 stk3 = D & stk4; 6561 stk2 = T | stk3; 6562 stk1 = S ^ stk2; 6563 return (stk1 & (~S)) | (D & S); 6564} 6565 6566/* STDSnaox source/pattern transparent. */ 6567static unsigned xrop3_62_1_1 (unsigned char s, unsigned char t) 6568{ 6569 unsigned D = 0x00ff; 6570 unsigned S = ((unsigned)s << 8) | s; 6571 unsigned T = ((unsigned)t << 8) | t; 6572 unsigned stk1; 6573 unsigned stk2; 6574 unsigned stk3; 6575 unsigned stk4; 6576 stk4 = ~S; 6577 stk3 = D & stk4; 6578 stk2 = T | stk3; 6579 stk1 = S ^ stk2; 6580 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 6581} 6582 6583/* TSan source/pattern opaque. */ 6584static void rop3_63_0_0 (unsigned char *D, unsigned char S, unsigned char T) 6585{ 6586 unsigned char stk1; 6587 stk1 = T & S; 6588 stk1 = ~stk1; 6589 *D = stk1; 6590} 6591 6592/* TSan source opaque/pattern transparent. */ 6593static void rop3_63_0_1 (unsigned char *D, unsigned char S, unsigned char T) 6594{ 6595 unsigned char stk1; 6596 stk1 = T & S; 6597 stk1 = ~stk1; 6598 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 6599} 6600 6601/* TSan source transparent/pattern opaque. */ 6602static void rop3_63_1_0 (unsigned char *D, unsigned char S, unsigned char T) 6603{ 6604 unsigned char stk1; 6605 stk1 = T & S; 6606 stk1 = ~stk1; 6607 *D = (stk1 & (~S)) | (*D & S); 6608} 6609 6610/* TSan source/pattern transparent. */ 6611static void rop3_63_1_1 (unsigned char *D, unsigned char S, unsigned char T) 6612{ 6613 unsigned char stk1; 6614 stk1 = T & S; 6615 stk1 = ~stk1; 6616 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 6617} 6618 6619/* TSan source/pattern opaque. */ 6620static unsigned xrop3_63_0_0 (unsigned char s, unsigned char t) 6621{ 6622 unsigned S = ((unsigned)s << 8) | s; 6623 unsigned T = ((unsigned)t << 8) | t; 6624 unsigned stk1; 6625 stk1 = T & S; 6626 stk1 = ~stk1; 6627 return stk1; 6628} 6629 6630/* TSan source opaque/pattern transparent. */ 6631static unsigned xrop3_63_0_1 (unsigned char s, unsigned char t) 6632{ 6633 unsigned D = 0x00ff; 6634 unsigned S = ((unsigned)s << 8) | s; 6635 unsigned T = ((unsigned)t << 8) | t; 6636 unsigned stk1; 6637 stk1 = T & S; 6638 stk1 = ~stk1; 6639 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 6640} 6641 6642/* TSan source transparent/pattern opaque. */ 6643static unsigned xrop3_63_1_0 (unsigned char s, unsigned char t) 6644{ 6645 unsigned D = 0x00ff; 6646 unsigned S = ((unsigned)s << 8) | s; 6647 unsigned T = ((unsigned)t << 8) | t; 6648 unsigned stk1; 6649 stk1 = T & S; 6650 stk1 = ~stk1; 6651 return (stk1 & (~S)) | (D & S); 6652} 6653 6654/* TSan source/pattern transparent. */ 6655static unsigned xrop3_63_1_1 (unsigned char s, unsigned char t) 6656{ 6657 unsigned D = 0x00ff; 6658 unsigned S = ((unsigned)s << 8) | s; 6659 unsigned T = ((unsigned)t << 8) | t; 6660 unsigned stk1; 6661 stk1 = T & S; 6662 stk1 = ~stk1; 6663 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 6664} 6665 6666/* TSDnaa source/pattern opaque. */ 6667static void rop3_64_0_0 (unsigned char *D, unsigned char S, unsigned char T) 6668{ 6669 unsigned char stk1; 6670 unsigned char stk2; 6671 unsigned char stk3; 6672 stk3 = ~*D; 6673 stk2 = S & stk3; 6674 stk1 = T & stk2; 6675 *D = stk1; 6676} 6677 6678/* TSDnaa source opaque/pattern transparent. */ 6679static void rop3_64_0_1 (unsigned char *D, unsigned char S, unsigned char T) 6680{ 6681 unsigned char stk1; 6682 unsigned char stk2; 6683 unsigned char stk3; 6684 stk3 = ~*D; 6685 stk2 = S & stk3; 6686 stk1 = T & stk2; 6687 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 6688} 6689 6690/* TSDnaa source transparent/pattern opaque. */ 6691static void rop3_64_1_0 (unsigned char *D, unsigned char S, unsigned char T) 6692{ 6693 unsigned char stk1; 6694 unsigned char stk2; 6695 unsigned char stk3; 6696 stk3 = ~*D; 6697 stk2 = S & stk3; 6698 stk1 = T & stk2; 6699 *D = (stk1 & (~S)) | (*D & S); 6700} 6701 6702/* TSDnaa source/pattern transparent. */ 6703static void rop3_64_1_1 (unsigned char *D, unsigned char S, unsigned char T) 6704{ 6705 unsigned char stk1; 6706 unsigned char stk2; 6707 unsigned char stk3; 6708 stk3 = ~*D; 6709 stk2 = S & stk3; 6710 stk1 = T & stk2; 6711 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 6712} 6713 6714/* TSDnaa source/pattern opaque. */ 6715static unsigned xrop3_64_0_0 (unsigned char s, unsigned char t) 6716{ 6717 unsigned D = 0x00ff; 6718 unsigned S = ((unsigned)s << 8) | s; 6719 unsigned T = ((unsigned)t << 8) | t; 6720 unsigned stk1; 6721 unsigned stk2; 6722 unsigned stk3; 6723 stk3 = ~D; 6724 stk2 = S & stk3; 6725 stk1 = T & stk2; 6726 return stk1; 6727} 6728 6729/* TSDnaa source opaque/pattern transparent. */ 6730static unsigned xrop3_64_0_1 (unsigned char s, unsigned char t) 6731{ 6732 unsigned D = 0x00ff; 6733 unsigned S = ((unsigned)s << 8) | s; 6734 unsigned T = ((unsigned)t << 8) | t; 6735 unsigned stk1; 6736 unsigned stk2; 6737 unsigned stk3; 6738 stk3 = ~D; 6739 stk2 = S & stk3; 6740 stk1 = T & stk2; 6741 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 6742} 6743 6744/* TSDnaa source transparent/pattern opaque. */ 6745static unsigned xrop3_64_1_0 (unsigned char s, unsigned char t) 6746{ 6747 unsigned D = 0x00ff; 6748 unsigned S = ((unsigned)s << 8) | s; 6749 unsigned T = ((unsigned)t << 8) | t; 6750 unsigned stk1; 6751 unsigned stk2; 6752 unsigned stk3; 6753 stk3 = ~D; 6754 stk2 = S & stk3; 6755 stk1 = T & stk2; 6756 return (stk1 & (~S)) | (D & S); 6757} 6758 6759/* TSDnaa source/pattern transparent. */ 6760static unsigned xrop3_64_1_1 (unsigned char s, unsigned char t) 6761{ 6762 unsigned D = 0x00ff; 6763 unsigned S = ((unsigned)s << 8) | s; 6764 unsigned T = ((unsigned)t << 8) | t; 6765 unsigned stk1; 6766 unsigned stk2; 6767 unsigned stk3; 6768 stk3 = ~D; 6769 stk2 = S & stk3; 6770 stk1 = T & stk2; 6771 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 6772} 6773 6774/* DTSxon source/pattern opaque. */ 6775static void rop3_65_0_0 (unsigned char *D, unsigned char S, unsigned char T) 6776{ 6777 unsigned char stk1; 6778 unsigned char stk2; 6779 stk2 = T ^ S; 6780 stk1 = *D | stk2; 6781 stk1 = ~stk1; 6782 *D = stk1; 6783} 6784 6785/* DTSxon source opaque/pattern transparent. */ 6786static void rop3_65_0_1 (unsigned char *D, unsigned char S, unsigned char T) 6787{ 6788 unsigned char stk1; 6789 unsigned char stk2; 6790 stk2 = T ^ S; 6791 stk1 = *D | stk2; 6792 stk1 = ~stk1; 6793 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 6794} 6795 6796/* DTSxon source transparent/pattern opaque. */ 6797static void rop3_65_1_0 (unsigned char *D, unsigned char S, unsigned char T) 6798{ 6799 unsigned char stk1; 6800 unsigned char stk2; 6801 stk2 = T ^ S; 6802 stk1 = *D | stk2; 6803 stk1 = ~stk1; 6804 *D = (stk1 & (~S)) | (*D & S); 6805} 6806 6807/* DTSxon source/pattern transparent. */ 6808static void rop3_65_1_1 (unsigned char *D, unsigned char S, unsigned char T) 6809{ 6810 unsigned char stk1; 6811 unsigned char stk2; 6812 stk2 = T ^ S; 6813 stk1 = *D | stk2; 6814 stk1 = ~stk1; 6815 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 6816} 6817 6818/* DTSxon source/pattern opaque. */ 6819static unsigned xrop3_65_0_0 (unsigned char s, unsigned char t) 6820{ 6821 unsigned D = 0x00ff; 6822 unsigned S = ((unsigned)s << 8) | s; 6823 unsigned T = ((unsigned)t << 8) | t; 6824 unsigned stk1; 6825 unsigned stk2; 6826 stk2 = T ^ S; 6827 stk1 = D | stk2; 6828 stk1 = ~stk1; 6829 return stk1; 6830} 6831 6832/* DTSxon source opaque/pattern transparent. */ 6833static unsigned xrop3_65_0_1 (unsigned char s, unsigned char t) 6834{ 6835 unsigned D = 0x00ff; 6836 unsigned S = ((unsigned)s << 8) | s; 6837 unsigned T = ((unsigned)t << 8) | t; 6838 unsigned stk1; 6839 unsigned stk2; 6840 stk2 = T ^ S; 6841 stk1 = D | stk2; 6842 stk1 = ~stk1; 6843 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 6844} 6845 6846/* DTSxon source transparent/pattern opaque. */ 6847static unsigned xrop3_65_1_0 (unsigned char s, unsigned char t) 6848{ 6849 unsigned D = 0x00ff; 6850 unsigned S = ((unsigned)s << 8) | s; 6851 unsigned T = ((unsigned)t << 8) | t; 6852 unsigned stk1; 6853 unsigned stk2; 6854 stk2 = T ^ S; 6855 stk1 = D | stk2; 6856 stk1 = ~stk1; 6857 return (stk1 & (~S)) | (D & S); 6858} 6859 6860/* DTSxon source/pattern transparent. */ 6861static unsigned xrop3_65_1_1 (unsigned char s, unsigned char t) 6862{ 6863 unsigned D = 0x00ff; 6864 unsigned S = ((unsigned)s << 8) | s; 6865 unsigned T = ((unsigned)t << 8) | t; 6866 unsigned stk1; 6867 unsigned stk2; 6868 stk2 = T ^ S; 6869 stk1 = D | stk2; 6870 stk1 = ~stk1; 6871 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 6872} 6873 6874/* SDxTDxa source/pattern opaque. */ 6875static void rop3_66_0_0 (unsigned char *D, unsigned char S, unsigned char T) 6876{ 6877 unsigned char stk1; 6878 unsigned char stk2; 6879 stk1 = S ^ *D; 6880 stk2 = T ^ *D; 6881 stk1 = stk1 & stk2; 6882 *D = stk1; 6883} 6884 6885/* SDxTDxa source opaque/pattern transparent. */ 6886static void rop3_66_0_1 (unsigned char *D, unsigned char S, unsigned char T) 6887{ 6888 unsigned char stk1; 6889 unsigned char stk2; 6890 stk1 = S ^ *D; 6891 stk2 = T ^ *D; 6892 stk1 = stk1 & stk2; 6893 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 6894} 6895 6896/* SDxTDxa source transparent/pattern opaque. */ 6897static void rop3_66_1_0 (unsigned char *D, unsigned char S, unsigned char T) 6898{ 6899 unsigned char stk1; 6900 unsigned char stk2; 6901 stk1 = S ^ *D; 6902 stk2 = T ^ *D; 6903 stk1 = stk1 & stk2; 6904 *D = (stk1 & (~S)) | (*D & S); 6905} 6906 6907/* SDxTDxa source/pattern transparent. */ 6908static void rop3_66_1_1 (unsigned char *D, unsigned char S, unsigned char T) 6909{ 6910 unsigned char stk1; 6911 unsigned char stk2; 6912 stk1 = S ^ *D; 6913 stk2 = T ^ *D; 6914 stk1 = stk1 & stk2; 6915 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 6916} 6917 6918/* SDxTDxa source/pattern opaque. */ 6919static unsigned xrop3_66_0_0 (unsigned char s, unsigned char t) 6920{ 6921 unsigned D = 0x00ff; 6922 unsigned S = ((unsigned)s << 8) | s; 6923 unsigned T = ((unsigned)t << 8) | t; 6924 unsigned stk1; 6925 unsigned stk2; 6926 stk1 = S ^ D; 6927 stk2 = T ^ D; 6928 stk1 = stk1 & stk2; 6929 return stk1; 6930} 6931 6932/* SDxTDxa source opaque/pattern transparent. */ 6933static unsigned xrop3_66_0_1 (unsigned char s, unsigned char t) 6934{ 6935 unsigned D = 0x00ff; 6936 unsigned S = ((unsigned)s << 8) | s; 6937 unsigned T = ((unsigned)t << 8) | t; 6938 unsigned stk1; 6939 unsigned stk2; 6940 stk1 = S ^ D; 6941 stk2 = T ^ D; 6942 stk1 = stk1 & stk2; 6943 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 6944} 6945 6946/* SDxTDxa source transparent/pattern opaque. */ 6947static unsigned xrop3_66_1_0 (unsigned char s, unsigned char t) 6948{ 6949 unsigned D = 0x00ff; 6950 unsigned S = ((unsigned)s << 8) | s; 6951 unsigned T = ((unsigned)t << 8) | t; 6952 unsigned stk1; 6953 unsigned stk2; 6954 stk1 = S ^ D; 6955 stk2 = T ^ D; 6956 stk1 = stk1 & stk2; 6957 return (stk1 & (~S)) | (D & S); 6958} 6959 6960/* SDxTDxa source/pattern transparent. */ 6961static unsigned xrop3_66_1_1 (unsigned char s, unsigned char t) 6962{ 6963 unsigned D = 0x00ff; 6964 unsigned S = ((unsigned)s << 8) | s; 6965 unsigned T = ((unsigned)t << 8) | t; 6966 unsigned stk1; 6967 unsigned stk2; 6968 stk1 = S ^ D; 6969 stk2 = T ^ D; 6970 stk1 = stk1 & stk2; 6971 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 6972} 6973 6974/* STDSanaxn source/pattern opaque. */ 6975static void rop3_67_0_0 (unsigned char *D, unsigned char S, unsigned char T) 6976{ 6977 unsigned char stk1; 6978 unsigned char stk2; 6979 unsigned char stk3; 6980 stk3 = *D & S; 6981 stk3 = ~stk3; 6982 stk2 = T & stk3; 6983 stk1 = S ^ stk2; 6984 stk1 = ~stk1; 6985 *D = stk1; 6986} 6987 6988/* STDSanaxn source opaque/pattern transparent. */ 6989static void rop3_67_0_1 (unsigned char *D, unsigned char S, unsigned char T) 6990{ 6991 unsigned char stk1; 6992 unsigned char stk2; 6993 unsigned char stk3; 6994 stk3 = *D & S; 6995 stk3 = ~stk3; 6996 stk2 = T & stk3; 6997 stk1 = S ^ stk2; 6998 stk1 = ~stk1; 6999 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 7000} 7001 7002/* STDSanaxn source transparent/pattern opaque. */ 7003static void rop3_67_1_0 (unsigned char *D, unsigned char S, unsigned char T) 7004{ 7005 unsigned char stk1; 7006 unsigned char stk2; 7007 unsigned char stk3; 7008 stk3 = *D & S; 7009 stk3 = ~stk3; 7010 stk2 = T & stk3; 7011 stk1 = S ^ stk2; 7012 stk1 = ~stk1; 7013 *D = (stk1 & (~S)) | (*D & S); 7014} 7015 7016/* STDSanaxn source/pattern transparent. */ 7017static void rop3_67_1_1 (unsigned char *D, unsigned char S, unsigned char T) 7018{ 7019 unsigned char stk1; 7020 unsigned char stk2; 7021 unsigned char stk3; 7022 stk3 = *D & S; 7023 stk3 = ~stk3; 7024 stk2 = T & stk3; 7025 stk1 = S ^ stk2; 7026 stk1 = ~stk1; 7027 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 7028} 7029 7030/* STDSanaxn source/pattern opaque. */ 7031static unsigned xrop3_67_0_0 (unsigned char s, unsigned char t) 7032{ 7033 unsigned D = 0x00ff; 7034 unsigned S = ((unsigned)s << 8) | s; 7035 unsigned T = ((unsigned)t << 8) | t; 7036 unsigned stk1; 7037 unsigned stk2; 7038 unsigned stk3; 7039 stk3 = D & S; 7040 stk3 = ~stk3; 7041 stk2 = T & stk3; 7042 stk1 = S ^ stk2; 7043 stk1 = ~stk1; 7044 return stk1; 7045} 7046 7047/* STDSanaxn source opaque/pattern transparent. */ 7048static unsigned xrop3_67_0_1 (unsigned char s, unsigned char t) 7049{ 7050 unsigned D = 0x00ff; 7051 unsigned S = ((unsigned)s << 8) | s; 7052 unsigned T = ((unsigned)t << 8) | t; 7053 unsigned stk1; 7054 unsigned stk2; 7055 unsigned stk3; 7056 stk3 = D & S; 7057 stk3 = ~stk3; 7058 stk2 = T & stk3; 7059 stk1 = S ^ stk2; 7060 stk1 = ~stk1; 7061 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 7062} 7063 7064/* STDSanaxn source transparent/pattern opaque. */ 7065static unsigned xrop3_67_1_0 (unsigned char s, unsigned char t) 7066{ 7067 unsigned D = 0x00ff; 7068 unsigned S = ((unsigned)s << 8) | s; 7069 unsigned T = ((unsigned)t << 8) | t; 7070 unsigned stk1; 7071 unsigned stk2; 7072 unsigned stk3; 7073 stk3 = D & S; 7074 stk3 = ~stk3; 7075 stk2 = T & stk3; 7076 stk1 = S ^ stk2; 7077 stk1 = ~stk1; 7078 return (stk1 & (~S)) | (D & S); 7079} 7080 7081/* STDSanaxn source/pattern transparent. */ 7082static unsigned xrop3_67_1_1 (unsigned char s, unsigned char t) 7083{ 7084 unsigned D = 0x00ff; 7085 unsigned S = ((unsigned)s << 8) | s; 7086 unsigned T = ((unsigned)t << 8) | t; 7087 unsigned stk1; 7088 unsigned stk2; 7089 unsigned stk3; 7090 stk3 = D & S; 7091 stk3 = ~stk3; 7092 stk2 = T & stk3; 7093 stk1 = S ^ stk2; 7094 stk1 = ~stk1; 7095 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 7096} 7097 7098/* SDna source/pattern opaque. */ 7099static void rop3_68_0_0 (unsigned char *D, unsigned char S, unsigned char T) 7100{ 7101 unsigned char stk1; 7102 unsigned char stk2; 7103 stk2 = ~*D; 7104 stk1 = S & stk2; 7105 *D = stk1; 7106} 7107 7108/* SDna source opaque/pattern transparent. */ 7109static void rop3_68_0_1 (unsigned char *D, unsigned char S, unsigned char T) 7110{ 7111 unsigned char stk1; 7112 unsigned char stk2; 7113 stk2 = ~*D; 7114 stk1 = S & stk2; 7115 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 7116} 7117 7118/* SDna source transparent/pattern opaque. */ 7119static void rop3_68_1_0 (unsigned char *D, unsigned char S, unsigned char T) 7120{ 7121 unsigned char stk1; 7122 unsigned char stk2; 7123 stk2 = ~*D; 7124 stk1 = S & stk2; 7125 *D = (stk1 & (~S)) | (*D & S); 7126} 7127 7128/* SDna source/pattern transparent. */ 7129static void rop3_68_1_1 (unsigned char *D, unsigned char S, unsigned char T) 7130{ 7131 unsigned char stk1; 7132 unsigned char stk2; 7133 stk2 = ~*D; 7134 stk1 = S & stk2; 7135 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 7136} 7137 7138/* SDna source/pattern opaque. */ 7139static unsigned xrop3_68_0_0 (unsigned char s, unsigned char t) 7140{ 7141 unsigned D = 0x00ff; 7142 unsigned S = ((unsigned)s << 8) | s; 7143 unsigned stk1; 7144 unsigned stk2; 7145 stk2 = ~D; 7146 stk1 = S & stk2; 7147 return stk1; 7148} 7149 7150/* SDna source opaque/pattern transparent. */ 7151static unsigned xrop3_68_0_1 (unsigned char s, unsigned char t) 7152{ 7153 unsigned D = 0x00ff; 7154 unsigned S = ((unsigned)s << 8) | s; 7155 unsigned T = ((unsigned)t << 8) | t; 7156 unsigned stk1; 7157 unsigned stk2; 7158 stk2 = ~D; 7159 stk1 = S & stk2; 7160 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 7161} 7162 7163/* SDna source transparent/pattern opaque. */ 7164static unsigned xrop3_68_1_0 (unsigned char s, unsigned char t) 7165{ 7166 unsigned D = 0x00ff; 7167 unsigned S = ((unsigned)s << 8) | s; 7168 unsigned stk1; 7169 unsigned stk2; 7170 stk2 = ~D; 7171 stk1 = S & stk2; 7172 return (stk1 & (~S)) | (D & S); 7173} 7174 7175/* SDna source/pattern transparent. */ 7176static unsigned xrop3_68_1_1 (unsigned char s, unsigned char t) 7177{ 7178 unsigned D = 0x00ff; 7179 unsigned S = ((unsigned)s << 8) | s; 7180 unsigned T = ((unsigned)t << 8) | t; 7181 unsigned stk1; 7182 unsigned stk2; 7183 stk2 = ~D; 7184 stk1 = S & stk2; 7185 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 7186} 7187 7188/* DTSnaon source/pattern opaque. */ 7189static void rop3_69_0_0 (unsigned char *D, unsigned char S, unsigned char T) 7190{ 7191 unsigned char stk1; 7192 unsigned char stk2; 7193 unsigned char stk3; 7194 stk3 = ~S; 7195 stk2 = T & stk3; 7196 stk1 = *D | stk2; 7197 stk1 = ~stk1; 7198 *D = stk1; 7199} 7200 7201/* DTSnaon source opaque/pattern transparent. */ 7202static void rop3_69_0_1 (unsigned char *D, unsigned char S, unsigned char T) 7203{ 7204 unsigned char stk1; 7205 unsigned char stk2; 7206 unsigned char stk3; 7207 stk3 = ~S; 7208 stk2 = T & stk3; 7209 stk1 = *D | stk2; 7210 stk1 = ~stk1; 7211 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 7212} 7213 7214/* DTSnaon source transparent/pattern opaque. */ 7215static void rop3_69_1_0 (unsigned char *D, unsigned char S, unsigned char T) 7216{ 7217 unsigned char stk1; 7218 unsigned char stk2; 7219 unsigned char stk3; 7220 stk3 = ~S; 7221 stk2 = T & stk3; 7222 stk1 = *D | stk2; 7223 stk1 = ~stk1; 7224 *D = (stk1 & (~S)) | (*D & S); 7225} 7226 7227/* DTSnaon source/pattern transparent. */ 7228static void rop3_69_1_1 (unsigned char *D, unsigned char S, unsigned char T) 7229{ 7230 unsigned char stk1; 7231 unsigned char stk2; 7232 unsigned char stk3; 7233 stk3 = ~S; 7234 stk2 = T & stk3; 7235 stk1 = *D | stk2; 7236 stk1 = ~stk1; 7237 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 7238} 7239 7240/* DTSnaon source/pattern opaque. */ 7241static unsigned xrop3_69_0_0 (unsigned char s, unsigned char t) 7242{ 7243 unsigned D = 0x00ff; 7244 unsigned S = ((unsigned)s << 8) | s; 7245 unsigned T = ((unsigned)t << 8) | t; 7246 unsigned stk1; 7247 unsigned stk2; 7248 unsigned stk3; 7249 stk3 = ~S; 7250 stk2 = T & stk3; 7251 stk1 = D | stk2; 7252 stk1 = ~stk1; 7253 return stk1; 7254} 7255 7256/* DTSnaon source opaque/pattern transparent. */ 7257static unsigned xrop3_69_0_1 (unsigned char s, unsigned char t) 7258{ 7259 unsigned D = 0x00ff; 7260 unsigned S = ((unsigned)s << 8) | s; 7261 unsigned T = ((unsigned)t << 8) | t; 7262 unsigned stk1; 7263 unsigned stk2; 7264 unsigned stk3; 7265 stk3 = ~S; 7266 stk2 = T & stk3; 7267 stk1 = D | stk2; 7268 stk1 = ~stk1; 7269 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 7270} 7271 7272/* DTSnaon source transparent/pattern opaque. */ 7273static unsigned xrop3_69_1_0 (unsigned char s, unsigned char t) 7274{ 7275 unsigned D = 0x00ff; 7276 unsigned S = ((unsigned)s << 8) | s; 7277 unsigned T = ((unsigned)t << 8) | t; 7278 unsigned stk1; 7279 unsigned stk2; 7280 unsigned stk3; 7281 stk3 = ~S; 7282 stk2 = T & stk3; 7283 stk1 = D | stk2; 7284 stk1 = ~stk1; 7285 return (stk1 & (~S)) | (D & S); 7286} 7287 7288/* DTSnaon source/pattern transparent. */ 7289static unsigned xrop3_69_1_1 (unsigned char s, unsigned char t) 7290{ 7291 unsigned D = 0x00ff; 7292 unsigned S = ((unsigned)s << 8) | s; 7293 unsigned T = ((unsigned)t << 8) | t; 7294 unsigned stk1; 7295 unsigned stk2; 7296 unsigned stk3; 7297 stk3 = ~S; 7298 stk2 = T & stk3; 7299 stk1 = D | stk2; 7300 stk1 = ~stk1; 7301 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 7302} 7303 7304/* DSTDaox source/pattern opaque. */ 7305static void rop3_70_0_0 (unsigned char *D, unsigned char S, unsigned char T) 7306{ 7307 unsigned char stk1; 7308 unsigned char stk2; 7309 unsigned char stk3; 7310 stk3 = T & *D; 7311 stk2 = S | stk3; 7312 stk1 = *D ^ stk2; 7313 *D = stk1; 7314} 7315 7316/* DSTDaox source opaque/pattern transparent. */ 7317static void rop3_70_0_1 (unsigned char *D, unsigned char S, unsigned char T) 7318{ 7319 unsigned char stk1; 7320 unsigned char stk2; 7321 unsigned char stk3; 7322 stk3 = T & *D; 7323 stk2 = S | stk3; 7324 stk1 = *D ^ stk2; 7325 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 7326} 7327 7328/* DSTDaox source transparent/pattern opaque. */ 7329static void rop3_70_1_0 (unsigned char *D, unsigned char S, unsigned char T) 7330{ 7331 unsigned char stk1; 7332 unsigned char stk2; 7333 unsigned char stk3; 7334 stk3 = T & *D; 7335 stk2 = S | stk3; 7336 stk1 = *D ^ stk2; 7337 *D = (stk1 & (~S)) | (*D & S); 7338} 7339 7340/* DSTDaox source/pattern transparent. */ 7341static void rop3_70_1_1 (unsigned char *D, unsigned char S, unsigned char T) 7342{ 7343 unsigned char stk1; 7344 unsigned char stk2; 7345 unsigned char stk3; 7346 stk3 = T & *D; 7347 stk2 = S | stk3; 7348 stk1 = *D ^ stk2; 7349 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 7350} 7351 7352/* DSTDaox source/pattern opaque. */ 7353static unsigned xrop3_70_0_0 (unsigned char s, unsigned char t) 7354{ 7355 unsigned D = 0x00ff; 7356 unsigned S = ((unsigned)s << 8) | s; 7357 unsigned T = ((unsigned)t << 8) | t; 7358 unsigned stk1; 7359 unsigned stk2; 7360 unsigned stk3; 7361 stk3 = T & D; 7362 stk2 = S | stk3; 7363 stk1 = D ^ stk2; 7364 return stk1; 7365} 7366 7367/* DSTDaox source opaque/pattern transparent. */ 7368static unsigned xrop3_70_0_1 (unsigned char s, unsigned char t) 7369{ 7370 unsigned D = 0x00ff; 7371 unsigned S = ((unsigned)s << 8) | s; 7372 unsigned T = ((unsigned)t << 8) | t; 7373 unsigned stk1; 7374 unsigned stk2; 7375 unsigned stk3; 7376 stk3 = T & D; 7377 stk2 = S | stk3; 7378 stk1 = D ^ stk2; 7379 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 7380} 7381 7382/* DSTDaox source transparent/pattern opaque. */ 7383static unsigned xrop3_70_1_0 (unsigned char s, unsigned char t) 7384{ 7385 unsigned D = 0x00ff; 7386 unsigned S = ((unsigned)s << 8) | s; 7387 unsigned T = ((unsigned)t << 8) | t; 7388 unsigned stk1; 7389 unsigned stk2; 7390 unsigned stk3; 7391 stk3 = T & D; 7392 stk2 = S | stk3; 7393 stk1 = D ^ stk2; 7394 return (stk1 & (~S)) | (D & S); 7395} 7396 7397/* DSTDaox source/pattern transparent. */ 7398static unsigned xrop3_70_1_1 (unsigned char s, unsigned char t) 7399{ 7400 unsigned D = 0x00ff; 7401 unsigned S = ((unsigned)s << 8) | s; 7402 unsigned T = ((unsigned)t << 8) | t; 7403 unsigned stk1; 7404 unsigned stk2; 7405 unsigned stk3; 7406 stk3 = T & D; 7407 stk2 = S | stk3; 7408 stk1 = D ^ stk2; 7409 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 7410} 7411 7412/* TSDTxaxn source/pattern opaque. */ 7413static void rop3_71_0_0 (unsigned char *D, unsigned char S, unsigned char T) 7414{ 7415 unsigned char stk1; 7416 unsigned char stk2; 7417 unsigned char stk3; 7418 stk3 = *D ^ T; 7419 stk2 = S & stk3; 7420 stk1 = T ^ stk2; 7421 stk1 = ~stk1; 7422 *D = stk1; 7423} 7424 7425/* TSDTxaxn source opaque/pattern transparent. */ 7426static void rop3_71_0_1 (unsigned char *D, unsigned char S, unsigned char T) 7427{ 7428 unsigned char stk1; 7429 unsigned char stk2; 7430 unsigned char stk3; 7431 stk3 = *D ^ T; 7432 stk2 = S & stk3; 7433 stk1 = T ^ stk2; 7434 stk1 = ~stk1; 7435 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 7436} 7437 7438/* TSDTxaxn source transparent/pattern opaque. */ 7439static void rop3_71_1_0 (unsigned char *D, unsigned char S, unsigned char T) 7440{ 7441 unsigned char stk1; 7442 unsigned char stk2; 7443 unsigned char stk3; 7444 stk3 = *D ^ T; 7445 stk2 = S & stk3; 7446 stk1 = T ^ stk2; 7447 stk1 = ~stk1; 7448 *D = (stk1 & (~S)) | (*D & S); 7449} 7450 7451/* TSDTxaxn source/pattern transparent. */ 7452static void rop3_71_1_1 (unsigned char *D, unsigned char S, unsigned char T) 7453{ 7454 unsigned char stk1; 7455 unsigned char stk2; 7456 unsigned char stk3; 7457 stk3 = *D ^ T; 7458 stk2 = S & stk3; 7459 stk1 = T ^ stk2; 7460 stk1 = ~stk1; 7461 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 7462} 7463 7464/* TSDTxaxn source/pattern opaque. */ 7465static unsigned xrop3_71_0_0 (unsigned char s, unsigned char t) 7466{ 7467 unsigned D = 0x00ff; 7468 unsigned S = ((unsigned)s << 8) | s; 7469 unsigned T = ((unsigned)t << 8) | t; 7470 unsigned stk1; 7471 unsigned stk2; 7472 unsigned stk3; 7473 stk3 = D ^ T; 7474 stk2 = S & stk3; 7475 stk1 = T ^ stk2; 7476 stk1 = ~stk1; 7477 return stk1; 7478} 7479 7480/* TSDTxaxn source opaque/pattern transparent. */ 7481static unsigned xrop3_71_0_1 (unsigned char s, unsigned char t) 7482{ 7483 unsigned D = 0x00ff; 7484 unsigned S = ((unsigned)s << 8) | s; 7485 unsigned T = ((unsigned)t << 8) | t; 7486 unsigned stk1; 7487 unsigned stk2; 7488 unsigned stk3; 7489 stk3 = D ^ T; 7490 stk2 = S & stk3; 7491 stk1 = T ^ stk2; 7492 stk1 = ~stk1; 7493 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 7494} 7495 7496/* TSDTxaxn source transparent/pattern opaque. */ 7497static unsigned xrop3_71_1_0 (unsigned char s, unsigned char t) 7498{ 7499 unsigned D = 0x00ff; 7500 unsigned S = ((unsigned)s << 8) | s; 7501 unsigned T = ((unsigned)t << 8) | t; 7502 unsigned stk1; 7503 unsigned stk2; 7504 unsigned stk3; 7505 stk3 = D ^ T; 7506 stk2 = S & stk3; 7507 stk1 = T ^ stk2; 7508 stk1 = ~stk1; 7509 return (stk1 & (~S)) | (D & S); 7510} 7511 7512/* TSDTxaxn source/pattern transparent. */ 7513static unsigned xrop3_71_1_1 (unsigned char s, unsigned char t) 7514{ 7515 unsigned D = 0x00ff; 7516 unsigned S = ((unsigned)s << 8) | s; 7517 unsigned T = ((unsigned)t << 8) | t; 7518 unsigned stk1; 7519 unsigned stk2; 7520 unsigned stk3; 7521 stk3 = D ^ T; 7522 stk2 = S & stk3; 7523 stk1 = T ^ stk2; 7524 stk1 = ~stk1; 7525 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 7526} 7527 7528/* SDTxa source/pattern opaque. */ 7529static void rop3_72_0_0 (unsigned char *D, unsigned char S, unsigned char T) 7530{ 7531 unsigned char stk1; 7532 unsigned char stk2; 7533 stk2 = *D ^ T; 7534 stk1 = S & stk2; 7535 *D = stk1; 7536} 7537 7538/* SDTxa source opaque/pattern transparent. */ 7539static void rop3_72_0_1 (unsigned char *D, unsigned char S, unsigned char T) 7540{ 7541 unsigned char stk1; 7542 unsigned char stk2; 7543 stk2 = *D ^ T; 7544 stk1 = S & stk2; 7545 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 7546} 7547 7548/* SDTxa source transparent/pattern opaque. */ 7549static void rop3_72_1_0 (unsigned char *D, unsigned char S, unsigned char T) 7550{ 7551 unsigned char stk1; 7552 unsigned char stk2; 7553 stk2 = *D ^ T; 7554 stk1 = S & stk2; 7555 *D = (stk1 & (~S)) | (*D & S); 7556} 7557 7558/* SDTxa source/pattern transparent. */ 7559static void rop3_72_1_1 (unsigned char *D, unsigned char S, unsigned char T) 7560{ 7561 unsigned char stk1; 7562 unsigned char stk2; 7563 stk2 = *D ^ T; 7564 stk1 = S & stk2; 7565 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 7566} 7567 7568/* SDTxa source/pattern opaque. */ 7569static unsigned xrop3_72_0_0 (unsigned char s, unsigned char t) 7570{ 7571 unsigned D = 0x00ff; 7572 unsigned S = ((unsigned)s << 8) | s; 7573 unsigned T = ((unsigned)t << 8) | t; 7574 unsigned stk1; 7575 unsigned stk2; 7576 stk2 = D ^ T; 7577 stk1 = S & stk2; 7578 return stk1; 7579} 7580 7581/* SDTxa source opaque/pattern transparent. */ 7582static unsigned xrop3_72_0_1 (unsigned char s, unsigned char t) 7583{ 7584 unsigned D = 0x00ff; 7585 unsigned S = ((unsigned)s << 8) | s; 7586 unsigned T = ((unsigned)t << 8) | t; 7587 unsigned stk1; 7588 unsigned stk2; 7589 stk2 = D ^ T; 7590 stk1 = S & stk2; 7591 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 7592} 7593 7594/* SDTxa source transparent/pattern opaque. */ 7595static unsigned xrop3_72_1_0 (unsigned char s, unsigned char t) 7596{ 7597 unsigned D = 0x00ff; 7598 unsigned S = ((unsigned)s << 8) | s; 7599 unsigned T = ((unsigned)t << 8) | t; 7600 unsigned stk1; 7601 unsigned stk2; 7602 stk2 = D ^ T; 7603 stk1 = S & stk2; 7604 return (stk1 & (~S)) | (D & S); 7605} 7606 7607/* SDTxa source/pattern transparent. */ 7608static unsigned xrop3_72_1_1 (unsigned char s, unsigned char t) 7609{ 7610 unsigned D = 0x00ff; 7611 unsigned S = ((unsigned)s << 8) | s; 7612 unsigned T = ((unsigned)t << 8) | t; 7613 unsigned stk1; 7614 unsigned stk2; 7615 stk2 = D ^ T; 7616 stk1 = S & stk2; 7617 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 7618} 7619 7620/* TDSTDaoxxn source/pattern opaque. */ 7621static void rop3_73_0_0 (unsigned char *D, unsigned char S, unsigned char T) 7622{ 7623 unsigned char stk1; 7624 unsigned char stk2; 7625 unsigned char stk3; 7626 unsigned char stk4; 7627 stk4 = T & *D; 7628 stk3 = S | stk4; 7629 stk2 = *D ^ stk3; 7630 stk1 = T ^ stk2; 7631 stk1 = ~stk1; 7632 *D = stk1; 7633} 7634 7635/* TDSTDaoxxn source opaque/pattern transparent. */ 7636static void rop3_73_0_1 (unsigned char *D, unsigned char S, unsigned char T) 7637{ 7638 unsigned char stk1; 7639 unsigned char stk2; 7640 unsigned char stk3; 7641 unsigned char stk4; 7642 stk4 = T & *D; 7643 stk3 = S | stk4; 7644 stk2 = *D ^ stk3; 7645 stk1 = T ^ stk2; 7646 stk1 = ~stk1; 7647 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 7648} 7649 7650/* TDSTDaoxxn source transparent/pattern opaque. */ 7651static void rop3_73_1_0 (unsigned char *D, unsigned char S, unsigned char T) 7652{ 7653 unsigned char stk1; 7654 unsigned char stk2; 7655 unsigned char stk3; 7656 unsigned char stk4; 7657 stk4 = T & *D; 7658 stk3 = S | stk4; 7659 stk2 = *D ^ stk3; 7660 stk1 = T ^ stk2; 7661 stk1 = ~stk1; 7662 *D = (stk1 & (~S)) | (*D & S); 7663} 7664 7665/* TDSTDaoxxn source/pattern transparent. */ 7666static void rop3_73_1_1 (unsigned char *D, unsigned char S, unsigned char T) 7667{ 7668 unsigned char stk1; 7669 unsigned char stk2; 7670 unsigned char stk3; 7671 unsigned char stk4; 7672 stk4 = T & *D; 7673 stk3 = S | stk4; 7674 stk2 = *D ^ stk3; 7675 stk1 = T ^ stk2; 7676 stk1 = ~stk1; 7677 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 7678} 7679 7680/* TDSTDaoxxn source/pattern opaque. */ 7681static unsigned xrop3_73_0_0 (unsigned char s, unsigned char t) 7682{ 7683 unsigned D = 0x00ff; 7684 unsigned S = ((unsigned)s << 8) | s; 7685 unsigned T = ((unsigned)t << 8) | t; 7686 unsigned stk1; 7687 unsigned stk2; 7688 unsigned stk3; 7689 unsigned stk4; 7690 stk4 = T & D; 7691 stk3 = S | stk4; 7692 stk2 = D ^ stk3; 7693 stk1 = T ^ stk2; 7694 stk1 = ~stk1; 7695 return stk1; 7696} 7697 7698/* TDSTDaoxxn source opaque/pattern transparent. */ 7699static unsigned xrop3_73_0_1 (unsigned char s, unsigned char t) 7700{ 7701 unsigned D = 0x00ff; 7702 unsigned S = ((unsigned)s << 8) | s; 7703 unsigned T = ((unsigned)t << 8) | t; 7704 unsigned stk1; 7705 unsigned stk2; 7706 unsigned stk3; 7707 unsigned stk4; 7708 stk4 = T & D; 7709 stk3 = S | stk4; 7710 stk2 = D ^ stk3; 7711 stk1 = T ^ stk2; 7712 stk1 = ~stk1; 7713 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 7714} 7715 7716/* TDSTDaoxxn source transparent/pattern opaque. */ 7717static unsigned xrop3_73_1_0 (unsigned char s, unsigned char t) 7718{ 7719 unsigned D = 0x00ff; 7720 unsigned S = ((unsigned)s << 8) | s; 7721 unsigned T = ((unsigned)t << 8) | t; 7722 unsigned stk1; 7723 unsigned stk2; 7724 unsigned stk3; 7725 unsigned stk4; 7726 stk4 = T & D; 7727 stk3 = S | stk4; 7728 stk2 = D ^ stk3; 7729 stk1 = T ^ stk2; 7730 stk1 = ~stk1; 7731 return (stk1 & (~S)) | (D & S); 7732} 7733 7734/* TDSTDaoxxn source/pattern transparent. */ 7735static unsigned xrop3_73_1_1 (unsigned char s, unsigned char t) 7736{ 7737 unsigned D = 0x00ff; 7738 unsigned S = ((unsigned)s << 8) | s; 7739 unsigned T = ((unsigned)t << 8) | t; 7740 unsigned stk1; 7741 unsigned stk2; 7742 unsigned stk3; 7743 unsigned stk4; 7744 stk4 = T & D; 7745 stk3 = S | stk4; 7746 stk2 = D ^ stk3; 7747 stk1 = T ^ stk2; 7748 stk1 = ~stk1; 7749 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 7750} 7751 7752/* DTSDoax source/pattern opaque. */ 7753static void rop3_74_0_0 (unsigned char *D, unsigned char S, unsigned char T) 7754{ 7755 unsigned char stk1; 7756 unsigned char stk2; 7757 unsigned char stk3; 7758 stk3 = S | *D; 7759 stk2 = T & stk3; 7760 stk1 = *D ^ stk2; 7761 *D = stk1; 7762} 7763 7764/* DTSDoax source opaque/pattern transparent. */ 7765static void rop3_74_0_1 (unsigned char *D, unsigned char S, unsigned char T) 7766{ 7767 unsigned char stk1; 7768 unsigned char stk2; 7769 unsigned char stk3; 7770 stk3 = S | *D; 7771 stk2 = T & stk3; 7772 stk1 = *D ^ stk2; 7773 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 7774} 7775 7776/* DTSDoax source transparent/pattern opaque. */ 7777static void rop3_74_1_0 (unsigned char *D, unsigned char S, unsigned char T) 7778{ 7779 unsigned char stk1; 7780 unsigned char stk2; 7781 unsigned char stk3; 7782 stk3 = S | *D; 7783 stk2 = T & stk3; 7784 stk1 = *D ^ stk2; 7785 *D = (stk1 & (~S)) | (*D & S); 7786} 7787 7788/* DTSDoax source/pattern transparent. */ 7789static void rop3_74_1_1 (unsigned char *D, unsigned char S, unsigned char T) 7790{ 7791 unsigned char stk1; 7792 unsigned char stk2; 7793 unsigned char stk3; 7794 stk3 = S | *D; 7795 stk2 = T & stk3; 7796 stk1 = *D ^ stk2; 7797 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 7798} 7799 7800/* DTSDoax source/pattern opaque. */ 7801static unsigned xrop3_74_0_0 (unsigned char s, unsigned char t) 7802{ 7803 unsigned D = 0x00ff; 7804 unsigned S = ((unsigned)s << 8) | s; 7805 unsigned T = ((unsigned)t << 8) | t; 7806 unsigned stk1; 7807 unsigned stk2; 7808 unsigned stk3; 7809 stk3 = S | D; 7810 stk2 = T & stk3; 7811 stk1 = D ^ stk2; 7812 return stk1; 7813} 7814 7815/* DTSDoax source opaque/pattern transparent. */ 7816static unsigned xrop3_74_0_1 (unsigned char s, unsigned char t) 7817{ 7818 unsigned D = 0x00ff; 7819 unsigned S = ((unsigned)s << 8) | s; 7820 unsigned T = ((unsigned)t << 8) | t; 7821 unsigned stk1; 7822 unsigned stk2; 7823 unsigned stk3; 7824 stk3 = S | D; 7825 stk2 = T & stk3; 7826 stk1 = D ^ stk2; 7827 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 7828} 7829 7830/* DTSDoax source transparent/pattern opaque. */ 7831static unsigned xrop3_74_1_0 (unsigned char s, unsigned char t) 7832{ 7833 unsigned D = 0x00ff; 7834 unsigned S = ((unsigned)s << 8) | s; 7835 unsigned T = ((unsigned)t << 8) | t; 7836 unsigned stk1; 7837 unsigned stk2; 7838 unsigned stk3; 7839 stk3 = S | D; 7840 stk2 = T & stk3; 7841 stk1 = D ^ stk2; 7842 return (stk1 & (~S)) | (D & S); 7843} 7844 7845/* DTSDoax source/pattern transparent. */ 7846static unsigned xrop3_74_1_1 (unsigned char s, unsigned char t) 7847{ 7848 unsigned D = 0x00ff; 7849 unsigned S = ((unsigned)s << 8) | s; 7850 unsigned T = ((unsigned)t << 8) | t; 7851 unsigned stk1; 7852 unsigned stk2; 7853 unsigned stk3; 7854 stk3 = S | D; 7855 stk2 = T & stk3; 7856 stk1 = D ^ stk2; 7857 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 7858} 7859 7860/* TDSnox source/pattern opaque. */ 7861static void rop3_75_0_0 (unsigned char *D, unsigned char S, unsigned char T) 7862{ 7863 unsigned char stk1; 7864 unsigned char stk2; 7865 unsigned char stk3; 7866 stk3 = ~S; 7867 stk2 = *D | stk3; 7868 stk1 = T ^ stk2; 7869 *D = stk1; 7870} 7871 7872/* TDSnox source opaque/pattern transparent. */ 7873static void rop3_75_0_1 (unsigned char *D, unsigned char S, unsigned char T) 7874{ 7875 unsigned char stk1; 7876 unsigned char stk2; 7877 unsigned char stk3; 7878 stk3 = ~S; 7879 stk2 = *D | stk3; 7880 stk1 = T ^ stk2; 7881 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 7882} 7883 7884/* TDSnox source transparent/pattern opaque. */ 7885static void rop3_75_1_0 (unsigned char *D, unsigned char S, unsigned char T) 7886{ 7887 unsigned char stk1; 7888 unsigned char stk2; 7889 unsigned char stk3; 7890 stk3 = ~S; 7891 stk2 = *D | stk3; 7892 stk1 = T ^ stk2; 7893 *D = (stk1 & (~S)) | (*D & S); 7894} 7895 7896/* TDSnox source/pattern transparent. */ 7897static void rop3_75_1_1 (unsigned char *D, unsigned char S, unsigned char T) 7898{ 7899 unsigned char stk1; 7900 unsigned char stk2; 7901 unsigned char stk3; 7902 stk3 = ~S; 7903 stk2 = *D | stk3; 7904 stk1 = T ^ stk2; 7905 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 7906} 7907 7908/* TDSnox source/pattern opaque. */ 7909static unsigned xrop3_75_0_0 (unsigned char s, unsigned char t) 7910{ 7911 unsigned D = 0x00ff; 7912 unsigned S = ((unsigned)s << 8) | s; 7913 unsigned T = ((unsigned)t << 8) | t; 7914 unsigned stk1; 7915 unsigned stk2; 7916 unsigned stk3; 7917 stk3 = ~S; 7918 stk2 = D | stk3; 7919 stk1 = T ^ stk2; 7920 return stk1; 7921} 7922 7923/* TDSnox source opaque/pattern transparent. */ 7924static unsigned xrop3_75_0_1 (unsigned char s, unsigned char t) 7925{ 7926 unsigned D = 0x00ff; 7927 unsigned S = ((unsigned)s << 8) | s; 7928 unsigned T = ((unsigned)t << 8) | t; 7929 unsigned stk1; 7930 unsigned stk2; 7931 unsigned stk3; 7932 stk3 = ~S; 7933 stk2 = D | stk3; 7934 stk1 = T ^ stk2; 7935 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 7936} 7937 7938/* TDSnox source transparent/pattern opaque. */ 7939static unsigned xrop3_75_1_0 (unsigned char s, unsigned char t) 7940{ 7941 unsigned D = 0x00ff; 7942 unsigned S = ((unsigned)s << 8) | s; 7943 unsigned T = ((unsigned)t << 8) | t; 7944 unsigned stk1; 7945 unsigned stk2; 7946 unsigned stk3; 7947 stk3 = ~S; 7948 stk2 = D | stk3; 7949 stk1 = T ^ stk2; 7950 return (stk1 & (~S)) | (D & S); 7951} 7952 7953/* TDSnox source/pattern transparent. */ 7954static unsigned xrop3_75_1_1 (unsigned char s, unsigned char t) 7955{ 7956 unsigned D = 0x00ff; 7957 unsigned S = ((unsigned)s << 8) | s; 7958 unsigned T = ((unsigned)t << 8) | t; 7959 unsigned stk1; 7960 unsigned stk2; 7961 unsigned stk3; 7962 stk3 = ~S; 7963 stk2 = D | stk3; 7964 stk1 = T ^ stk2; 7965 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 7966} 7967 7968/* SDTana source/pattern opaque. */ 7969static void rop3_76_0_0 (unsigned char *D, unsigned char S, unsigned char T) 7970{ 7971 unsigned char stk1; 7972 unsigned char stk2; 7973 stk2 = *D & T; 7974 stk2 = ~stk2; 7975 stk1 = S & stk2; 7976 *D = stk1; 7977} 7978 7979/* SDTana source opaque/pattern transparent. */ 7980static void rop3_76_0_1 (unsigned char *D, unsigned char S, unsigned char T) 7981{ 7982 unsigned char stk1; 7983 unsigned char stk2; 7984 stk2 = *D & T; 7985 stk2 = ~stk2; 7986 stk1 = S & stk2; 7987 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 7988} 7989 7990/* SDTana source transparent/pattern opaque. */ 7991static void rop3_76_1_0 (unsigned char *D, unsigned char S, unsigned char T) 7992{ 7993 unsigned char stk1; 7994 unsigned char stk2; 7995 stk2 = *D & T; 7996 stk2 = ~stk2; 7997 stk1 = S & stk2; 7998 *D = (stk1 & (~S)) | (*D & S); 7999} 8000 8001/* SDTana source/pattern transparent. */ 8002static void rop3_76_1_1 (unsigned char *D, unsigned char S, unsigned char T) 8003{ 8004 unsigned char stk1; 8005 unsigned char stk2; 8006 stk2 = *D & T; 8007 stk2 = ~stk2; 8008 stk1 = S & stk2; 8009 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 8010} 8011 8012/* SDTana source/pattern opaque. */ 8013static unsigned xrop3_76_0_0 (unsigned char s, unsigned char t) 8014{ 8015 unsigned D = 0x00ff; 8016 unsigned S = ((unsigned)s << 8) | s; 8017 unsigned T = ((unsigned)t << 8) | t; 8018 unsigned stk1; 8019 unsigned stk2; 8020 stk2 = D & T; 8021 stk2 = ~stk2; 8022 stk1 = S & stk2; 8023 return stk1; 8024} 8025 8026/* SDTana source opaque/pattern transparent. */ 8027static unsigned xrop3_76_0_1 (unsigned char s, unsigned char t) 8028{ 8029 unsigned D = 0x00ff; 8030 unsigned S = ((unsigned)s << 8) | s; 8031 unsigned T = ((unsigned)t << 8) | t; 8032 unsigned stk1; 8033 unsigned stk2; 8034 stk2 = D & T; 8035 stk2 = ~stk2; 8036 stk1 = S & stk2; 8037 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 8038} 8039 8040/* SDTana source transparent/pattern opaque. */ 8041static unsigned xrop3_76_1_0 (unsigned char s, unsigned char t) 8042{ 8043 unsigned D = 0x00ff; 8044 unsigned S = ((unsigned)s << 8) | s; 8045 unsigned T = ((unsigned)t << 8) | t; 8046 unsigned stk1; 8047 unsigned stk2; 8048 stk2 = D & T; 8049 stk2 = ~stk2; 8050 stk1 = S & stk2; 8051 return (stk1 & (~S)) | (D & S); 8052} 8053 8054/* SDTana source/pattern transparent. */ 8055static unsigned xrop3_76_1_1 (unsigned char s, unsigned char t) 8056{ 8057 unsigned D = 0x00ff; 8058 unsigned S = ((unsigned)s << 8) | s; 8059 unsigned T = ((unsigned)t << 8) | t; 8060 unsigned stk1; 8061 unsigned stk2; 8062 stk2 = D & T; 8063 stk2 = ~stk2; 8064 stk1 = S & stk2; 8065 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 8066} 8067 8068/* SSTxDSxoxn source/pattern opaque. */ 8069static void rop3_77_0_0 (unsigned char *D, unsigned char S, unsigned char T) 8070{ 8071 unsigned char stk1; 8072 unsigned char stk2; 8073 unsigned char stk3; 8074 stk2 = S ^ T; 8075 stk3 = *D ^ S; 8076 stk2 = stk2 | stk3; 8077 stk1 = S ^ stk2; 8078 stk1 = ~stk1; 8079 *D = stk1; 8080} 8081 8082/* SSTxDSxoxn source opaque/pattern transparent. */ 8083static void rop3_77_0_1 (unsigned char *D, unsigned char S, unsigned char T) 8084{ 8085 unsigned char stk1; 8086 unsigned char stk2; 8087 unsigned char stk3; 8088 stk2 = S ^ T; 8089 stk3 = *D ^ S; 8090 stk2 = stk2 | stk3; 8091 stk1 = S ^ stk2; 8092 stk1 = ~stk1; 8093 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 8094} 8095 8096/* SSTxDSxoxn source transparent/pattern opaque. */ 8097static void rop3_77_1_0 (unsigned char *D, unsigned char S, unsigned char T) 8098{ 8099 unsigned char stk1; 8100 unsigned char stk2; 8101 unsigned char stk3; 8102 stk2 = S ^ T; 8103 stk3 = *D ^ S; 8104 stk2 = stk2 | stk3; 8105 stk1 = S ^ stk2; 8106 stk1 = ~stk1; 8107 *D = (stk1 & (~S)) | (*D & S); 8108} 8109 8110/* SSTxDSxoxn source/pattern transparent. */ 8111static void rop3_77_1_1 (unsigned char *D, unsigned char S, unsigned char T) 8112{ 8113 unsigned char stk1; 8114 unsigned char stk2; 8115 unsigned char stk3; 8116 stk2 = S ^ T; 8117 stk3 = *D ^ S; 8118 stk2 = stk2 | stk3; 8119 stk1 = S ^ stk2; 8120 stk1 = ~stk1; 8121 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 8122} 8123 8124/* SSTxDSxoxn source/pattern opaque. */ 8125static unsigned xrop3_77_0_0 (unsigned char s, unsigned char t) 8126{ 8127 unsigned D = 0x00ff; 8128 unsigned S = ((unsigned)s << 8) | s; 8129 unsigned T = ((unsigned)t << 8) | t; 8130 unsigned stk1; 8131 unsigned stk2; 8132 unsigned stk3; 8133 stk2 = S ^ T; 8134 stk3 = D ^ S; 8135 stk2 = stk2 | stk3; 8136 stk1 = S ^ stk2; 8137 stk1 = ~stk1; 8138 return stk1; 8139} 8140 8141/* SSTxDSxoxn source opaque/pattern transparent. */ 8142static unsigned xrop3_77_0_1 (unsigned char s, unsigned char t) 8143{ 8144 unsigned D = 0x00ff; 8145 unsigned S = ((unsigned)s << 8) | s; 8146 unsigned T = ((unsigned)t << 8) | t; 8147 unsigned stk1; 8148 unsigned stk2; 8149 unsigned stk3; 8150 stk2 = S ^ T; 8151 stk3 = D ^ S; 8152 stk2 = stk2 | stk3; 8153 stk1 = S ^ stk2; 8154 stk1 = ~stk1; 8155 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 8156} 8157 8158/* SSTxDSxoxn source transparent/pattern opaque. */ 8159static unsigned xrop3_77_1_0 (unsigned char s, unsigned char t) 8160{ 8161 unsigned D = 0x00ff; 8162 unsigned S = ((unsigned)s << 8) | s; 8163 unsigned T = ((unsigned)t << 8) | t; 8164 unsigned stk1; 8165 unsigned stk2; 8166 unsigned stk3; 8167 stk2 = S ^ T; 8168 stk3 = D ^ S; 8169 stk2 = stk2 | stk3; 8170 stk1 = S ^ stk2; 8171 stk1 = ~stk1; 8172 return (stk1 & (~S)) | (D & S); 8173} 8174 8175/* SSTxDSxoxn source/pattern transparent. */ 8176static unsigned xrop3_77_1_1 (unsigned char s, unsigned char t) 8177{ 8178 unsigned D = 0x00ff; 8179 unsigned S = ((unsigned)s << 8) | s; 8180 unsigned T = ((unsigned)t << 8) | t; 8181 unsigned stk1; 8182 unsigned stk2; 8183 unsigned stk3; 8184 stk2 = S ^ T; 8185 stk3 = D ^ S; 8186 stk2 = stk2 | stk3; 8187 stk1 = S ^ stk2; 8188 stk1 = ~stk1; 8189 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 8190} 8191 8192/* TDSTxox source/pattern opaque. */ 8193static void rop3_78_0_0 (unsigned char *D, unsigned char S, unsigned char T) 8194{ 8195 unsigned char stk1; 8196 unsigned char stk2; 8197 unsigned char stk3; 8198 stk3 = S ^ T; 8199 stk2 = *D | stk3; 8200 stk1 = T ^ stk2; 8201 *D = stk1; 8202} 8203 8204/* TDSTxox source opaque/pattern transparent. */ 8205static void rop3_78_0_1 (unsigned char *D, unsigned char S, unsigned char T) 8206{ 8207 unsigned char stk1; 8208 unsigned char stk2; 8209 unsigned char stk3; 8210 stk3 = S ^ T; 8211 stk2 = *D | stk3; 8212 stk1 = T ^ stk2; 8213 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 8214} 8215 8216/* TDSTxox source transparent/pattern opaque. */ 8217static void rop3_78_1_0 (unsigned char *D, unsigned char S, unsigned char T) 8218{ 8219 unsigned char stk1; 8220 unsigned char stk2; 8221 unsigned char stk3; 8222 stk3 = S ^ T; 8223 stk2 = *D | stk3; 8224 stk1 = T ^ stk2; 8225 *D = (stk1 & (~S)) | (*D & S); 8226} 8227 8228/* TDSTxox source/pattern transparent. */ 8229static void rop3_78_1_1 (unsigned char *D, unsigned char S, unsigned char T) 8230{ 8231 unsigned char stk1; 8232 unsigned char stk2; 8233 unsigned char stk3; 8234 stk3 = S ^ T; 8235 stk2 = *D | stk3; 8236 stk1 = T ^ stk2; 8237 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 8238} 8239 8240/* TDSTxox source/pattern opaque. */ 8241static unsigned xrop3_78_0_0 (unsigned char s, unsigned char t) 8242{ 8243 unsigned D = 0x00ff; 8244 unsigned S = ((unsigned)s << 8) | s; 8245 unsigned T = ((unsigned)t << 8) | t; 8246 unsigned stk1; 8247 unsigned stk2; 8248 unsigned stk3; 8249 stk3 = S ^ T; 8250 stk2 = D | stk3; 8251 stk1 = T ^ stk2; 8252 return stk1; 8253} 8254 8255/* TDSTxox source opaque/pattern transparent. */ 8256static unsigned xrop3_78_0_1 (unsigned char s, unsigned char t) 8257{ 8258 unsigned D = 0x00ff; 8259 unsigned S = ((unsigned)s << 8) | s; 8260 unsigned T = ((unsigned)t << 8) | t; 8261 unsigned stk1; 8262 unsigned stk2; 8263 unsigned stk3; 8264 stk3 = S ^ T; 8265 stk2 = D | stk3; 8266 stk1 = T ^ stk2; 8267 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 8268} 8269 8270/* TDSTxox source transparent/pattern opaque. */ 8271static unsigned xrop3_78_1_0 (unsigned char s, unsigned char t) 8272{ 8273 unsigned D = 0x00ff; 8274 unsigned S = ((unsigned)s << 8) | s; 8275 unsigned T = ((unsigned)t << 8) | t; 8276 unsigned stk1; 8277 unsigned stk2; 8278 unsigned stk3; 8279 stk3 = S ^ T; 8280 stk2 = D | stk3; 8281 stk1 = T ^ stk2; 8282 return (stk1 & (~S)) | (D & S); 8283} 8284 8285/* TDSTxox source/pattern transparent. */ 8286static unsigned xrop3_78_1_1 (unsigned char s, unsigned char t) 8287{ 8288 unsigned D = 0x00ff; 8289 unsigned S = ((unsigned)s << 8) | s; 8290 unsigned T = ((unsigned)t << 8) | t; 8291 unsigned stk1; 8292 unsigned stk2; 8293 unsigned stk3; 8294 stk3 = S ^ T; 8295 stk2 = D | stk3; 8296 stk1 = T ^ stk2; 8297 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 8298} 8299 8300/* TDSnoan source/pattern opaque. */ 8301static void rop3_79_0_0 (unsigned char *D, unsigned char S, unsigned char T) 8302{ 8303 unsigned char stk1; 8304 unsigned char stk2; 8305 unsigned char stk3; 8306 stk3 = ~S; 8307 stk2 = *D | stk3; 8308 stk1 = T & stk2; 8309 stk1 = ~stk1; 8310 *D = stk1; 8311} 8312 8313/* TDSnoan source opaque/pattern transparent. */ 8314static void rop3_79_0_1 (unsigned char *D, unsigned char S, unsigned char T) 8315{ 8316 unsigned char stk1; 8317 unsigned char stk2; 8318 unsigned char stk3; 8319 stk3 = ~S; 8320 stk2 = *D | stk3; 8321 stk1 = T & stk2; 8322 stk1 = ~stk1; 8323 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 8324} 8325 8326/* TDSnoan source transparent/pattern opaque. */ 8327static void rop3_79_1_0 (unsigned char *D, unsigned char S, unsigned char T) 8328{ 8329 unsigned char stk1; 8330 unsigned char stk2; 8331 unsigned char stk3; 8332 stk3 = ~S; 8333 stk2 = *D | stk3; 8334 stk1 = T & stk2; 8335 stk1 = ~stk1; 8336 *D = (stk1 & (~S)) | (*D & S); 8337} 8338 8339/* TDSnoan source/pattern transparent. */ 8340static void rop3_79_1_1 (unsigned char *D, unsigned char S, unsigned char T) 8341{ 8342 unsigned char stk1; 8343 unsigned char stk2; 8344 unsigned char stk3; 8345 stk3 = ~S; 8346 stk2 = *D | stk3; 8347 stk1 = T & stk2; 8348 stk1 = ~stk1; 8349 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 8350} 8351 8352/* TDSnoan source/pattern opaque. */ 8353static unsigned xrop3_79_0_0 (unsigned char s, unsigned char t) 8354{ 8355 unsigned D = 0x00ff; 8356 unsigned S = ((unsigned)s << 8) | s; 8357 unsigned T = ((unsigned)t << 8) | t; 8358 unsigned stk1; 8359 unsigned stk2; 8360 unsigned stk3; 8361 stk3 = ~S; 8362 stk2 = D | stk3; 8363 stk1 = T & stk2; 8364 stk1 = ~stk1; 8365 return stk1; 8366} 8367 8368/* TDSnoan source opaque/pattern transparent. */ 8369static unsigned xrop3_79_0_1 (unsigned char s, unsigned char t) 8370{ 8371 unsigned D = 0x00ff; 8372 unsigned S = ((unsigned)s << 8) | s; 8373 unsigned T = ((unsigned)t << 8) | t; 8374 unsigned stk1; 8375 unsigned stk2; 8376 unsigned stk3; 8377 stk3 = ~S; 8378 stk2 = D | stk3; 8379 stk1 = T & stk2; 8380 stk1 = ~stk1; 8381 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 8382} 8383 8384/* TDSnoan source transparent/pattern opaque. */ 8385static unsigned xrop3_79_1_0 (unsigned char s, unsigned char t) 8386{ 8387 unsigned D = 0x00ff; 8388 unsigned S = ((unsigned)s << 8) | s; 8389 unsigned T = ((unsigned)t << 8) | t; 8390 unsigned stk1; 8391 unsigned stk2; 8392 unsigned stk3; 8393 stk3 = ~S; 8394 stk2 = D | stk3; 8395 stk1 = T & stk2; 8396 stk1 = ~stk1; 8397 return (stk1 & (~S)) | (D & S); 8398} 8399 8400/* TDSnoan source/pattern transparent. */ 8401static unsigned xrop3_79_1_1 (unsigned char s, unsigned char t) 8402{ 8403 unsigned D = 0x00ff; 8404 unsigned S = ((unsigned)s << 8) | s; 8405 unsigned T = ((unsigned)t << 8) | t; 8406 unsigned stk1; 8407 unsigned stk2; 8408 unsigned stk3; 8409 stk3 = ~S; 8410 stk2 = D | stk3; 8411 stk1 = T & stk2; 8412 stk1 = ~stk1; 8413 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 8414} 8415 8416/* TDna source/pattern opaque. */ 8417static void rop3_80_0_0 (unsigned char *D, unsigned char S, unsigned char T) 8418{ 8419 unsigned char stk1; 8420 unsigned char stk2; 8421 stk2 = ~*D; 8422 stk1 = T & stk2; 8423 *D = stk1; 8424} 8425 8426/* TDna source opaque/pattern transparent. */ 8427static void rop3_80_0_1 (unsigned char *D, unsigned char S, unsigned char T) 8428{ 8429 unsigned char stk1; 8430 unsigned char stk2; 8431 stk2 = ~*D; 8432 stk1 = T & stk2; 8433 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 8434} 8435 8436/* TDna source transparent/pattern opaque. */ 8437static void rop3_80_1_0 (unsigned char *D, unsigned char S, unsigned char T) 8438{ 8439 unsigned char stk1; 8440 unsigned char stk2; 8441 stk2 = ~*D; 8442 stk1 = T & stk2; 8443 *D = (stk1 & (~S)) | (*D & S); 8444} 8445 8446/* TDna source/pattern transparent. */ 8447static void rop3_80_1_1 (unsigned char *D, unsigned char S, unsigned char T) 8448{ 8449 unsigned char stk1; 8450 unsigned char stk2; 8451 stk2 = ~*D; 8452 stk1 = T & stk2; 8453 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 8454} 8455 8456/* TDna source/pattern opaque. */ 8457static unsigned xrop3_80_0_0 (unsigned char s, unsigned char t) 8458{ 8459 unsigned D = 0x00ff; 8460 unsigned T = ((unsigned)t << 8) | t; 8461 unsigned stk1; 8462 unsigned stk2; 8463 stk2 = ~D; 8464 stk1 = T & stk2; 8465 return stk1; 8466} 8467 8468/* TDna source opaque/pattern transparent. */ 8469static unsigned xrop3_80_0_1 (unsigned char s, unsigned char t) 8470{ 8471 unsigned D = 0x00ff; 8472 unsigned S = ((unsigned)s << 8) | s; 8473 unsigned T = ((unsigned)t << 8) | t; 8474 unsigned stk1; 8475 unsigned stk2; 8476 stk2 = ~D; 8477 stk1 = T & stk2; 8478 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 8479} 8480 8481/* TDna source transparent/pattern opaque. */ 8482static unsigned xrop3_80_1_0 (unsigned char s, unsigned char t) 8483{ 8484 unsigned D = 0x00ff; 8485 unsigned S = ((unsigned)s << 8) | s; 8486 unsigned T = ((unsigned)t << 8) | t; 8487 unsigned stk1; 8488 unsigned stk2; 8489 stk2 = ~D; 8490 stk1 = T & stk2; 8491 return (stk1 & (~S)) | (D & S); 8492} 8493 8494/* TDna source/pattern transparent. */ 8495static unsigned xrop3_80_1_1 (unsigned char s, unsigned char t) 8496{ 8497 unsigned D = 0x00ff; 8498 unsigned S = ((unsigned)s << 8) | s; 8499 unsigned T = ((unsigned)t << 8) | t; 8500 unsigned stk1; 8501 unsigned stk2; 8502 stk2 = ~D; 8503 stk1 = T & stk2; 8504 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 8505} 8506 8507/* DSTnaon source/pattern opaque. */ 8508static void rop3_81_0_0 (unsigned char *D, unsigned char S, unsigned char T) 8509{ 8510 unsigned char stk1; 8511 unsigned char stk2; 8512 unsigned char stk3; 8513 stk3 = ~T; 8514 stk2 = S & stk3; 8515 stk1 = *D | stk2; 8516 stk1 = ~stk1; 8517 *D = stk1; 8518} 8519 8520/* DSTnaon source opaque/pattern transparent. */ 8521static void rop3_81_0_1 (unsigned char *D, unsigned char S, unsigned char T) 8522{ 8523 unsigned char stk1; 8524 unsigned char stk2; 8525 unsigned char stk3; 8526 stk3 = ~T; 8527 stk2 = S & stk3; 8528 stk1 = *D | stk2; 8529 stk1 = ~stk1; 8530 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 8531} 8532 8533/* DSTnaon source transparent/pattern opaque. */ 8534static void rop3_81_1_0 (unsigned char *D, unsigned char S, unsigned char T) 8535{ 8536 unsigned char stk1; 8537 unsigned char stk2; 8538 unsigned char stk3; 8539 stk3 = ~T; 8540 stk2 = S & stk3; 8541 stk1 = *D | stk2; 8542 stk1 = ~stk1; 8543 *D = (stk1 & (~S)) | (*D & S); 8544} 8545 8546/* DSTnaon source/pattern transparent. */ 8547static void rop3_81_1_1 (unsigned char *D, unsigned char S, unsigned char T) 8548{ 8549 unsigned char stk1; 8550 unsigned char stk2; 8551 unsigned char stk3; 8552 stk3 = ~T; 8553 stk2 = S & stk3; 8554 stk1 = *D | stk2; 8555 stk1 = ~stk1; 8556 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 8557} 8558 8559/* DSTnaon source/pattern opaque. */ 8560static unsigned xrop3_81_0_0 (unsigned char s, unsigned char t) 8561{ 8562 unsigned D = 0x00ff; 8563 unsigned S = ((unsigned)s << 8) | s; 8564 unsigned T = ((unsigned)t << 8) | t; 8565 unsigned stk1; 8566 unsigned stk2; 8567 unsigned stk3; 8568 stk3 = ~T; 8569 stk2 = S & stk3; 8570 stk1 = D | stk2; 8571 stk1 = ~stk1; 8572 return stk1; 8573} 8574 8575/* DSTnaon source opaque/pattern transparent. */ 8576static unsigned xrop3_81_0_1 (unsigned char s, unsigned char t) 8577{ 8578 unsigned D = 0x00ff; 8579 unsigned S = ((unsigned)s << 8) | s; 8580 unsigned T = ((unsigned)t << 8) | t; 8581 unsigned stk1; 8582 unsigned stk2; 8583 unsigned stk3; 8584 stk3 = ~T; 8585 stk2 = S & stk3; 8586 stk1 = D | stk2; 8587 stk1 = ~stk1; 8588 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 8589} 8590 8591/* DSTnaon source transparent/pattern opaque. */ 8592static unsigned xrop3_81_1_0 (unsigned char s, unsigned char t) 8593{ 8594 unsigned D = 0x00ff; 8595 unsigned S = ((unsigned)s << 8) | s; 8596 unsigned T = ((unsigned)t << 8) | t; 8597 unsigned stk1; 8598 unsigned stk2; 8599 unsigned stk3; 8600 stk3 = ~T; 8601 stk2 = S & stk3; 8602 stk1 = D | stk2; 8603 stk1 = ~stk1; 8604 return (stk1 & (~S)) | (D & S); 8605} 8606 8607/* DSTnaon source/pattern transparent. */ 8608static unsigned xrop3_81_1_1 (unsigned char s, unsigned char t) 8609{ 8610 unsigned D = 0x00ff; 8611 unsigned S = ((unsigned)s << 8) | s; 8612 unsigned T = ((unsigned)t << 8) | t; 8613 unsigned stk1; 8614 unsigned stk2; 8615 unsigned stk3; 8616 stk3 = ~T; 8617 stk2 = S & stk3; 8618 stk1 = D | stk2; 8619 stk1 = ~stk1; 8620 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 8621} 8622 8623/* DTSDaox source/pattern opaque. */ 8624static void rop3_82_0_0 (unsigned char *D, unsigned char S, unsigned char T) 8625{ 8626 unsigned char stk1; 8627 unsigned char stk2; 8628 unsigned char stk3; 8629 stk3 = S & *D; 8630 stk2 = T | stk3; 8631 stk1 = *D ^ stk2; 8632 *D = stk1; 8633} 8634 8635/* DTSDaox source opaque/pattern transparent. */ 8636static void rop3_82_0_1 (unsigned char *D, unsigned char S, unsigned char T) 8637{ 8638 unsigned char stk1; 8639 unsigned char stk2; 8640 unsigned char stk3; 8641 stk3 = S & *D; 8642 stk2 = T | stk3; 8643 stk1 = *D ^ stk2; 8644 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 8645} 8646 8647/* DTSDaox source transparent/pattern opaque. */ 8648static void rop3_82_1_0 (unsigned char *D, unsigned char S, unsigned char T) 8649{ 8650 unsigned char stk1; 8651 unsigned char stk2; 8652 unsigned char stk3; 8653 stk3 = S & *D; 8654 stk2 = T | stk3; 8655 stk1 = *D ^ stk2; 8656 *D = (stk1 & (~S)) | (*D & S); 8657} 8658 8659/* DTSDaox source/pattern transparent. */ 8660static void rop3_82_1_1 (unsigned char *D, unsigned char S, unsigned char T) 8661{ 8662 unsigned char stk1; 8663 unsigned char stk2; 8664 unsigned char stk3; 8665 stk3 = S & *D; 8666 stk2 = T | stk3; 8667 stk1 = *D ^ stk2; 8668 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 8669} 8670 8671/* DTSDaox source/pattern opaque. */ 8672static unsigned xrop3_82_0_0 (unsigned char s, unsigned char t) 8673{ 8674 unsigned D = 0x00ff; 8675 unsigned S = ((unsigned)s << 8) | s; 8676 unsigned T = ((unsigned)t << 8) | t; 8677 unsigned stk1; 8678 unsigned stk2; 8679 unsigned stk3; 8680 stk3 = S & D; 8681 stk2 = T | stk3; 8682 stk1 = D ^ stk2; 8683 return stk1; 8684} 8685 8686/* DTSDaox source opaque/pattern transparent. */ 8687static unsigned xrop3_82_0_1 (unsigned char s, unsigned char t) 8688{ 8689 unsigned D = 0x00ff; 8690 unsigned S = ((unsigned)s << 8) | s; 8691 unsigned T = ((unsigned)t << 8) | t; 8692 unsigned stk1; 8693 unsigned stk2; 8694 unsigned stk3; 8695 stk3 = S & D; 8696 stk2 = T | stk3; 8697 stk1 = D ^ stk2; 8698 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 8699} 8700 8701/* DTSDaox source transparent/pattern opaque. */ 8702static unsigned xrop3_82_1_0 (unsigned char s, unsigned char t) 8703{ 8704 unsigned D = 0x00ff; 8705 unsigned S = ((unsigned)s << 8) | s; 8706 unsigned T = ((unsigned)t << 8) | t; 8707 unsigned stk1; 8708 unsigned stk2; 8709 unsigned stk3; 8710 stk3 = S & D; 8711 stk2 = T | stk3; 8712 stk1 = D ^ stk2; 8713 return (stk1 & (~S)) | (D & S); 8714} 8715 8716/* DTSDaox source/pattern transparent. */ 8717static unsigned xrop3_82_1_1 (unsigned char s, unsigned char t) 8718{ 8719 unsigned D = 0x00ff; 8720 unsigned S = ((unsigned)s << 8) | s; 8721 unsigned T = ((unsigned)t << 8) | t; 8722 unsigned stk1; 8723 unsigned stk2; 8724 unsigned stk3; 8725 stk3 = S & D; 8726 stk2 = T | stk3; 8727 stk1 = D ^ stk2; 8728 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 8729} 8730 8731/* STDSxaxn source/pattern opaque. */ 8732static void rop3_83_0_0 (unsigned char *D, unsigned char S, unsigned char T) 8733{ 8734 unsigned char stk1; 8735 unsigned char stk2; 8736 unsigned char stk3; 8737 stk3 = *D ^ S; 8738 stk2 = T & stk3; 8739 stk1 = S ^ stk2; 8740 stk1 = ~stk1; 8741 *D = stk1; 8742} 8743 8744/* STDSxaxn source opaque/pattern transparent. */ 8745static void rop3_83_0_1 (unsigned char *D, unsigned char S, unsigned char T) 8746{ 8747 unsigned char stk1; 8748 unsigned char stk2; 8749 unsigned char stk3; 8750 stk3 = *D ^ S; 8751 stk2 = T & stk3; 8752 stk1 = S ^ stk2; 8753 stk1 = ~stk1; 8754 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 8755} 8756 8757/* STDSxaxn source transparent/pattern opaque. */ 8758static void rop3_83_1_0 (unsigned char *D, unsigned char S, unsigned char T) 8759{ 8760 unsigned char stk1; 8761 unsigned char stk2; 8762 unsigned char stk3; 8763 stk3 = *D ^ S; 8764 stk2 = T & stk3; 8765 stk1 = S ^ stk2; 8766 stk1 = ~stk1; 8767 *D = (stk1 & (~S)) | (*D & S); 8768} 8769 8770/* STDSxaxn source/pattern transparent. */ 8771static void rop3_83_1_1 (unsigned char *D, unsigned char S, unsigned char T) 8772{ 8773 unsigned char stk1; 8774 unsigned char stk2; 8775 unsigned char stk3; 8776 stk3 = *D ^ S; 8777 stk2 = T & stk3; 8778 stk1 = S ^ stk2; 8779 stk1 = ~stk1; 8780 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 8781} 8782 8783/* STDSxaxn source/pattern opaque. */ 8784static unsigned xrop3_83_0_0 (unsigned char s, unsigned char t) 8785{ 8786 unsigned D = 0x00ff; 8787 unsigned S = ((unsigned)s << 8) | s; 8788 unsigned T = ((unsigned)t << 8) | t; 8789 unsigned stk1; 8790 unsigned stk2; 8791 unsigned stk3; 8792 stk3 = D ^ S; 8793 stk2 = T & stk3; 8794 stk1 = S ^ stk2; 8795 stk1 = ~stk1; 8796 return stk1; 8797} 8798 8799/* STDSxaxn source opaque/pattern transparent. */ 8800static unsigned xrop3_83_0_1 (unsigned char s, unsigned char t) 8801{ 8802 unsigned D = 0x00ff; 8803 unsigned S = ((unsigned)s << 8) | s; 8804 unsigned T = ((unsigned)t << 8) | t; 8805 unsigned stk1; 8806 unsigned stk2; 8807 unsigned stk3; 8808 stk3 = D ^ S; 8809 stk2 = T & stk3; 8810 stk1 = S ^ stk2; 8811 stk1 = ~stk1; 8812 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 8813} 8814 8815/* STDSxaxn source transparent/pattern opaque. */ 8816static unsigned xrop3_83_1_0 (unsigned char s, unsigned char t) 8817{ 8818 unsigned D = 0x00ff; 8819 unsigned S = ((unsigned)s << 8) | s; 8820 unsigned T = ((unsigned)t << 8) | t; 8821 unsigned stk1; 8822 unsigned stk2; 8823 unsigned stk3; 8824 stk3 = D ^ S; 8825 stk2 = T & stk3; 8826 stk1 = S ^ stk2; 8827 stk1 = ~stk1; 8828 return (stk1 & (~S)) | (D & S); 8829} 8830 8831/* STDSxaxn source/pattern transparent. */ 8832static unsigned xrop3_83_1_1 (unsigned char s, unsigned char t) 8833{ 8834 unsigned D = 0x00ff; 8835 unsigned S = ((unsigned)s << 8) | s; 8836 unsigned T = ((unsigned)t << 8) | t; 8837 unsigned stk1; 8838 unsigned stk2; 8839 unsigned stk3; 8840 stk3 = D ^ S; 8841 stk2 = T & stk3; 8842 stk1 = S ^ stk2; 8843 stk1 = ~stk1; 8844 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 8845} 8846 8847/* DTSonon source/pattern opaque. */ 8848static void rop3_84_0_0 (unsigned char *D, unsigned char S, unsigned char T) 8849{ 8850 unsigned char stk1; 8851 unsigned char stk2; 8852 stk2 = T | S; 8853 stk2 = ~stk2; 8854 stk1 = *D | stk2; 8855 stk1 = ~stk1; 8856 *D = stk1; 8857} 8858 8859/* DTSonon source opaque/pattern transparent. */ 8860static void rop3_84_0_1 (unsigned char *D, unsigned char S, unsigned char T) 8861{ 8862 unsigned char stk1; 8863 unsigned char stk2; 8864 stk2 = T | S; 8865 stk2 = ~stk2; 8866 stk1 = *D | stk2; 8867 stk1 = ~stk1; 8868 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 8869} 8870 8871/* DTSonon source transparent/pattern opaque. */ 8872static void rop3_84_1_0 (unsigned char *D, unsigned char S, unsigned char T) 8873{ 8874 unsigned char stk1; 8875 unsigned char stk2; 8876 stk2 = T | S; 8877 stk2 = ~stk2; 8878 stk1 = *D | stk2; 8879 stk1 = ~stk1; 8880 *D = (stk1 & (~S)) | (*D & S); 8881} 8882 8883/* DTSonon source/pattern transparent. */ 8884static void rop3_84_1_1 (unsigned char *D, unsigned char S, unsigned char T) 8885{ 8886 unsigned char stk1; 8887 unsigned char stk2; 8888 stk2 = T | S; 8889 stk2 = ~stk2; 8890 stk1 = *D | stk2; 8891 stk1 = ~stk1; 8892 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 8893} 8894 8895/* DTSonon source/pattern opaque. */ 8896static unsigned xrop3_84_0_0 (unsigned char s, unsigned char t) 8897{ 8898 unsigned D = 0x00ff; 8899 unsigned S = ((unsigned)s << 8) | s; 8900 unsigned T = ((unsigned)t << 8) | t; 8901 unsigned stk1; 8902 unsigned stk2; 8903 stk2 = T | S; 8904 stk2 = ~stk2; 8905 stk1 = D | stk2; 8906 stk1 = ~stk1; 8907 return stk1; 8908} 8909 8910/* DTSonon source opaque/pattern transparent. */ 8911static unsigned xrop3_84_0_1 (unsigned char s, unsigned char t) 8912{ 8913 unsigned D = 0x00ff; 8914 unsigned S = ((unsigned)s << 8) | s; 8915 unsigned T = ((unsigned)t << 8) | t; 8916 unsigned stk1; 8917 unsigned stk2; 8918 stk2 = T | S; 8919 stk2 = ~stk2; 8920 stk1 = D | stk2; 8921 stk1 = ~stk1; 8922 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 8923} 8924 8925/* DTSonon source transparent/pattern opaque. */ 8926static unsigned xrop3_84_1_0 (unsigned char s, unsigned char t) 8927{ 8928 unsigned D = 0x00ff; 8929 unsigned S = ((unsigned)s << 8) | s; 8930 unsigned T = ((unsigned)t << 8) | t; 8931 unsigned stk1; 8932 unsigned stk2; 8933 stk2 = T | S; 8934 stk2 = ~stk2; 8935 stk1 = D | stk2; 8936 stk1 = ~stk1; 8937 return (stk1 & (~S)) | (D & S); 8938} 8939 8940/* DTSonon source/pattern transparent. */ 8941static unsigned xrop3_84_1_1 (unsigned char s, unsigned char t) 8942{ 8943 unsigned D = 0x00ff; 8944 unsigned S = ((unsigned)s << 8) | s; 8945 unsigned T = ((unsigned)t << 8) | t; 8946 unsigned stk1; 8947 unsigned stk2; 8948 stk2 = T | S; 8949 stk2 = ~stk2; 8950 stk1 = D | stk2; 8951 stk1 = ~stk1; 8952 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 8953} 8954 8955/* Dn source/pattern opaque. */ 8956static void rop3_85_0_0 (unsigned char *D, unsigned char S, unsigned char T) 8957{ 8958 unsigned char stk1; 8959 stk1 = ~*D; 8960 *D = stk1; 8961} 8962 8963/* Dn source opaque/pattern transparent. */ 8964static void rop3_85_0_1 (unsigned char *D, unsigned char S, unsigned char T) 8965{ 8966 unsigned char stk1; 8967 stk1 = ~*D; 8968 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 8969} 8970 8971/* Dn source transparent/pattern opaque. */ 8972static void rop3_85_1_0 (unsigned char *D, unsigned char S, unsigned char T) 8973{ 8974 unsigned char stk1; 8975 stk1 = ~*D; 8976 *D = (stk1 & (~S)) | (*D & S); 8977} 8978 8979/* Dn source/pattern transparent. */ 8980static void rop3_85_1_1 (unsigned char *D, unsigned char S, unsigned char T) 8981{ 8982 unsigned char stk1; 8983 stk1 = ~*D; 8984 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 8985} 8986 8987/* Dn source/pattern opaque. */ 8988static unsigned xrop3_85_0_0 (unsigned char s, unsigned char t) 8989{ 8990 unsigned D = 0x00ff; 8991 unsigned stk1; 8992 stk1 = ~D; 8993 return stk1; 8994} 8995 8996/* Dn source opaque/pattern transparent. */ 8997static unsigned xrop3_85_0_1 (unsigned char s, unsigned char t) 8998{ 8999 unsigned D = 0x00ff; 9000 unsigned S = ((unsigned)s << 8) | s; 9001 unsigned T = ((unsigned)t << 8) | t; 9002 unsigned stk1; 9003 stk1 = ~D; 9004 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 9005} 9006 9007/* Dn source transparent/pattern opaque. */ 9008static unsigned xrop3_85_1_0 (unsigned char s, unsigned char t) 9009{ 9010 unsigned D = 0x00ff; 9011 unsigned S = ((unsigned)s << 8) | s; 9012 unsigned stk1; 9013 stk1 = ~D; 9014 return (stk1 & (~S)) | (D & S); 9015} 9016 9017/* Dn source/pattern transparent. */ 9018static unsigned xrop3_85_1_1 (unsigned char s, unsigned char t) 9019{ 9020 unsigned D = 0x00ff; 9021 unsigned S = ((unsigned)s << 8) | s; 9022 unsigned T = ((unsigned)t << 8) | t; 9023 unsigned stk1; 9024 stk1 = ~D; 9025 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 9026} 9027 9028/* DTSox source/pattern opaque. */ 9029static void rop3_86_0_0 (unsigned char *D, unsigned char S, unsigned char T) 9030{ 9031 unsigned char stk1; 9032 unsigned char stk2; 9033 stk2 = T | S; 9034 stk1 = *D ^ stk2; 9035 *D = stk1; 9036} 9037 9038/* DTSox source opaque/pattern transparent. */ 9039static void rop3_86_0_1 (unsigned char *D, unsigned char S, unsigned char T) 9040{ 9041 unsigned char stk1; 9042 unsigned char stk2; 9043 stk2 = T | S; 9044 stk1 = *D ^ stk2; 9045 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 9046} 9047 9048/* DTSox source transparent/pattern opaque. */ 9049static void rop3_86_1_0 (unsigned char *D, unsigned char S, unsigned char T) 9050{ 9051 unsigned char stk1; 9052 unsigned char stk2; 9053 stk2 = T | S; 9054 stk1 = *D ^ stk2; 9055 *D = (stk1 & (~S)) | (*D & S); 9056} 9057 9058/* DTSox source/pattern transparent. */ 9059static void rop3_86_1_1 (unsigned char *D, unsigned char S, unsigned char T) 9060{ 9061 unsigned char stk1; 9062 unsigned char stk2; 9063 stk2 = T | S; 9064 stk1 = *D ^ stk2; 9065 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 9066} 9067 9068/* DTSox source/pattern opaque. */ 9069static unsigned xrop3_86_0_0 (unsigned char s, unsigned char t) 9070{ 9071 unsigned D = 0x00ff; 9072 unsigned S = ((unsigned)s << 8) | s; 9073 unsigned T = ((unsigned)t << 8) | t; 9074 unsigned stk1; 9075 unsigned stk2; 9076 stk2 = T | S; 9077 stk1 = D ^ stk2; 9078 return stk1; 9079} 9080 9081/* DTSox source opaque/pattern transparent. */ 9082static unsigned xrop3_86_0_1 (unsigned char s, unsigned char t) 9083{ 9084 unsigned D = 0x00ff; 9085 unsigned S = ((unsigned)s << 8) | s; 9086 unsigned T = ((unsigned)t << 8) | t; 9087 unsigned stk1; 9088 unsigned stk2; 9089 stk2 = T | S; 9090 stk1 = D ^ stk2; 9091 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 9092} 9093 9094/* DTSox source transparent/pattern opaque. */ 9095static unsigned xrop3_86_1_0 (unsigned char s, unsigned char t) 9096{ 9097 unsigned D = 0x00ff; 9098 unsigned S = ((unsigned)s << 8) | s; 9099 unsigned T = ((unsigned)t << 8) | t; 9100 unsigned stk1; 9101 unsigned stk2; 9102 stk2 = T | S; 9103 stk1 = D ^ stk2; 9104 return (stk1 & (~S)) | (D & S); 9105} 9106 9107/* DTSox source/pattern transparent. */ 9108static unsigned xrop3_86_1_1 (unsigned char s, unsigned char t) 9109{ 9110 unsigned D = 0x00ff; 9111 unsigned S = ((unsigned)s << 8) | s; 9112 unsigned T = ((unsigned)t << 8) | t; 9113 unsigned stk1; 9114 unsigned stk2; 9115 stk2 = T | S; 9116 stk1 = D ^ stk2; 9117 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 9118} 9119 9120/* DTSoan source/pattern opaque. */ 9121static void rop3_87_0_0 (unsigned char *D, unsigned char S, unsigned char T) 9122{ 9123 unsigned char stk1; 9124 unsigned char stk2; 9125 stk2 = T | S; 9126 stk1 = *D & stk2; 9127 stk1 = ~stk1; 9128 *D = stk1; 9129} 9130 9131/* DTSoan source opaque/pattern transparent. */ 9132static void rop3_87_0_1 (unsigned char *D, unsigned char S, unsigned char T) 9133{ 9134 unsigned char stk1; 9135 unsigned char stk2; 9136 stk2 = T | S; 9137 stk1 = *D & stk2; 9138 stk1 = ~stk1; 9139 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 9140} 9141 9142/* DTSoan source transparent/pattern opaque. */ 9143static void rop3_87_1_0 (unsigned char *D, unsigned char S, unsigned char T) 9144{ 9145 unsigned char stk1; 9146 unsigned char stk2; 9147 stk2 = T | S; 9148 stk1 = *D & stk2; 9149 stk1 = ~stk1; 9150 *D = (stk1 & (~S)) | (*D & S); 9151} 9152 9153/* DTSoan source/pattern transparent. */ 9154static void rop3_87_1_1 (unsigned char *D, unsigned char S, unsigned char T) 9155{ 9156 unsigned char stk1; 9157 unsigned char stk2; 9158 stk2 = T | S; 9159 stk1 = *D & stk2; 9160 stk1 = ~stk1; 9161 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 9162} 9163 9164/* DTSoan source/pattern opaque. */ 9165static unsigned xrop3_87_0_0 (unsigned char s, unsigned char t) 9166{ 9167 unsigned D = 0x00ff; 9168 unsigned S = ((unsigned)s << 8) | s; 9169 unsigned T = ((unsigned)t << 8) | t; 9170 unsigned stk1; 9171 unsigned stk2; 9172 stk2 = T | S; 9173 stk1 = D & stk2; 9174 stk1 = ~stk1; 9175 return stk1; 9176} 9177 9178/* DTSoan source opaque/pattern transparent. */ 9179static unsigned xrop3_87_0_1 (unsigned char s, unsigned char t) 9180{ 9181 unsigned D = 0x00ff; 9182 unsigned S = ((unsigned)s << 8) | s; 9183 unsigned T = ((unsigned)t << 8) | t; 9184 unsigned stk1; 9185 unsigned stk2; 9186 stk2 = T | S; 9187 stk1 = D & stk2; 9188 stk1 = ~stk1; 9189 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 9190} 9191 9192/* DTSoan source transparent/pattern opaque. */ 9193static unsigned xrop3_87_1_0 (unsigned char s, unsigned char t) 9194{ 9195 unsigned D = 0x00ff; 9196 unsigned S = ((unsigned)s << 8) | s; 9197 unsigned T = ((unsigned)t << 8) | t; 9198 unsigned stk1; 9199 unsigned stk2; 9200 stk2 = T | S; 9201 stk1 = D & stk2; 9202 stk1 = ~stk1; 9203 return (stk1 & (~S)) | (D & S); 9204} 9205 9206/* DTSoan source/pattern transparent. */ 9207static unsigned xrop3_87_1_1 (unsigned char s, unsigned char t) 9208{ 9209 unsigned D = 0x00ff; 9210 unsigned S = ((unsigned)s << 8) | s; 9211 unsigned T = ((unsigned)t << 8) | t; 9212 unsigned stk1; 9213 unsigned stk2; 9214 stk2 = T | S; 9215 stk1 = D & stk2; 9216 stk1 = ~stk1; 9217 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 9218} 9219 9220/* TDSToax source/pattern opaque. */ 9221static void rop3_88_0_0 (unsigned char *D, unsigned char S, unsigned char T) 9222{ 9223 unsigned char stk1; 9224 unsigned char stk2; 9225 unsigned char stk3; 9226 stk3 = S | T; 9227 stk2 = *D & stk3; 9228 stk1 = T ^ stk2; 9229 *D = stk1; 9230} 9231 9232/* TDSToax source opaque/pattern transparent. */ 9233static void rop3_88_0_1 (unsigned char *D, unsigned char S, unsigned char T) 9234{ 9235 unsigned char stk1; 9236 unsigned char stk2; 9237 unsigned char stk3; 9238 stk3 = S | T; 9239 stk2 = *D & stk3; 9240 stk1 = T ^ stk2; 9241 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 9242} 9243 9244/* TDSToax source transparent/pattern opaque. */ 9245static void rop3_88_1_0 (unsigned char *D, unsigned char S, unsigned char T) 9246{ 9247 unsigned char stk1; 9248 unsigned char stk2; 9249 unsigned char stk3; 9250 stk3 = S | T; 9251 stk2 = *D & stk3; 9252 stk1 = T ^ stk2; 9253 *D = (stk1 & (~S)) | (*D & S); 9254} 9255 9256/* TDSToax source/pattern transparent. */ 9257static void rop3_88_1_1 (unsigned char *D, unsigned char S, unsigned char T) 9258{ 9259 unsigned char stk1; 9260 unsigned char stk2; 9261 unsigned char stk3; 9262 stk3 = S | T; 9263 stk2 = *D & stk3; 9264 stk1 = T ^ stk2; 9265 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 9266} 9267 9268/* TDSToax source/pattern opaque. */ 9269static unsigned xrop3_88_0_0 (unsigned char s, unsigned char t) 9270{ 9271 unsigned D = 0x00ff; 9272 unsigned S = ((unsigned)s << 8) | s; 9273 unsigned T = ((unsigned)t << 8) | t; 9274 unsigned stk1; 9275 unsigned stk2; 9276 unsigned stk3; 9277 stk3 = S | T; 9278 stk2 = D & stk3; 9279 stk1 = T ^ stk2; 9280 return stk1; 9281} 9282 9283/* TDSToax source opaque/pattern transparent. */ 9284static unsigned xrop3_88_0_1 (unsigned char s, unsigned char t) 9285{ 9286 unsigned D = 0x00ff; 9287 unsigned S = ((unsigned)s << 8) | s; 9288 unsigned T = ((unsigned)t << 8) | t; 9289 unsigned stk1; 9290 unsigned stk2; 9291 unsigned stk3; 9292 stk3 = S | T; 9293 stk2 = D & stk3; 9294 stk1 = T ^ stk2; 9295 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 9296} 9297 9298/* TDSToax source transparent/pattern opaque. */ 9299static unsigned xrop3_88_1_0 (unsigned char s, unsigned char t) 9300{ 9301 unsigned D = 0x00ff; 9302 unsigned S = ((unsigned)s << 8) | s; 9303 unsigned T = ((unsigned)t << 8) | t; 9304 unsigned stk1; 9305 unsigned stk2; 9306 unsigned stk3; 9307 stk3 = S | T; 9308 stk2 = D & stk3; 9309 stk1 = T ^ stk2; 9310 return (stk1 & (~S)) | (D & S); 9311} 9312 9313/* TDSToax source/pattern transparent. */ 9314static unsigned xrop3_88_1_1 (unsigned char s, unsigned char t) 9315{ 9316 unsigned D = 0x00ff; 9317 unsigned S = ((unsigned)s << 8) | s; 9318 unsigned T = ((unsigned)t << 8) | t; 9319 unsigned stk1; 9320 unsigned stk2; 9321 unsigned stk3; 9322 stk3 = S | T; 9323 stk2 = D & stk3; 9324 stk1 = T ^ stk2; 9325 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 9326} 9327 9328/* DTSnox source/pattern opaque. */ 9329static void rop3_89_0_0 (unsigned char *D, unsigned char S, unsigned char T) 9330{ 9331 unsigned char stk1; 9332 unsigned char stk2; 9333 unsigned char stk3; 9334 stk3 = ~S; 9335 stk2 = T | stk3; 9336 stk1 = *D ^ stk2; 9337 *D = stk1; 9338} 9339 9340/* DTSnox source opaque/pattern transparent. */ 9341static void rop3_89_0_1 (unsigned char *D, unsigned char S, unsigned char T) 9342{ 9343 unsigned char stk1; 9344 unsigned char stk2; 9345 unsigned char stk3; 9346 stk3 = ~S; 9347 stk2 = T | stk3; 9348 stk1 = *D ^ stk2; 9349 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 9350} 9351 9352/* DTSnox source transparent/pattern opaque. */ 9353static void rop3_89_1_0 (unsigned char *D, unsigned char S, unsigned char T) 9354{ 9355 unsigned char stk1; 9356 unsigned char stk2; 9357 unsigned char stk3; 9358 stk3 = ~S; 9359 stk2 = T | stk3; 9360 stk1 = *D ^ stk2; 9361 *D = (stk1 & (~S)) | (*D & S); 9362} 9363 9364/* DTSnox source/pattern transparent. */ 9365static void rop3_89_1_1 (unsigned char *D, unsigned char S, unsigned char T) 9366{ 9367 unsigned char stk1; 9368 unsigned char stk2; 9369 unsigned char stk3; 9370 stk3 = ~S; 9371 stk2 = T | stk3; 9372 stk1 = *D ^ stk2; 9373 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 9374} 9375 9376/* DTSnox source/pattern opaque. */ 9377static unsigned xrop3_89_0_0 (unsigned char s, unsigned char t) 9378{ 9379 unsigned D = 0x00ff; 9380 unsigned S = ((unsigned)s << 8) | s; 9381 unsigned T = ((unsigned)t << 8) | t; 9382 unsigned stk1; 9383 unsigned stk2; 9384 unsigned stk3; 9385 stk3 = ~S; 9386 stk2 = T | stk3; 9387 stk1 = D ^ stk2; 9388 return stk1; 9389} 9390 9391/* DTSnox source opaque/pattern transparent. */ 9392static unsigned xrop3_89_0_1 (unsigned char s, unsigned char t) 9393{ 9394 unsigned D = 0x00ff; 9395 unsigned S = ((unsigned)s << 8) | s; 9396 unsigned T = ((unsigned)t << 8) | t; 9397 unsigned stk1; 9398 unsigned stk2; 9399 unsigned stk3; 9400 stk3 = ~S; 9401 stk2 = T | stk3; 9402 stk1 = D ^ stk2; 9403 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 9404} 9405 9406/* DTSnox source transparent/pattern opaque. */ 9407static unsigned xrop3_89_1_0 (unsigned char s, unsigned char t) 9408{ 9409 unsigned D = 0x00ff; 9410 unsigned S = ((unsigned)s << 8) | s; 9411 unsigned T = ((unsigned)t << 8) | t; 9412 unsigned stk1; 9413 unsigned stk2; 9414 unsigned stk3; 9415 stk3 = ~S; 9416 stk2 = T | stk3; 9417 stk1 = D ^ stk2; 9418 return (stk1 & (~S)) | (D & S); 9419} 9420 9421/* DTSnox source/pattern transparent. */ 9422static unsigned xrop3_89_1_1 (unsigned char s, unsigned char t) 9423{ 9424 unsigned D = 0x00ff; 9425 unsigned S = ((unsigned)s << 8) | s; 9426 unsigned T = ((unsigned)t << 8) | t; 9427 unsigned stk1; 9428 unsigned stk2; 9429 unsigned stk3; 9430 stk3 = ~S; 9431 stk2 = T | stk3; 9432 stk1 = D ^ stk2; 9433 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 9434} 9435 9436/* DTx source/pattern opaque. */ 9437static void rop3_90_0_0 (unsigned char *D, unsigned char S, unsigned char T) 9438{ 9439 unsigned char stk1; 9440 stk1 = *D ^ T; 9441 *D = stk1; 9442} 9443 9444/* DTx source opaque/pattern transparent. */ 9445static void rop3_90_0_1 (unsigned char *D, unsigned char S, unsigned char T) 9446{ 9447 unsigned char stk1; 9448 stk1 = *D ^ T; 9449 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 9450} 9451 9452/* DTx source transparent/pattern opaque. */ 9453static void rop3_90_1_0 (unsigned char *D, unsigned char S, unsigned char T) 9454{ 9455 unsigned char stk1; 9456 stk1 = *D ^ T; 9457 *D = (stk1 & (~S)) | (*D & S); 9458} 9459 9460/* DTx source/pattern transparent. */ 9461static void rop3_90_1_1 (unsigned char *D, unsigned char S, unsigned char T) 9462{ 9463 unsigned char stk1; 9464 stk1 = *D ^ T; 9465 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 9466} 9467 9468/* DTx source/pattern opaque. */ 9469static unsigned xrop3_90_0_0 (unsigned char s, unsigned char t) 9470{ 9471 unsigned D = 0x00ff; 9472 unsigned T = ((unsigned)t << 8) | t; 9473 unsigned stk1; 9474 stk1 = D ^ T; 9475 return stk1; 9476} 9477 9478/* DTx source opaque/pattern transparent. */ 9479static unsigned xrop3_90_0_1 (unsigned char s, unsigned char t) 9480{ 9481 unsigned D = 0x00ff; 9482 unsigned S = ((unsigned)s << 8) | s; 9483 unsigned T = ((unsigned)t << 8) | t; 9484 unsigned stk1; 9485 stk1 = D ^ T; 9486 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 9487} 9488 9489/* DTx source transparent/pattern opaque. */ 9490static unsigned xrop3_90_1_0 (unsigned char s, unsigned char t) 9491{ 9492 unsigned D = 0x00ff; 9493 unsigned S = ((unsigned)s << 8) | s; 9494 unsigned T = ((unsigned)t << 8) | t; 9495 unsigned stk1; 9496 stk1 = D ^ T; 9497 return (stk1 & (~S)) | (D & S); 9498} 9499 9500/* DTx source/pattern transparent. */ 9501static unsigned xrop3_90_1_1 (unsigned char s, unsigned char t) 9502{ 9503 unsigned D = 0x00ff; 9504 unsigned S = ((unsigned)s << 8) | s; 9505 unsigned T = ((unsigned)t << 8) | t; 9506 unsigned stk1; 9507 stk1 = D ^ T; 9508 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 9509} 9510 9511/* DTSDonox source/pattern opaque. */ 9512static void rop3_91_0_0 (unsigned char *D, unsigned char S, unsigned char T) 9513{ 9514 unsigned char stk1; 9515 unsigned char stk2; 9516 unsigned char stk3; 9517 stk3 = S | *D; 9518 stk3 = ~stk3; 9519 stk2 = T | stk3; 9520 stk1 = *D ^ stk2; 9521 *D = stk1; 9522} 9523 9524/* DTSDonox source opaque/pattern transparent. */ 9525static void rop3_91_0_1 (unsigned char *D, unsigned char S, unsigned char T) 9526{ 9527 unsigned char stk1; 9528 unsigned char stk2; 9529 unsigned char stk3; 9530 stk3 = S | *D; 9531 stk3 = ~stk3; 9532 stk2 = T | stk3; 9533 stk1 = *D ^ stk2; 9534 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 9535} 9536 9537/* DTSDonox source transparent/pattern opaque. */ 9538static void rop3_91_1_0 (unsigned char *D, unsigned char S, unsigned char T) 9539{ 9540 unsigned char stk1; 9541 unsigned char stk2; 9542 unsigned char stk3; 9543 stk3 = S | *D; 9544 stk3 = ~stk3; 9545 stk2 = T | stk3; 9546 stk1 = *D ^ stk2; 9547 *D = (stk1 & (~S)) | (*D & S); 9548} 9549 9550/* DTSDonox source/pattern transparent. */ 9551static void rop3_91_1_1 (unsigned char *D, unsigned char S, unsigned char T) 9552{ 9553 unsigned char stk1; 9554 unsigned char stk2; 9555 unsigned char stk3; 9556 stk3 = S | *D; 9557 stk3 = ~stk3; 9558 stk2 = T | stk3; 9559 stk1 = *D ^ stk2; 9560 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 9561} 9562 9563/* DTSDonox source/pattern opaque. */ 9564static unsigned xrop3_91_0_0 (unsigned char s, unsigned char t) 9565{ 9566 unsigned D = 0x00ff; 9567 unsigned S = ((unsigned)s << 8) | s; 9568 unsigned T = ((unsigned)t << 8) | t; 9569 unsigned stk1; 9570 unsigned stk2; 9571 unsigned stk3; 9572 stk3 = S | D; 9573 stk3 = ~stk3; 9574 stk2 = T | stk3; 9575 stk1 = D ^ stk2; 9576 return stk1; 9577} 9578 9579/* DTSDonox source opaque/pattern transparent. */ 9580static unsigned xrop3_91_0_1 (unsigned char s, unsigned char t) 9581{ 9582 unsigned D = 0x00ff; 9583 unsigned S = ((unsigned)s << 8) | s; 9584 unsigned T = ((unsigned)t << 8) | t; 9585 unsigned stk1; 9586 unsigned stk2; 9587 unsigned stk3; 9588 stk3 = S | D; 9589 stk3 = ~stk3; 9590 stk2 = T | stk3; 9591 stk1 = D ^ stk2; 9592 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 9593} 9594 9595/* DTSDonox source transparent/pattern opaque. */ 9596static unsigned xrop3_91_1_0 (unsigned char s, unsigned char t) 9597{ 9598 unsigned D = 0x00ff; 9599 unsigned S = ((unsigned)s << 8) | s; 9600 unsigned T = ((unsigned)t << 8) | t; 9601 unsigned stk1; 9602 unsigned stk2; 9603 unsigned stk3; 9604 stk3 = S | D; 9605 stk3 = ~stk3; 9606 stk2 = T | stk3; 9607 stk1 = D ^ stk2; 9608 return (stk1 & (~S)) | (D & S); 9609} 9610 9611/* DTSDonox source/pattern transparent. */ 9612static unsigned xrop3_91_1_1 (unsigned char s, unsigned char t) 9613{ 9614 unsigned D = 0x00ff; 9615 unsigned S = ((unsigned)s << 8) | s; 9616 unsigned T = ((unsigned)t << 8) | t; 9617 unsigned stk1; 9618 unsigned stk2; 9619 unsigned stk3; 9620 stk3 = S | D; 9621 stk3 = ~stk3; 9622 stk2 = T | stk3; 9623 stk1 = D ^ stk2; 9624 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 9625} 9626 9627/* DTSDxox source/pattern opaque. */ 9628static void rop3_92_0_0 (unsigned char *D, unsigned char S, unsigned char T) 9629{ 9630 unsigned char stk1; 9631 unsigned char stk2; 9632 unsigned char stk3; 9633 stk3 = S ^ *D; 9634 stk2 = T | stk3; 9635 stk1 = *D ^ stk2; 9636 *D = stk1; 9637} 9638 9639/* DTSDxox source opaque/pattern transparent. */ 9640static void rop3_92_0_1 (unsigned char *D, unsigned char S, unsigned char T) 9641{ 9642 unsigned char stk1; 9643 unsigned char stk2; 9644 unsigned char stk3; 9645 stk3 = S ^ *D; 9646 stk2 = T | stk3; 9647 stk1 = *D ^ stk2; 9648 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 9649} 9650 9651/* DTSDxox source transparent/pattern opaque. */ 9652static void rop3_92_1_0 (unsigned char *D, unsigned char S, unsigned char T) 9653{ 9654 unsigned char stk1; 9655 unsigned char stk2; 9656 unsigned char stk3; 9657 stk3 = S ^ *D; 9658 stk2 = T | stk3; 9659 stk1 = *D ^ stk2; 9660 *D = (stk1 & (~S)) | (*D & S); 9661} 9662 9663/* DTSDxox source/pattern transparent. */ 9664static void rop3_92_1_1 (unsigned char *D, unsigned char S, unsigned char T) 9665{ 9666 unsigned char stk1; 9667 unsigned char stk2; 9668 unsigned char stk3; 9669 stk3 = S ^ *D; 9670 stk2 = T | stk3; 9671 stk1 = *D ^ stk2; 9672 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 9673} 9674 9675/* DTSDxox source/pattern opaque. */ 9676static unsigned xrop3_92_0_0 (unsigned char s, unsigned char t) 9677{ 9678 unsigned D = 0x00ff; 9679 unsigned S = ((unsigned)s << 8) | s; 9680 unsigned T = ((unsigned)t << 8) | t; 9681 unsigned stk1; 9682 unsigned stk2; 9683 unsigned stk3; 9684 stk3 = S ^ D; 9685 stk2 = T | stk3; 9686 stk1 = D ^ stk2; 9687 return stk1; 9688} 9689 9690/* DTSDxox source opaque/pattern transparent. */ 9691static unsigned xrop3_92_0_1 (unsigned char s, unsigned char t) 9692{ 9693 unsigned D = 0x00ff; 9694 unsigned S = ((unsigned)s << 8) | s; 9695 unsigned T = ((unsigned)t << 8) | t; 9696 unsigned stk1; 9697 unsigned stk2; 9698 unsigned stk3; 9699 stk3 = S ^ D; 9700 stk2 = T | stk3; 9701 stk1 = D ^ stk2; 9702 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 9703} 9704 9705/* DTSDxox source transparent/pattern opaque. */ 9706static unsigned xrop3_92_1_0 (unsigned char s, unsigned char t) 9707{ 9708 unsigned D = 0x00ff; 9709 unsigned S = ((unsigned)s << 8) | s; 9710 unsigned T = ((unsigned)t << 8) | t; 9711 unsigned stk1; 9712 unsigned stk2; 9713 unsigned stk3; 9714 stk3 = S ^ D; 9715 stk2 = T | stk3; 9716 stk1 = D ^ stk2; 9717 return (stk1 & (~S)) | (D & S); 9718} 9719 9720/* DTSDxox source/pattern transparent. */ 9721static unsigned xrop3_92_1_1 (unsigned char s, unsigned char t) 9722{ 9723 unsigned D = 0x00ff; 9724 unsigned S = ((unsigned)s << 8) | s; 9725 unsigned T = ((unsigned)t << 8) | t; 9726 unsigned stk1; 9727 unsigned stk2; 9728 unsigned stk3; 9729 stk3 = S ^ D; 9730 stk2 = T | stk3; 9731 stk1 = D ^ stk2; 9732 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 9733} 9734 9735/* DTSnoan source/pattern opaque. */ 9736static void rop3_93_0_0 (unsigned char *D, unsigned char S, unsigned char T) 9737{ 9738 unsigned char stk1; 9739 unsigned char stk2; 9740 unsigned char stk3; 9741 stk3 = ~S; 9742 stk2 = T | stk3; 9743 stk1 = *D & stk2; 9744 stk1 = ~stk1; 9745 *D = stk1; 9746} 9747 9748/* DTSnoan source opaque/pattern transparent. */ 9749static void rop3_93_0_1 (unsigned char *D, unsigned char S, unsigned char T) 9750{ 9751 unsigned char stk1; 9752 unsigned char stk2; 9753 unsigned char stk3; 9754 stk3 = ~S; 9755 stk2 = T | stk3; 9756 stk1 = *D & stk2; 9757 stk1 = ~stk1; 9758 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 9759} 9760 9761/* DTSnoan source transparent/pattern opaque. */ 9762static void rop3_93_1_0 (unsigned char *D, unsigned char S, unsigned char T) 9763{ 9764 unsigned char stk1; 9765 unsigned char stk2; 9766 unsigned char stk3; 9767 stk3 = ~S; 9768 stk2 = T | stk3; 9769 stk1 = *D & stk2; 9770 stk1 = ~stk1; 9771 *D = (stk1 & (~S)) | (*D & S); 9772} 9773 9774/* DTSnoan source/pattern transparent. */ 9775static void rop3_93_1_1 (unsigned char *D, unsigned char S, unsigned char T) 9776{ 9777 unsigned char stk1; 9778 unsigned char stk2; 9779 unsigned char stk3; 9780 stk3 = ~S; 9781 stk2 = T | stk3; 9782 stk1 = *D & stk2; 9783 stk1 = ~stk1; 9784 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 9785} 9786 9787/* DTSnoan source/pattern opaque. */ 9788static unsigned xrop3_93_0_0 (unsigned char s, unsigned char t) 9789{ 9790 unsigned D = 0x00ff; 9791 unsigned S = ((unsigned)s << 8) | s; 9792 unsigned T = ((unsigned)t << 8) | t; 9793 unsigned stk1; 9794 unsigned stk2; 9795 unsigned stk3; 9796 stk3 = ~S; 9797 stk2 = T | stk3; 9798 stk1 = D & stk2; 9799 stk1 = ~stk1; 9800 return stk1; 9801} 9802 9803/* DTSnoan source opaque/pattern transparent. */ 9804static unsigned xrop3_93_0_1 (unsigned char s, unsigned char t) 9805{ 9806 unsigned D = 0x00ff; 9807 unsigned S = ((unsigned)s << 8) | s; 9808 unsigned T = ((unsigned)t << 8) | t; 9809 unsigned stk1; 9810 unsigned stk2; 9811 unsigned stk3; 9812 stk3 = ~S; 9813 stk2 = T | stk3; 9814 stk1 = D & stk2; 9815 stk1 = ~stk1; 9816 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 9817} 9818 9819/* DTSnoan source transparent/pattern opaque. */ 9820static unsigned xrop3_93_1_0 (unsigned char s, unsigned char t) 9821{ 9822 unsigned D = 0x00ff; 9823 unsigned S = ((unsigned)s << 8) | s; 9824 unsigned T = ((unsigned)t << 8) | t; 9825 unsigned stk1; 9826 unsigned stk2; 9827 unsigned stk3; 9828 stk3 = ~S; 9829 stk2 = T | stk3; 9830 stk1 = D & stk2; 9831 stk1 = ~stk1; 9832 return (stk1 & (~S)) | (D & S); 9833} 9834 9835/* DTSnoan source/pattern transparent. */ 9836static unsigned xrop3_93_1_1 (unsigned char s, unsigned char t) 9837{ 9838 unsigned D = 0x00ff; 9839 unsigned S = ((unsigned)s << 8) | s; 9840 unsigned T = ((unsigned)t << 8) | t; 9841 unsigned stk1; 9842 unsigned stk2; 9843 unsigned stk3; 9844 stk3 = ~S; 9845 stk2 = T | stk3; 9846 stk1 = D & stk2; 9847 stk1 = ~stk1; 9848 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 9849} 9850 9851/* DTSDnaox source/pattern opaque. */ 9852static void rop3_94_0_0 (unsigned char *D, unsigned char S, unsigned char T) 9853{ 9854 unsigned char stk1; 9855 unsigned char stk2; 9856 unsigned char stk3; 9857 unsigned char stk4; 9858 stk4 = ~*D; 9859 stk3 = S & stk4; 9860 stk2 = T | stk3; 9861 stk1 = *D ^ stk2; 9862 *D = stk1; 9863} 9864 9865/* DTSDnaox source opaque/pattern transparent. */ 9866static void rop3_94_0_1 (unsigned char *D, unsigned char S, unsigned char T) 9867{ 9868 unsigned char stk1; 9869 unsigned char stk2; 9870 unsigned char stk3; 9871 unsigned char stk4; 9872 stk4 = ~*D; 9873 stk3 = S & stk4; 9874 stk2 = T | stk3; 9875 stk1 = *D ^ stk2; 9876 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 9877} 9878 9879/* DTSDnaox source transparent/pattern opaque. */ 9880static void rop3_94_1_0 (unsigned char *D, unsigned char S, unsigned char T) 9881{ 9882 unsigned char stk1; 9883 unsigned char stk2; 9884 unsigned char stk3; 9885 unsigned char stk4; 9886 stk4 = ~*D; 9887 stk3 = S & stk4; 9888 stk2 = T | stk3; 9889 stk1 = *D ^ stk2; 9890 *D = (stk1 & (~S)) | (*D & S); 9891} 9892 9893/* DTSDnaox source/pattern transparent. */ 9894static void rop3_94_1_1 (unsigned char *D, unsigned char S, unsigned char T) 9895{ 9896 unsigned char stk1; 9897 unsigned char stk2; 9898 unsigned char stk3; 9899 unsigned char stk4; 9900 stk4 = ~*D; 9901 stk3 = S & stk4; 9902 stk2 = T | stk3; 9903 stk1 = *D ^ stk2; 9904 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 9905} 9906 9907/* DTSDnaox source/pattern opaque. */ 9908static unsigned xrop3_94_0_0 (unsigned char s, unsigned char t) 9909{ 9910 unsigned D = 0x00ff; 9911 unsigned S = ((unsigned)s << 8) | s; 9912 unsigned T = ((unsigned)t << 8) | t; 9913 unsigned stk1; 9914 unsigned stk2; 9915 unsigned stk3; 9916 unsigned stk4; 9917 stk4 = ~D; 9918 stk3 = S & stk4; 9919 stk2 = T | stk3; 9920 stk1 = D ^ stk2; 9921 return stk1; 9922} 9923 9924/* DTSDnaox source opaque/pattern transparent. */ 9925static unsigned xrop3_94_0_1 (unsigned char s, unsigned char t) 9926{ 9927 unsigned D = 0x00ff; 9928 unsigned S = ((unsigned)s << 8) | s; 9929 unsigned T = ((unsigned)t << 8) | t; 9930 unsigned stk1; 9931 unsigned stk2; 9932 unsigned stk3; 9933 unsigned stk4; 9934 stk4 = ~D; 9935 stk3 = S & stk4; 9936 stk2 = T | stk3; 9937 stk1 = D ^ stk2; 9938 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 9939} 9940 9941/* DTSDnaox source transparent/pattern opaque. */ 9942static unsigned xrop3_94_1_0 (unsigned char s, unsigned char t) 9943{ 9944 unsigned D = 0x00ff; 9945 unsigned S = ((unsigned)s << 8) | s; 9946 unsigned T = ((unsigned)t << 8) | t; 9947 unsigned stk1; 9948 unsigned stk2; 9949 unsigned stk3; 9950 unsigned stk4; 9951 stk4 = ~D; 9952 stk3 = S & stk4; 9953 stk2 = T | stk3; 9954 stk1 = D ^ stk2; 9955 return (stk1 & (~S)) | (D & S); 9956} 9957 9958/* DTSDnaox source/pattern transparent. */ 9959static unsigned xrop3_94_1_1 (unsigned char s, unsigned char t) 9960{ 9961 unsigned D = 0x00ff; 9962 unsigned S = ((unsigned)s << 8) | s; 9963 unsigned T = ((unsigned)t << 8) | t; 9964 unsigned stk1; 9965 unsigned stk2; 9966 unsigned stk3; 9967 unsigned stk4; 9968 stk4 = ~D; 9969 stk3 = S & stk4; 9970 stk2 = T | stk3; 9971 stk1 = D ^ stk2; 9972 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 9973} 9974 9975/* DTan source/pattern opaque. */ 9976static void rop3_95_0_0 (unsigned char *D, unsigned char S, unsigned char T) 9977{ 9978 unsigned char stk1; 9979 stk1 = *D & T; 9980 stk1 = ~stk1; 9981 *D = stk1; 9982} 9983 9984/* DTan source opaque/pattern transparent. */ 9985static void rop3_95_0_1 (unsigned char *D, unsigned char S, unsigned char T) 9986{ 9987 unsigned char stk1; 9988 stk1 = *D & T; 9989 stk1 = ~stk1; 9990 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 9991} 9992 9993/* DTan source transparent/pattern opaque. */ 9994static void rop3_95_1_0 (unsigned char *D, unsigned char S, unsigned char T) 9995{ 9996 unsigned char stk1; 9997 stk1 = *D & T; 9998 stk1 = ~stk1; 9999 *D = (stk1 & (~S)) | (*D & S); 10000} 10001 10002/* DTan source/pattern transparent. */ 10003static void rop3_95_1_1 (unsigned char *D, unsigned char S, unsigned char T) 10004{ 10005 unsigned char stk1; 10006 stk1 = *D & T; 10007 stk1 = ~stk1; 10008 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 10009} 10010 10011/* DTan source/pattern opaque. */ 10012static unsigned xrop3_95_0_0 (unsigned char s, unsigned char t) 10013{ 10014 unsigned D = 0x00ff; 10015 unsigned T = ((unsigned)t << 8) | t; 10016 unsigned stk1; 10017 stk1 = D & T; 10018 stk1 = ~stk1; 10019 return stk1; 10020} 10021 10022/* DTan source opaque/pattern transparent. */ 10023static unsigned xrop3_95_0_1 (unsigned char s, unsigned char t) 10024{ 10025 unsigned D = 0x00ff; 10026 unsigned S = ((unsigned)s << 8) | s; 10027 unsigned T = ((unsigned)t << 8) | t; 10028 unsigned stk1; 10029 stk1 = D & T; 10030 stk1 = ~stk1; 10031 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 10032} 10033 10034/* DTan source transparent/pattern opaque. */ 10035static unsigned xrop3_95_1_0 (unsigned char s, unsigned char t) 10036{ 10037 unsigned D = 0x00ff; 10038 unsigned S = ((unsigned)s << 8) | s; 10039 unsigned T = ((unsigned)t << 8) | t; 10040 unsigned stk1; 10041 stk1 = D & T; 10042 stk1 = ~stk1; 10043 return (stk1 & (~S)) | (D & S); 10044} 10045 10046/* DTan source/pattern transparent. */ 10047static unsigned xrop3_95_1_1 (unsigned char s, unsigned char t) 10048{ 10049 unsigned D = 0x00ff; 10050 unsigned S = ((unsigned)s << 8) | s; 10051 unsigned T = ((unsigned)t << 8) | t; 10052 unsigned stk1; 10053 stk1 = D & T; 10054 stk1 = ~stk1; 10055 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 10056} 10057 10058/* TDSxa source/pattern opaque. */ 10059static void rop3_96_0_0 (unsigned char *D, unsigned char S, unsigned char T) 10060{ 10061 unsigned char stk1; 10062 unsigned char stk2; 10063 stk2 = *D ^ S; 10064 stk1 = T & stk2; 10065 *D = stk1; 10066} 10067 10068/* TDSxa source opaque/pattern transparent. */ 10069static void rop3_96_0_1 (unsigned char *D, unsigned char S, unsigned char T) 10070{ 10071 unsigned char stk1; 10072 unsigned char stk2; 10073 stk2 = *D ^ S; 10074 stk1 = T & stk2; 10075 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 10076} 10077 10078/* TDSxa source transparent/pattern opaque. */ 10079static void rop3_96_1_0 (unsigned char *D, unsigned char S, unsigned char T) 10080{ 10081 unsigned char stk1; 10082 unsigned char stk2; 10083 stk2 = *D ^ S; 10084 stk1 = T & stk2; 10085 *D = (stk1 & (~S)) | (*D & S); 10086} 10087 10088/* TDSxa source/pattern transparent. */ 10089static void rop3_96_1_1 (unsigned char *D, unsigned char S, unsigned char T) 10090{ 10091 unsigned char stk1; 10092 unsigned char stk2; 10093 stk2 = *D ^ S; 10094 stk1 = T & stk2; 10095 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 10096} 10097 10098/* TDSxa source/pattern opaque. */ 10099static unsigned xrop3_96_0_0 (unsigned char s, unsigned char t) 10100{ 10101 unsigned D = 0x00ff; 10102 unsigned S = ((unsigned)s << 8) | s; 10103 unsigned T = ((unsigned)t << 8) | t; 10104 unsigned stk1; 10105 unsigned stk2; 10106 stk2 = D ^ S; 10107 stk1 = T & stk2; 10108 return stk1; 10109} 10110 10111/* TDSxa source opaque/pattern transparent. */ 10112static unsigned xrop3_96_0_1 (unsigned char s, unsigned char t) 10113{ 10114 unsigned D = 0x00ff; 10115 unsigned S = ((unsigned)s << 8) | s; 10116 unsigned T = ((unsigned)t << 8) | t; 10117 unsigned stk1; 10118 unsigned stk2; 10119 stk2 = D ^ S; 10120 stk1 = T & stk2; 10121 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 10122} 10123 10124/* TDSxa source transparent/pattern opaque. */ 10125static unsigned xrop3_96_1_0 (unsigned char s, unsigned char t) 10126{ 10127 unsigned D = 0x00ff; 10128 unsigned S = ((unsigned)s << 8) | s; 10129 unsigned T = ((unsigned)t << 8) | t; 10130 unsigned stk1; 10131 unsigned stk2; 10132 stk2 = D ^ S; 10133 stk1 = T & stk2; 10134 return (stk1 & (~S)) | (D & S); 10135} 10136 10137/* TDSxa source/pattern transparent. */ 10138static unsigned xrop3_96_1_1 (unsigned char s, unsigned char t) 10139{ 10140 unsigned D = 0x00ff; 10141 unsigned S = ((unsigned)s << 8) | s; 10142 unsigned T = ((unsigned)t << 8) | t; 10143 unsigned stk1; 10144 unsigned stk2; 10145 stk2 = D ^ S; 10146 stk1 = T & stk2; 10147 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 10148} 10149 10150/* DSTDSaoxxn source/pattern opaque. */ 10151static void rop3_97_0_0 (unsigned char *D, unsigned char S, unsigned char T) 10152{ 10153 unsigned char stk1; 10154 unsigned char stk2; 10155 unsigned char stk3; 10156 unsigned char stk4; 10157 stk4 = *D & S; 10158 stk3 = T | stk4; 10159 stk2 = S ^ stk3; 10160 stk1 = *D ^ stk2; 10161 stk1 = ~stk1; 10162 *D = stk1; 10163} 10164 10165/* DSTDSaoxxn source opaque/pattern transparent. */ 10166static void rop3_97_0_1 (unsigned char *D, unsigned char S, unsigned char T) 10167{ 10168 unsigned char stk1; 10169 unsigned char stk2; 10170 unsigned char stk3; 10171 unsigned char stk4; 10172 stk4 = *D & S; 10173 stk3 = T | stk4; 10174 stk2 = S ^ stk3; 10175 stk1 = *D ^ stk2; 10176 stk1 = ~stk1; 10177 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 10178} 10179 10180/* DSTDSaoxxn source transparent/pattern opaque. */ 10181static void rop3_97_1_0 (unsigned char *D, unsigned char S, unsigned char T) 10182{ 10183 unsigned char stk1; 10184 unsigned char stk2; 10185 unsigned char stk3; 10186 unsigned char stk4; 10187 stk4 = *D & S; 10188 stk3 = T | stk4; 10189 stk2 = S ^ stk3; 10190 stk1 = *D ^ stk2; 10191 stk1 = ~stk1; 10192 *D = (stk1 & (~S)) | (*D & S); 10193} 10194 10195/* DSTDSaoxxn source/pattern transparent. */ 10196static void rop3_97_1_1 (unsigned char *D, unsigned char S, unsigned char T) 10197{ 10198 unsigned char stk1; 10199 unsigned char stk2; 10200 unsigned char stk3; 10201 unsigned char stk4; 10202 stk4 = *D & S; 10203 stk3 = T | stk4; 10204 stk2 = S ^ stk3; 10205 stk1 = *D ^ stk2; 10206 stk1 = ~stk1; 10207 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 10208} 10209 10210/* DSTDSaoxxn source/pattern opaque. */ 10211static unsigned xrop3_97_0_0 (unsigned char s, unsigned char t) 10212{ 10213 unsigned D = 0x00ff; 10214 unsigned S = ((unsigned)s << 8) | s; 10215 unsigned T = ((unsigned)t << 8) | t; 10216 unsigned stk1; 10217 unsigned stk2; 10218 unsigned stk3; 10219 unsigned stk4; 10220 stk4 = D & S; 10221 stk3 = T | stk4; 10222 stk2 = S ^ stk3; 10223 stk1 = D ^ stk2; 10224 stk1 = ~stk1; 10225 return stk1; 10226} 10227 10228/* DSTDSaoxxn source opaque/pattern transparent. */ 10229static unsigned xrop3_97_0_1 (unsigned char s, unsigned char t) 10230{ 10231 unsigned D = 0x00ff; 10232 unsigned S = ((unsigned)s << 8) | s; 10233 unsigned T = ((unsigned)t << 8) | t; 10234 unsigned stk1; 10235 unsigned stk2; 10236 unsigned stk3; 10237 unsigned stk4; 10238 stk4 = D & S; 10239 stk3 = T | stk4; 10240 stk2 = S ^ stk3; 10241 stk1 = D ^ stk2; 10242 stk1 = ~stk1; 10243 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 10244} 10245 10246/* DSTDSaoxxn source transparent/pattern opaque. */ 10247static unsigned xrop3_97_1_0 (unsigned char s, unsigned char t) 10248{ 10249 unsigned D = 0x00ff; 10250 unsigned S = ((unsigned)s << 8) | s; 10251 unsigned T = ((unsigned)t << 8) | t; 10252 unsigned stk1; 10253 unsigned stk2; 10254 unsigned stk3; 10255 unsigned stk4; 10256 stk4 = D & S; 10257 stk3 = T | stk4; 10258 stk2 = S ^ stk3; 10259 stk1 = D ^ stk2; 10260 stk1 = ~stk1; 10261 return (stk1 & (~S)) | (D & S); 10262} 10263 10264/* DSTDSaoxxn source/pattern transparent. */ 10265static unsigned xrop3_97_1_1 (unsigned char s, unsigned char t) 10266{ 10267 unsigned D = 0x00ff; 10268 unsigned S = ((unsigned)s << 8) | s; 10269 unsigned T = ((unsigned)t << 8) | t; 10270 unsigned stk1; 10271 unsigned stk2; 10272 unsigned stk3; 10273 unsigned stk4; 10274 stk4 = D & S; 10275 stk3 = T | stk4; 10276 stk2 = S ^ stk3; 10277 stk1 = D ^ stk2; 10278 stk1 = ~stk1; 10279 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 10280} 10281 10282/* DSTDoax source/pattern opaque. */ 10283static void rop3_98_0_0 (unsigned char *D, unsigned char S, unsigned char T) 10284{ 10285 unsigned char stk1; 10286 unsigned char stk2; 10287 unsigned char stk3; 10288 stk3 = T | *D; 10289 stk2 = S & stk3; 10290 stk1 = *D ^ stk2; 10291 *D = stk1; 10292} 10293 10294/* DSTDoax source opaque/pattern transparent. */ 10295static void rop3_98_0_1 (unsigned char *D, unsigned char S, unsigned char T) 10296{ 10297 unsigned char stk1; 10298 unsigned char stk2; 10299 unsigned char stk3; 10300 stk3 = T | *D; 10301 stk2 = S & stk3; 10302 stk1 = *D ^ stk2; 10303 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 10304} 10305 10306/* DSTDoax source transparent/pattern opaque. */ 10307static void rop3_98_1_0 (unsigned char *D, unsigned char S, unsigned char T) 10308{ 10309 unsigned char stk1; 10310 unsigned char stk2; 10311 unsigned char stk3; 10312 stk3 = T | *D; 10313 stk2 = S & stk3; 10314 stk1 = *D ^ stk2; 10315 *D = (stk1 & (~S)) | (*D & S); 10316} 10317 10318/* DSTDoax source/pattern transparent. */ 10319static void rop3_98_1_1 (unsigned char *D, unsigned char S, unsigned char T) 10320{ 10321 unsigned char stk1; 10322 unsigned char stk2; 10323 unsigned char stk3; 10324 stk3 = T | *D; 10325 stk2 = S & stk3; 10326 stk1 = *D ^ stk2; 10327 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 10328} 10329 10330/* DSTDoax source/pattern opaque. */ 10331static unsigned xrop3_98_0_0 (unsigned char s, unsigned char t) 10332{ 10333 unsigned D = 0x00ff; 10334 unsigned S = ((unsigned)s << 8) | s; 10335 unsigned T = ((unsigned)t << 8) | t; 10336 unsigned stk1; 10337 unsigned stk2; 10338 unsigned stk3; 10339 stk3 = T | D; 10340 stk2 = S & stk3; 10341 stk1 = D ^ stk2; 10342 return stk1; 10343} 10344 10345/* DSTDoax source opaque/pattern transparent. */ 10346static unsigned xrop3_98_0_1 (unsigned char s, unsigned char t) 10347{ 10348 unsigned D = 0x00ff; 10349 unsigned S = ((unsigned)s << 8) | s; 10350 unsigned T = ((unsigned)t << 8) | t; 10351 unsigned stk1; 10352 unsigned stk2; 10353 unsigned stk3; 10354 stk3 = T | D; 10355 stk2 = S & stk3; 10356 stk1 = D ^ stk2; 10357 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 10358} 10359 10360/* DSTDoax source transparent/pattern opaque. */ 10361static unsigned xrop3_98_1_0 (unsigned char s, unsigned char t) 10362{ 10363 unsigned D = 0x00ff; 10364 unsigned S = ((unsigned)s << 8) | s; 10365 unsigned T = ((unsigned)t << 8) | t; 10366 unsigned stk1; 10367 unsigned stk2; 10368 unsigned stk3; 10369 stk3 = T | D; 10370 stk2 = S & stk3; 10371 stk1 = D ^ stk2; 10372 return (stk1 & (~S)) | (D & S); 10373} 10374 10375/* DSTDoax source/pattern transparent. */ 10376static unsigned xrop3_98_1_1 (unsigned char s, unsigned char t) 10377{ 10378 unsigned D = 0x00ff; 10379 unsigned S = ((unsigned)s << 8) | s; 10380 unsigned T = ((unsigned)t << 8) | t; 10381 unsigned stk1; 10382 unsigned stk2; 10383 unsigned stk3; 10384 stk3 = T | D; 10385 stk2 = S & stk3; 10386 stk1 = D ^ stk2; 10387 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 10388} 10389 10390/* SDTnox source/pattern opaque. */ 10391static void rop3_99_0_0 (unsigned char *D, unsigned char S, unsigned char T) 10392{ 10393 unsigned char stk1; 10394 unsigned char stk2; 10395 unsigned char stk3; 10396 stk3 = ~T; 10397 stk2 = *D | stk3; 10398 stk1 = S ^ stk2; 10399 *D = stk1; 10400} 10401 10402/* SDTnox source opaque/pattern transparent. */ 10403static void rop3_99_0_1 (unsigned char *D, unsigned char S, unsigned char T) 10404{ 10405 unsigned char stk1; 10406 unsigned char stk2; 10407 unsigned char stk3; 10408 stk3 = ~T; 10409 stk2 = *D | stk3; 10410 stk1 = S ^ stk2; 10411 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 10412} 10413 10414/* SDTnox source transparent/pattern opaque. */ 10415static void rop3_99_1_0 (unsigned char *D, unsigned char S, unsigned char T) 10416{ 10417 unsigned char stk1; 10418 unsigned char stk2; 10419 unsigned char stk3; 10420 stk3 = ~T; 10421 stk2 = *D | stk3; 10422 stk1 = S ^ stk2; 10423 *D = (stk1 & (~S)) | (*D & S); 10424} 10425 10426/* SDTnox source/pattern transparent. */ 10427static void rop3_99_1_1 (unsigned char *D, unsigned char S, unsigned char T) 10428{ 10429 unsigned char stk1; 10430 unsigned char stk2; 10431 unsigned char stk3; 10432 stk3 = ~T; 10433 stk2 = *D | stk3; 10434 stk1 = S ^ stk2; 10435 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 10436} 10437 10438/* SDTnox source/pattern opaque. */ 10439static unsigned xrop3_99_0_0 (unsigned char s, unsigned char t) 10440{ 10441 unsigned D = 0x00ff; 10442 unsigned S = ((unsigned)s << 8) | s; 10443 unsigned T = ((unsigned)t << 8) | t; 10444 unsigned stk1; 10445 unsigned stk2; 10446 unsigned stk3; 10447 stk3 = ~T; 10448 stk2 = D | stk3; 10449 stk1 = S ^ stk2; 10450 return stk1; 10451} 10452 10453/* SDTnox source opaque/pattern transparent. */ 10454static unsigned xrop3_99_0_1 (unsigned char s, unsigned char t) 10455{ 10456 unsigned D = 0x00ff; 10457 unsigned S = ((unsigned)s << 8) | s; 10458 unsigned T = ((unsigned)t << 8) | t; 10459 unsigned stk1; 10460 unsigned stk2; 10461 unsigned stk3; 10462 stk3 = ~T; 10463 stk2 = D | stk3; 10464 stk1 = S ^ stk2; 10465 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 10466} 10467 10468/* SDTnox source transparent/pattern opaque. */ 10469static unsigned xrop3_99_1_0 (unsigned char s, unsigned char t) 10470{ 10471 unsigned D = 0x00ff; 10472 unsigned S = ((unsigned)s << 8) | s; 10473 unsigned T = ((unsigned)t << 8) | t; 10474 unsigned stk1; 10475 unsigned stk2; 10476 unsigned stk3; 10477 stk3 = ~T; 10478 stk2 = D | stk3; 10479 stk1 = S ^ stk2; 10480 return (stk1 & (~S)) | (D & S); 10481} 10482 10483/* SDTnox source/pattern transparent. */ 10484static unsigned xrop3_99_1_1 (unsigned char s, unsigned char t) 10485{ 10486 unsigned D = 0x00ff; 10487 unsigned S = ((unsigned)s << 8) | s; 10488 unsigned T = ((unsigned)t << 8) | t; 10489 unsigned stk1; 10490 unsigned stk2; 10491 unsigned stk3; 10492 stk3 = ~T; 10493 stk2 = D | stk3; 10494 stk1 = S ^ stk2; 10495 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 10496} 10497 10498/* SDTSoax source/pattern opaque. */ 10499static void rop3_100_0_0 (unsigned char *D, unsigned char S, unsigned char T) 10500{ 10501 unsigned char stk1; 10502 unsigned char stk2; 10503 unsigned char stk3; 10504 stk3 = T | S; 10505 stk2 = *D & stk3; 10506 stk1 = S ^ stk2; 10507 *D = stk1; 10508} 10509 10510/* SDTSoax source opaque/pattern transparent. */ 10511static void rop3_100_0_1 (unsigned char *D, unsigned char S, unsigned char T) 10512{ 10513 unsigned char stk1; 10514 unsigned char stk2; 10515 unsigned char stk3; 10516 stk3 = T | S; 10517 stk2 = *D & stk3; 10518 stk1 = S ^ stk2; 10519 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 10520} 10521 10522/* SDTSoax source transparent/pattern opaque. */ 10523static void rop3_100_1_0 (unsigned char *D, unsigned char S, unsigned char T) 10524{ 10525 unsigned char stk1; 10526 unsigned char stk2; 10527 unsigned char stk3; 10528 stk3 = T | S; 10529 stk2 = *D & stk3; 10530 stk1 = S ^ stk2; 10531 *D = (stk1 & (~S)) | (*D & S); 10532} 10533 10534/* SDTSoax source/pattern transparent. */ 10535static void rop3_100_1_1 (unsigned char *D, unsigned char S, unsigned char T) 10536{ 10537 unsigned char stk1; 10538 unsigned char stk2; 10539 unsigned char stk3; 10540 stk3 = T | S; 10541 stk2 = *D & stk3; 10542 stk1 = S ^ stk2; 10543 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 10544} 10545 10546/* SDTSoax source/pattern opaque. */ 10547static unsigned xrop3_100_0_0 (unsigned char s, unsigned char t) 10548{ 10549 unsigned D = 0x00ff; 10550 unsigned S = ((unsigned)s << 8) | s; 10551 unsigned T = ((unsigned)t << 8) | t; 10552 unsigned stk1; 10553 unsigned stk2; 10554 unsigned stk3; 10555 stk3 = T | S; 10556 stk2 = D & stk3; 10557 stk1 = S ^ stk2; 10558 return stk1; 10559} 10560 10561/* SDTSoax source opaque/pattern transparent. */ 10562static unsigned xrop3_100_0_1 (unsigned char s, unsigned char t) 10563{ 10564 unsigned D = 0x00ff; 10565 unsigned S = ((unsigned)s << 8) | s; 10566 unsigned T = ((unsigned)t << 8) | t; 10567 unsigned stk1; 10568 unsigned stk2; 10569 unsigned stk3; 10570 stk3 = T | S; 10571 stk2 = D & stk3; 10572 stk1 = S ^ stk2; 10573 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 10574} 10575 10576/* SDTSoax source transparent/pattern opaque. */ 10577static unsigned xrop3_100_1_0 (unsigned char s, unsigned char t) 10578{ 10579 unsigned D = 0x00ff; 10580 unsigned S = ((unsigned)s << 8) | s; 10581 unsigned T = ((unsigned)t << 8) | t; 10582 unsigned stk1; 10583 unsigned stk2; 10584 unsigned stk3; 10585 stk3 = T | S; 10586 stk2 = D & stk3; 10587 stk1 = S ^ stk2; 10588 return (stk1 & (~S)) | (D & S); 10589} 10590 10591/* SDTSoax source/pattern transparent. */ 10592static unsigned xrop3_100_1_1 (unsigned char s, unsigned char t) 10593{ 10594 unsigned D = 0x00ff; 10595 unsigned S = ((unsigned)s << 8) | s; 10596 unsigned T = ((unsigned)t << 8) | t; 10597 unsigned stk1; 10598 unsigned stk2; 10599 unsigned stk3; 10600 stk3 = T | S; 10601 stk2 = D & stk3; 10602 stk1 = S ^ stk2; 10603 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 10604} 10605 10606/* DSTnox source/pattern opaque. */ 10607static void rop3_101_0_0 (unsigned char *D, unsigned char S, unsigned char T) 10608{ 10609 unsigned char stk1; 10610 unsigned char stk2; 10611 unsigned char stk3; 10612 stk3 = ~T; 10613 stk2 = S | stk3; 10614 stk1 = *D ^ stk2; 10615 *D = stk1; 10616} 10617 10618/* DSTnox source opaque/pattern transparent. */ 10619static void rop3_101_0_1 (unsigned char *D, unsigned char S, unsigned char T) 10620{ 10621 unsigned char stk1; 10622 unsigned char stk2; 10623 unsigned char stk3; 10624 stk3 = ~T; 10625 stk2 = S | stk3; 10626 stk1 = *D ^ stk2; 10627 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 10628} 10629 10630/* DSTnox source transparent/pattern opaque. */ 10631static void rop3_101_1_0 (unsigned char *D, unsigned char S, unsigned char T) 10632{ 10633 unsigned char stk1; 10634 unsigned char stk2; 10635 unsigned char stk3; 10636 stk3 = ~T; 10637 stk2 = S | stk3; 10638 stk1 = *D ^ stk2; 10639 *D = (stk1 & (~S)) | (*D & S); 10640} 10641 10642/* DSTnox source/pattern transparent. */ 10643static void rop3_101_1_1 (unsigned char *D, unsigned char S, unsigned char T) 10644{ 10645 unsigned char stk1; 10646 unsigned char stk2; 10647 unsigned char stk3; 10648 stk3 = ~T; 10649 stk2 = S | stk3; 10650 stk1 = *D ^ stk2; 10651 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 10652} 10653 10654/* DSTnox source/pattern opaque. */ 10655static unsigned xrop3_101_0_0 (unsigned char s, unsigned char t) 10656{ 10657 unsigned D = 0x00ff; 10658 unsigned S = ((unsigned)s << 8) | s; 10659 unsigned T = ((unsigned)t << 8) | t; 10660 unsigned stk1; 10661 unsigned stk2; 10662 unsigned stk3; 10663 stk3 = ~T; 10664 stk2 = S | stk3; 10665 stk1 = D ^ stk2; 10666 return stk1; 10667} 10668 10669/* DSTnox source opaque/pattern transparent. */ 10670static unsigned xrop3_101_0_1 (unsigned char s, unsigned char t) 10671{ 10672 unsigned D = 0x00ff; 10673 unsigned S = ((unsigned)s << 8) | s; 10674 unsigned T = ((unsigned)t << 8) | t; 10675 unsigned stk1; 10676 unsigned stk2; 10677 unsigned stk3; 10678 stk3 = ~T; 10679 stk2 = S | stk3; 10680 stk1 = D ^ stk2; 10681 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 10682} 10683 10684/* DSTnox source transparent/pattern opaque. */ 10685static unsigned xrop3_101_1_0 (unsigned char s, unsigned char t) 10686{ 10687 unsigned D = 0x00ff; 10688 unsigned S = ((unsigned)s << 8) | s; 10689 unsigned T = ((unsigned)t << 8) | t; 10690 unsigned stk1; 10691 unsigned stk2; 10692 unsigned stk3; 10693 stk3 = ~T; 10694 stk2 = S | stk3; 10695 stk1 = D ^ stk2; 10696 return (stk1 & (~S)) | (D & S); 10697} 10698 10699/* DSTnox source/pattern transparent. */ 10700static unsigned xrop3_101_1_1 (unsigned char s, unsigned char t) 10701{ 10702 unsigned D = 0x00ff; 10703 unsigned S = ((unsigned)s << 8) | s; 10704 unsigned T = ((unsigned)t << 8) | t; 10705 unsigned stk1; 10706 unsigned stk2; 10707 unsigned stk3; 10708 stk3 = ~T; 10709 stk2 = S | stk3; 10710 stk1 = D ^ stk2; 10711 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 10712} 10713 10714/* DSx source/pattern opaque. */ 10715static void rop3_102_0_0 (unsigned char *D, unsigned char S, unsigned char T) 10716{ 10717 unsigned char stk1; 10718 stk1 = *D ^ S; 10719 *D = stk1; 10720} 10721 10722/* DSx source opaque/pattern transparent. */ 10723static void rop3_102_0_1 (unsigned char *D, unsigned char S, unsigned char T) 10724{ 10725 unsigned char stk1; 10726 stk1 = *D ^ S; 10727 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 10728} 10729 10730/* DSx source transparent/pattern opaque. */ 10731static void rop3_102_1_0 (unsigned char *D, unsigned char S, unsigned char T) 10732{ 10733 unsigned char stk1; 10734 stk1 = *D ^ S; 10735 *D = (stk1 & (~S)) | (*D & S); 10736} 10737 10738/* DSx source/pattern transparent. */ 10739static void rop3_102_1_1 (unsigned char *D, unsigned char S, unsigned char T) 10740{ 10741 unsigned char stk1; 10742 stk1 = *D ^ S; 10743 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 10744} 10745 10746/* DSx source/pattern opaque. */ 10747static unsigned xrop3_102_0_0 (unsigned char s, unsigned char t) 10748{ 10749 unsigned D = 0x00ff; 10750 unsigned S = ((unsigned)s << 8) | s; 10751 unsigned stk1; 10752 stk1 = D ^ S; 10753 return stk1; 10754} 10755 10756/* DSx source opaque/pattern transparent. */ 10757static unsigned xrop3_102_0_1 (unsigned char s, unsigned char t) 10758{ 10759 unsigned D = 0x00ff; 10760 unsigned S = ((unsigned)s << 8) | s; 10761 unsigned T = ((unsigned)t << 8) | t; 10762 unsigned stk1; 10763 stk1 = D ^ S; 10764 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 10765} 10766 10767/* DSx source transparent/pattern opaque. */ 10768static unsigned xrop3_102_1_0 (unsigned char s, unsigned char t) 10769{ 10770 unsigned D = 0x00ff; 10771 unsigned S = ((unsigned)s << 8) | s; 10772 unsigned stk1; 10773 stk1 = D ^ S; 10774 return (stk1 & (~S)) | (D & S); 10775} 10776 10777/* DSx source/pattern transparent. */ 10778static unsigned xrop3_102_1_1 (unsigned char s, unsigned char t) 10779{ 10780 unsigned D = 0x00ff; 10781 unsigned S = ((unsigned)s << 8) | s; 10782 unsigned T = ((unsigned)t << 8) | t; 10783 unsigned stk1; 10784 stk1 = D ^ S; 10785 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 10786} 10787 10788/* SDTSonox source/pattern opaque. */ 10789static void rop3_103_0_0 (unsigned char *D, unsigned char S, unsigned char T) 10790{ 10791 unsigned char stk1; 10792 unsigned char stk2; 10793 unsigned char stk3; 10794 stk3 = T | S; 10795 stk3 = ~stk3; 10796 stk2 = *D | stk3; 10797 stk1 = S ^ stk2; 10798 *D = stk1; 10799} 10800 10801/* SDTSonox source opaque/pattern transparent. */ 10802static void rop3_103_0_1 (unsigned char *D, unsigned char S, unsigned char T) 10803{ 10804 unsigned char stk1; 10805 unsigned char stk2; 10806 unsigned char stk3; 10807 stk3 = T | S; 10808 stk3 = ~stk3; 10809 stk2 = *D | stk3; 10810 stk1 = S ^ stk2; 10811 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 10812} 10813 10814/* SDTSonox source transparent/pattern opaque. */ 10815static void rop3_103_1_0 (unsigned char *D, unsigned char S, unsigned char T) 10816{ 10817 unsigned char stk1; 10818 unsigned char stk2; 10819 unsigned char stk3; 10820 stk3 = T | S; 10821 stk3 = ~stk3; 10822 stk2 = *D | stk3; 10823 stk1 = S ^ stk2; 10824 *D = (stk1 & (~S)) | (*D & S); 10825} 10826 10827/* SDTSonox source/pattern transparent. */ 10828static void rop3_103_1_1 (unsigned char *D, unsigned char S, unsigned char T) 10829{ 10830 unsigned char stk1; 10831 unsigned char stk2; 10832 unsigned char stk3; 10833 stk3 = T | S; 10834 stk3 = ~stk3; 10835 stk2 = *D | stk3; 10836 stk1 = S ^ stk2; 10837 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 10838} 10839 10840/* SDTSonox source/pattern opaque. */ 10841static unsigned xrop3_103_0_0 (unsigned char s, unsigned char t) 10842{ 10843 unsigned D = 0x00ff; 10844 unsigned S = ((unsigned)s << 8) | s; 10845 unsigned T = ((unsigned)t << 8) | t; 10846 unsigned stk1; 10847 unsigned stk2; 10848 unsigned stk3; 10849 stk3 = T | S; 10850 stk3 = ~stk3; 10851 stk2 = D | stk3; 10852 stk1 = S ^ stk2; 10853 return stk1; 10854} 10855 10856/* SDTSonox source opaque/pattern transparent. */ 10857static unsigned xrop3_103_0_1 (unsigned char s, unsigned char t) 10858{ 10859 unsigned D = 0x00ff; 10860 unsigned S = ((unsigned)s << 8) | s; 10861 unsigned T = ((unsigned)t << 8) | t; 10862 unsigned stk1; 10863 unsigned stk2; 10864 unsigned stk3; 10865 stk3 = T | S; 10866 stk3 = ~stk3; 10867 stk2 = D | stk3; 10868 stk1 = S ^ stk2; 10869 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 10870} 10871 10872/* SDTSonox source transparent/pattern opaque. */ 10873static unsigned xrop3_103_1_0 (unsigned char s, unsigned char t) 10874{ 10875 unsigned D = 0x00ff; 10876 unsigned S = ((unsigned)s << 8) | s; 10877 unsigned T = ((unsigned)t << 8) | t; 10878 unsigned stk1; 10879 unsigned stk2; 10880 unsigned stk3; 10881 stk3 = T | S; 10882 stk3 = ~stk3; 10883 stk2 = D | stk3; 10884 stk1 = S ^ stk2; 10885 return (stk1 & (~S)) | (D & S); 10886} 10887 10888/* SDTSonox source/pattern transparent. */ 10889static unsigned xrop3_103_1_1 (unsigned char s, unsigned char t) 10890{ 10891 unsigned D = 0x00ff; 10892 unsigned S = ((unsigned)s << 8) | s; 10893 unsigned T = ((unsigned)t << 8) | t; 10894 unsigned stk1; 10895 unsigned stk2; 10896 unsigned stk3; 10897 stk3 = T | S; 10898 stk3 = ~stk3; 10899 stk2 = D | stk3; 10900 stk1 = S ^ stk2; 10901 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 10902} 10903 10904/* DSTDSonoxxn source/pattern opaque. */ 10905static void rop3_104_0_0 (unsigned char *D, unsigned char S, unsigned char T) 10906{ 10907 unsigned char stk1; 10908 unsigned char stk2; 10909 unsigned char stk3; 10910 unsigned char stk4; 10911 stk4 = *D | S; 10912 stk4 = ~stk4; 10913 stk3 = T | stk4; 10914 stk2 = S ^ stk3; 10915 stk1 = *D ^ stk2; 10916 stk1 = ~stk1; 10917 *D = stk1; 10918} 10919 10920/* DSTDSonoxxn source opaque/pattern transparent. */ 10921static void rop3_104_0_1 (unsigned char *D, unsigned char S, unsigned char T) 10922{ 10923 unsigned char stk1; 10924 unsigned char stk2; 10925 unsigned char stk3; 10926 unsigned char stk4; 10927 stk4 = *D | S; 10928 stk4 = ~stk4; 10929 stk3 = T | stk4; 10930 stk2 = S ^ stk3; 10931 stk1 = *D ^ stk2; 10932 stk1 = ~stk1; 10933 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 10934} 10935 10936/* DSTDSonoxxn source transparent/pattern opaque. */ 10937static void rop3_104_1_0 (unsigned char *D, unsigned char S, unsigned char T) 10938{ 10939 unsigned char stk1; 10940 unsigned char stk2; 10941 unsigned char stk3; 10942 unsigned char stk4; 10943 stk4 = *D | S; 10944 stk4 = ~stk4; 10945 stk3 = T | stk4; 10946 stk2 = S ^ stk3; 10947 stk1 = *D ^ stk2; 10948 stk1 = ~stk1; 10949 *D = (stk1 & (~S)) | (*D & S); 10950} 10951 10952/* DSTDSonoxxn source/pattern transparent. */ 10953static void rop3_104_1_1 (unsigned char *D, unsigned char S, unsigned char T) 10954{ 10955 unsigned char stk1; 10956 unsigned char stk2; 10957 unsigned char stk3; 10958 unsigned char stk4; 10959 stk4 = *D | S; 10960 stk4 = ~stk4; 10961 stk3 = T | stk4; 10962 stk2 = S ^ stk3; 10963 stk1 = *D ^ stk2; 10964 stk1 = ~stk1; 10965 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 10966} 10967 10968/* DSTDSonoxxn source/pattern opaque. */ 10969static unsigned xrop3_104_0_0 (unsigned char s, unsigned char t) 10970{ 10971 unsigned D = 0x00ff; 10972 unsigned S = ((unsigned)s << 8) | s; 10973 unsigned T = ((unsigned)t << 8) | t; 10974 unsigned stk1; 10975 unsigned stk2; 10976 unsigned stk3; 10977 unsigned stk4; 10978 stk4 = D | S; 10979 stk4 = ~stk4; 10980 stk3 = T | stk4; 10981 stk2 = S ^ stk3; 10982 stk1 = D ^ stk2; 10983 stk1 = ~stk1; 10984 return stk1; 10985} 10986 10987/* DSTDSonoxxn source opaque/pattern transparent. */ 10988static unsigned xrop3_104_0_1 (unsigned char s, unsigned char t) 10989{ 10990 unsigned D = 0x00ff; 10991 unsigned S = ((unsigned)s << 8) | s; 10992 unsigned T = ((unsigned)t << 8) | t; 10993 unsigned stk1; 10994 unsigned stk2; 10995 unsigned stk3; 10996 unsigned stk4; 10997 stk4 = D | S; 10998 stk4 = ~stk4; 10999 stk3 = T | stk4; 11000 stk2 = S ^ stk3; 11001 stk1 = D ^ stk2; 11002 stk1 = ~stk1; 11003 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 11004} 11005 11006/* DSTDSonoxxn source transparent/pattern opaque. */ 11007static unsigned xrop3_104_1_0 (unsigned char s, unsigned char t) 11008{ 11009 unsigned D = 0x00ff; 11010 unsigned S = ((unsigned)s << 8) | s; 11011 unsigned T = ((unsigned)t << 8) | t; 11012 unsigned stk1; 11013 unsigned stk2; 11014 unsigned stk3; 11015 unsigned stk4; 11016 stk4 = D | S; 11017 stk4 = ~stk4; 11018 stk3 = T | stk4; 11019 stk2 = S ^ stk3; 11020 stk1 = D ^ stk2; 11021 stk1 = ~stk1; 11022 return (stk1 & (~S)) | (D & S); 11023} 11024 11025/* DSTDSonoxxn source/pattern transparent. */ 11026static unsigned xrop3_104_1_1 (unsigned char s, unsigned char t) 11027{ 11028 unsigned D = 0x00ff; 11029 unsigned S = ((unsigned)s << 8) | s; 11030 unsigned T = ((unsigned)t << 8) | t; 11031 unsigned stk1; 11032 unsigned stk2; 11033 unsigned stk3; 11034 unsigned stk4; 11035 stk4 = D | S; 11036 stk4 = ~stk4; 11037 stk3 = T | stk4; 11038 stk2 = S ^ stk3; 11039 stk1 = D ^ stk2; 11040 stk1 = ~stk1; 11041 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 11042} 11043 11044/* TDSxxn source/pattern opaque. */ 11045static void rop3_105_0_0 (unsigned char *D, unsigned char S, unsigned char T) 11046{ 11047 unsigned char stk1; 11048 unsigned char stk2; 11049 stk2 = *D ^ S; 11050 stk1 = T ^ stk2; 11051 stk1 = ~stk1; 11052 *D = stk1; 11053} 11054 11055/* TDSxxn source opaque/pattern transparent. */ 11056static void rop3_105_0_1 (unsigned char *D, unsigned char S, unsigned char T) 11057{ 11058 unsigned char stk1; 11059 unsigned char stk2; 11060 stk2 = *D ^ S; 11061 stk1 = T ^ stk2; 11062 stk1 = ~stk1; 11063 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 11064} 11065 11066/* TDSxxn source transparent/pattern opaque. */ 11067static void rop3_105_1_0 (unsigned char *D, unsigned char S, unsigned char T) 11068{ 11069 unsigned char stk1; 11070 unsigned char stk2; 11071 stk2 = *D ^ S; 11072 stk1 = T ^ stk2; 11073 stk1 = ~stk1; 11074 *D = (stk1 & (~S)) | (*D & S); 11075} 11076 11077/* TDSxxn source/pattern transparent. */ 11078static void rop3_105_1_1 (unsigned char *D, unsigned char S, unsigned char T) 11079{ 11080 unsigned char stk1; 11081 unsigned char stk2; 11082 stk2 = *D ^ S; 11083 stk1 = T ^ stk2; 11084 stk1 = ~stk1; 11085 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 11086} 11087 11088/* TDSxxn source/pattern opaque. */ 11089static unsigned xrop3_105_0_0 (unsigned char s, unsigned char t) 11090{ 11091 unsigned D = 0x00ff; 11092 unsigned S = ((unsigned)s << 8) | s; 11093 unsigned T = ((unsigned)t << 8) | t; 11094 unsigned stk1; 11095 unsigned stk2; 11096 stk2 = D ^ S; 11097 stk1 = T ^ stk2; 11098 stk1 = ~stk1; 11099 return stk1; 11100} 11101 11102/* TDSxxn source opaque/pattern transparent. */ 11103static unsigned xrop3_105_0_1 (unsigned char s, unsigned char t) 11104{ 11105 unsigned D = 0x00ff; 11106 unsigned S = ((unsigned)s << 8) | s; 11107 unsigned T = ((unsigned)t << 8) | t; 11108 unsigned stk1; 11109 unsigned stk2; 11110 stk2 = D ^ S; 11111 stk1 = T ^ stk2; 11112 stk1 = ~stk1; 11113 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 11114} 11115 11116/* TDSxxn source transparent/pattern opaque. */ 11117static unsigned xrop3_105_1_0 (unsigned char s, unsigned char t) 11118{ 11119 unsigned D = 0x00ff; 11120 unsigned S = ((unsigned)s << 8) | s; 11121 unsigned T = ((unsigned)t << 8) | t; 11122 unsigned stk1; 11123 unsigned stk2; 11124 stk2 = D ^ S; 11125 stk1 = T ^ stk2; 11126 stk1 = ~stk1; 11127 return (stk1 & (~S)) | (D & S); 11128} 11129 11130/* TDSxxn source/pattern transparent. */ 11131static unsigned xrop3_105_1_1 (unsigned char s, unsigned char t) 11132{ 11133 unsigned D = 0x00ff; 11134 unsigned S = ((unsigned)s << 8) | s; 11135 unsigned T = ((unsigned)t << 8) | t; 11136 unsigned stk1; 11137 unsigned stk2; 11138 stk2 = D ^ S; 11139 stk1 = T ^ stk2; 11140 stk1 = ~stk1; 11141 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 11142} 11143 11144/* DTSax source/pattern opaque. */ 11145static void rop3_106_0_0 (unsigned char *D, unsigned char S, unsigned char T) 11146{ 11147 unsigned char stk1; 11148 unsigned char stk2; 11149 stk2 = T & S; 11150 stk1 = *D ^ stk2; 11151 *D = stk1; 11152} 11153 11154/* DTSax source opaque/pattern transparent. */ 11155static void rop3_106_0_1 (unsigned char *D, unsigned char S, unsigned char T) 11156{ 11157 unsigned char stk1; 11158 unsigned char stk2; 11159 stk2 = T & S; 11160 stk1 = *D ^ stk2; 11161 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 11162} 11163 11164/* DTSax source transparent/pattern opaque. */ 11165static void rop3_106_1_0 (unsigned char *D, unsigned char S, unsigned char T) 11166{ 11167 unsigned char stk1; 11168 unsigned char stk2; 11169 stk2 = T & S; 11170 stk1 = *D ^ stk2; 11171 *D = (stk1 & (~S)) | (*D & S); 11172} 11173 11174/* DTSax source/pattern transparent. */ 11175static void rop3_106_1_1 (unsigned char *D, unsigned char S, unsigned char T) 11176{ 11177 unsigned char stk1; 11178 unsigned char stk2; 11179 stk2 = T & S; 11180 stk1 = *D ^ stk2; 11181 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 11182} 11183 11184/* DTSax source/pattern opaque. */ 11185static unsigned xrop3_106_0_0 (unsigned char s, unsigned char t) 11186{ 11187 unsigned D = 0x00ff; 11188 unsigned S = ((unsigned)s << 8) | s; 11189 unsigned T = ((unsigned)t << 8) | t; 11190 unsigned stk1; 11191 unsigned stk2; 11192 stk2 = T & S; 11193 stk1 = D ^ stk2; 11194 return stk1; 11195} 11196 11197/* DTSax source opaque/pattern transparent. */ 11198static unsigned xrop3_106_0_1 (unsigned char s, unsigned char t) 11199{ 11200 unsigned D = 0x00ff; 11201 unsigned S = ((unsigned)s << 8) | s; 11202 unsigned T = ((unsigned)t << 8) | t; 11203 unsigned stk1; 11204 unsigned stk2; 11205 stk2 = T & S; 11206 stk1 = D ^ stk2; 11207 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 11208} 11209 11210/* DTSax source transparent/pattern opaque. */ 11211static unsigned xrop3_106_1_0 (unsigned char s, unsigned char t) 11212{ 11213 unsigned D = 0x00ff; 11214 unsigned S = ((unsigned)s << 8) | s; 11215 unsigned T = ((unsigned)t << 8) | t; 11216 unsigned stk1; 11217 unsigned stk2; 11218 stk2 = T & S; 11219 stk1 = D ^ stk2; 11220 return (stk1 & (~S)) | (D & S); 11221} 11222 11223/* DTSax source/pattern transparent. */ 11224static unsigned xrop3_106_1_1 (unsigned char s, unsigned char t) 11225{ 11226 unsigned D = 0x00ff; 11227 unsigned S = ((unsigned)s << 8) | s; 11228 unsigned T = ((unsigned)t << 8) | t; 11229 unsigned stk1; 11230 unsigned stk2; 11231 stk2 = T & S; 11232 stk1 = D ^ stk2; 11233 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 11234} 11235 11236/* TSDTSoaxxn source/pattern opaque. */ 11237static void rop3_107_0_0 (unsigned char *D, unsigned char S, unsigned char T) 11238{ 11239 unsigned char stk1; 11240 unsigned char stk2; 11241 unsigned char stk3; 11242 unsigned char stk4; 11243 stk4 = T | S; 11244 stk3 = *D & stk4; 11245 stk2 = S ^ stk3; 11246 stk1 = T ^ stk2; 11247 stk1 = ~stk1; 11248 *D = stk1; 11249} 11250 11251/* TSDTSoaxxn source opaque/pattern transparent. */ 11252static void rop3_107_0_1 (unsigned char *D, unsigned char S, unsigned char T) 11253{ 11254 unsigned char stk1; 11255 unsigned char stk2; 11256 unsigned char stk3; 11257 unsigned char stk4; 11258 stk4 = T | S; 11259 stk3 = *D & stk4; 11260 stk2 = S ^ stk3; 11261 stk1 = T ^ stk2; 11262 stk1 = ~stk1; 11263 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 11264} 11265 11266/* TSDTSoaxxn source transparent/pattern opaque. */ 11267static void rop3_107_1_0 (unsigned char *D, unsigned char S, unsigned char T) 11268{ 11269 unsigned char stk1; 11270 unsigned char stk2; 11271 unsigned char stk3; 11272 unsigned char stk4; 11273 stk4 = T | S; 11274 stk3 = *D & stk4; 11275 stk2 = S ^ stk3; 11276 stk1 = T ^ stk2; 11277 stk1 = ~stk1; 11278 *D = (stk1 & (~S)) | (*D & S); 11279} 11280 11281/* TSDTSoaxxn source/pattern transparent. */ 11282static void rop3_107_1_1 (unsigned char *D, unsigned char S, unsigned char T) 11283{ 11284 unsigned char stk1; 11285 unsigned char stk2; 11286 unsigned char stk3; 11287 unsigned char stk4; 11288 stk4 = T | S; 11289 stk3 = *D & stk4; 11290 stk2 = S ^ stk3; 11291 stk1 = T ^ stk2; 11292 stk1 = ~stk1; 11293 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 11294} 11295 11296/* TSDTSoaxxn source/pattern opaque. */ 11297static unsigned xrop3_107_0_0 (unsigned char s, unsigned char t) 11298{ 11299 unsigned D = 0x00ff; 11300 unsigned S = ((unsigned)s << 8) | s; 11301 unsigned T = ((unsigned)t << 8) | t; 11302 unsigned stk1; 11303 unsigned stk2; 11304 unsigned stk3; 11305 unsigned stk4; 11306 stk4 = T | S; 11307 stk3 = D & stk4; 11308 stk2 = S ^ stk3; 11309 stk1 = T ^ stk2; 11310 stk1 = ~stk1; 11311 return stk1; 11312} 11313 11314/* TSDTSoaxxn source opaque/pattern transparent. */ 11315static unsigned xrop3_107_0_1 (unsigned char s, unsigned char t) 11316{ 11317 unsigned D = 0x00ff; 11318 unsigned S = ((unsigned)s << 8) | s; 11319 unsigned T = ((unsigned)t << 8) | t; 11320 unsigned stk1; 11321 unsigned stk2; 11322 unsigned stk3; 11323 unsigned stk4; 11324 stk4 = T | S; 11325 stk3 = D & stk4; 11326 stk2 = S ^ stk3; 11327 stk1 = T ^ stk2; 11328 stk1 = ~stk1; 11329 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 11330} 11331 11332/* TSDTSoaxxn source transparent/pattern opaque. */ 11333static unsigned xrop3_107_1_0 (unsigned char s, unsigned char t) 11334{ 11335 unsigned D = 0x00ff; 11336 unsigned S = ((unsigned)s << 8) | s; 11337 unsigned T = ((unsigned)t << 8) | t; 11338 unsigned stk1; 11339 unsigned stk2; 11340 unsigned stk3; 11341 unsigned stk4; 11342 stk4 = T | S; 11343 stk3 = D & stk4; 11344 stk2 = S ^ stk3; 11345 stk1 = T ^ stk2; 11346 stk1 = ~stk1; 11347 return (stk1 & (~S)) | (D & S); 11348} 11349 11350/* TSDTSoaxxn source/pattern transparent. */ 11351static unsigned xrop3_107_1_1 (unsigned char s, unsigned char t) 11352{ 11353 unsigned D = 0x00ff; 11354 unsigned S = ((unsigned)s << 8) | s; 11355 unsigned T = ((unsigned)t << 8) | t; 11356 unsigned stk1; 11357 unsigned stk2; 11358 unsigned stk3; 11359 unsigned stk4; 11360 stk4 = T | S; 11361 stk3 = D & stk4; 11362 stk2 = S ^ stk3; 11363 stk1 = T ^ stk2; 11364 stk1 = ~stk1; 11365 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 11366} 11367 11368/* SDTax source/pattern opaque. */ 11369static void rop3_108_0_0 (unsigned char *D, unsigned char S, unsigned char T) 11370{ 11371 unsigned char stk1; 11372 unsigned char stk2; 11373 stk2 = *D & T; 11374 stk1 = S ^ stk2; 11375 *D = stk1; 11376} 11377 11378/* SDTax source opaque/pattern transparent. */ 11379static void rop3_108_0_1 (unsigned char *D, unsigned char S, unsigned char T) 11380{ 11381 unsigned char stk1; 11382 unsigned char stk2; 11383 stk2 = *D & T; 11384 stk1 = S ^ stk2; 11385 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 11386} 11387 11388/* SDTax source transparent/pattern opaque. */ 11389static void rop3_108_1_0 (unsigned char *D, unsigned char S, unsigned char T) 11390{ 11391 unsigned char stk1; 11392 unsigned char stk2; 11393 stk2 = *D & T; 11394 stk1 = S ^ stk2; 11395 *D = (stk1 & (~S)) | (*D & S); 11396} 11397 11398/* SDTax source/pattern transparent. */ 11399static void rop3_108_1_1 (unsigned char *D, unsigned char S, unsigned char T) 11400{ 11401 unsigned char stk1; 11402 unsigned char stk2; 11403 stk2 = *D & T; 11404 stk1 = S ^ stk2; 11405 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 11406} 11407 11408/* SDTax source/pattern opaque. */ 11409static unsigned xrop3_108_0_0 (unsigned char s, unsigned char t) 11410{ 11411 unsigned D = 0x00ff; 11412 unsigned S = ((unsigned)s << 8) | s; 11413 unsigned T = ((unsigned)t << 8) | t; 11414 unsigned stk1; 11415 unsigned stk2; 11416 stk2 = D & T; 11417 stk1 = S ^ stk2; 11418 return stk1; 11419} 11420 11421/* SDTax source opaque/pattern transparent. */ 11422static unsigned xrop3_108_0_1 (unsigned char s, unsigned char t) 11423{ 11424 unsigned D = 0x00ff; 11425 unsigned S = ((unsigned)s << 8) | s; 11426 unsigned T = ((unsigned)t << 8) | t; 11427 unsigned stk1; 11428 unsigned stk2; 11429 stk2 = D & T; 11430 stk1 = S ^ stk2; 11431 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 11432} 11433 11434/* SDTax source transparent/pattern opaque. */ 11435static unsigned xrop3_108_1_0 (unsigned char s, unsigned char t) 11436{ 11437 unsigned D = 0x00ff; 11438 unsigned S = ((unsigned)s << 8) | s; 11439 unsigned T = ((unsigned)t << 8) | t; 11440 unsigned stk1; 11441 unsigned stk2; 11442 stk2 = D & T; 11443 stk1 = S ^ stk2; 11444 return (stk1 & (~S)) | (D & S); 11445} 11446 11447/* SDTax source/pattern transparent. */ 11448static unsigned xrop3_108_1_1 (unsigned char s, unsigned char t) 11449{ 11450 unsigned D = 0x00ff; 11451 unsigned S = ((unsigned)s << 8) | s; 11452 unsigned T = ((unsigned)t << 8) | t; 11453 unsigned stk1; 11454 unsigned stk2; 11455 stk2 = D & T; 11456 stk1 = S ^ stk2; 11457 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 11458} 11459 11460/* TDSTDoaxxn source/pattern opaque. */ 11461static void rop3_109_0_0 (unsigned char *D, unsigned char S, unsigned char T) 11462{ 11463 unsigned char stk1; 11464 unsigned char stk2; 11465 unsigned char stk3; 11466 unsigned char stk4; 11467 stk4 = T | *D; 11468 stk3 = S & stk4; 11469 stk2 = *D ^ stk3; 11470 stk1 = T ^ stk2; 11471 stk1 = ~stk1; 11472 *D = stk1; 11473} 11474 11475/* TDSTDoaxxn source opaque/pattern transparent. */ 11476static void rop3_109_0_1 (unsigned char *D, unsigned char S, unsigned char T) 11477{ 11478 unsigned char stk1; 11479 unsigned char stk2; 11480 unsigned char stk3; 11481 unsigned char stk4; 11482 stk4 = T | *D; 11483 stk3 = S & stk4; 11484 stk2 = *D ^ stk3; 11485 stk1 = T ^ stk2; 11486 stk1 = ~stk1; 11487 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 11488} 11489 11490/* TDSTDoaxxn source transparent/pattern opaque. */ 11491static void rop3_109_1_0 (unsigned char *D, unsigned char S, unsigned char T) 11492{ 11493 unsigned char stk1; 11494 unsigned char stk2; 11495 unsigned char stk3; 11496 unsigned char stk4; 11497 stk4 = T | *D; 11498 stk3 = S & stk4; 11499 stk2 = *D ^ stk3; 11500 stk1 = T ^ stk2; 11501 stk1 = ~stk1; 11502 *D = (stk1 & (~S)) | (*D & S); 11503} 11504 11505/* TDSTDoaxxn source/pattern transparent. */ 11506static void rop3_109_1_1 (unsigned char *D, unsigned char S, unsigned char T) 11507{ 11508 unsigned char stk1; 11509 unsigned char stk2; 11510 unsigned char stk3; 11511 unsigned char stk4; 11512 stk4 = T | *D; 11513 stk3 = S & stk4; 11514 stk2 = *D ^ stk3; 11515 stk1 = T ^ stk2; 11516 stk1 = ~stk1; 11517 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 11518} 11519 11520/* TDSTDoaxxn source/pattern opaque. */ 11521static unsigned xrop3_109_0_0 (unsigned char s, unsigned char t) 11522{ 11523 unsigned D = 0x00ff; 11524 unsigned S = ((unsigned)s << 8) | s; 11525 unsigned T = ((unsigned)t << 8) | t; 11526 unsigned stk1; 11527 unsigned stk2; 11528 unsigned stk3; 11529 unsigned stk4; 11530 stk4 = T | D; 11531 stk3 = S & stk4; 11532 stk2 = D ^ stk3; 11533 stk1 = T ^ stk2; 11534 stk1 = ~stk1; 11535 return stk1; 11536} 11537 11538/* TDSTDoaxxn source opaque/pattern transparent. */ 11539static unsigned xrop3_109_0_1 (unsigned char s, unsigned char t) 11540{ 11541 unsigned D = 0x00ff; 11542 unsigned S = ((unsigned)s << 8) | s; 11543 unsigned T = ((unsigned)t << 8) | t; 11544 unsigned stk1; 11545 unsigned stk2; 11546 unsigned stk3; 11547 unsigned stk4; 11548 stk4 = T | D; 11549 stk3 = S & stk4; 11550 stk2 = D ^ stk3; 11551 stk1 = T ^ stk2; 11552 stk1 = ~stk1; 11553 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 11554} 11555 11556/* TDSTDoaxxn source transparent/pattern opaque. */ 11557static unsigned xrop3_109_1_0 (unsigned char s, unsigned char t) 11558{ 11559 unsigned D = 0x00ff; 11560 unsigned S = ((unsigned)s << 8) | s; 11561 unsigned T = ((unsigned)t << 8) | t; 11562 unsigned stk1; 11563 unsigned stk2; 11564 unsigned stk3; 11565 unsigned stk4; 11566 stk4 = T | D; 11567 stk3 = S & stk4; 11568 stk2 = D ^ stk3; 11569 stk1 = T ^ stk2; 11570 stk1 = ~stk1; 11571 return (stk1 & (~S)) | (D & S); 11572} 11573 11574/* TDSTDoaxxn source/pattern transparent. */ 11575static unsigned xrop3_109_1_1 (unsigned char s, unsigned char t) 11576{ 11577 unsigned D = 0x00ff; 11578 unsigned S = ((unsigned)s << 8) | s; 11579 unsigned T = ((unsigned)t << 8) | t; 11580 unsigned stk1; 11581 unsigned stk2; 11582 unsigned stk3; 11583 unsigned stk4; 11584 stk4 = T | D; 11585 stk3 = S & stk4; 11586 stk2 = D ^ stk3; 11587 stk1 = T ^ stk2; 11588 stk1 = ~stk1; 11589 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 11590} 11591 11592/* SDTSnoax source/pattern opaque. */ 11593static void rop3_110_0_0 (unsigned char *D, unsigned char S, unsigned char T) 11594{ 11595 unsigned char stk1; 11596 unsigned char stk2; 11597 unsigned char stk3; 11598 unsigned char stk4; 11599 stk4 = ~S; 11600 stk3 = T | stk4; 11601 stk2 = *D & stk3; 11602 stk1 = S ^ stk2; 11603 *D = stk1; 11604} 11605 11606/* SDTSnoax source opaque/pattern transparent. */ 11607static void rop3_110_0_1 (unsigned char *D, unsigned char S, unsigned char T) 11608{ 11609 unsigned char stk1; 11610 unsigned char stk2; 11611 unsigned char stk3; 11612 unsigned char stk4; 11613 stk4 = ~S; 11614 stk3 = T | stk4; 11615 stk2 = *D & stk3; 11616 stk1 = S ^ stk2; 11617 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 11618} 11619 11620/* SDTSnoax source transparent/pattern opaque. */ 11621static void rop3_110_1_0 (unsigned char *D, unsigned char S, unsigned char T) 11622{ 11623 unsigned char stk1; 11624 unsigned char stk2; 11625 unsigned char stk3; 11626 unsigned char stk4; 11627 stk4 = ~S; 11628 stk3 = T | stk4; 11629 stk2 = *D & stk3; 11630 stk1 = S ^ stk2; 11631 *D = (stk1 & (~S)) | (*D & S); 11632} 11633 11634/* SDTSnoax source/pattern transparent. */ 11635static void rop3_110_1_1 (unsigned char *D, unsigned char S, unsigned char T) 11636{ 11637 unsigned char stk1; 11638 unsigned char stk2; 11639 unsigned char stk3; 11640 unsigned char stk4; 11641 stk4 = ~S; 11642 stk3 = T | stk4; 11643 stk2 = *D & stk3; 11644 stk1 = S ^ stk2; 11645 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 11646} 11647 11648/* SDTSnoax source/pattern opaque. */ 11649static unsigned xrop3_110_0_0 (unsigned char s, unsigned char t) 11650{ 11651 unsigned D = 0x00ff; 11652 unsigned S = ((unsigned)s << 8) | s; 11653 unsigned T = ((unsigned)t << 8) | t; 11654 unsigned stk1; 11655 unsigned stk2; 11656 unsigned stk3; 11657 unsigned stk4; 11658 stk4 = ~S; 11659 stk3 = T | stk4; 11660 stk2 = D & stk3; 11661 stk1 = S ^ stk2; 11662 return stk1; 11663} 11664 11665/* SDTSnoax source opaque/pattern transparent. */ 11666static unsigned xrop3_110_0_1 (unsigned char s, unsigned char t) 11667{ 11668 unsigned D = 0x00ff; 11669 unsigned S = ((unsigned)s << 8) | s; 11670 unsigned T = ((unsigned)t << 8) | t; 11671 unsigned stk1; 11672 unsigned stk2; 11673 unsigned stk3; 11674 unsigned stk4; 11675 stk4 = ~S; 11676 stk3 = T | stk4; 11677 stk2 = D & stk3; 11678 stk1 = S ^ stk2; 11679 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 11680} 11681 11682/* SDTSnoax source transparent/pattern opaque. */ 11683static unsigned xrop3_110_1_0 (unsigned char s, unsigned char t) 11684{ 11685 unsigned D = 0x00ff; 11686 unsigned S = ((unsigned)s << 8) | s; 11687 unsigned T = ((unsigned)t << 8) | t; 11688 unsigned stk1; 11689 unsigned stk2; 11690 unsigned stk3; 11691 unsigned stk4; 11692 stk4 = ~S; 11693 stk3 = T | stk4; 11694 stk2 = D & stk3; 11695 stk1 = S ^ stk2; 11696 return (stk1 & (~S)) | (D & S); 11697} 11698 11699/* SDTSnoax source/pattern transparent. */ 11700static unsigned xrop3_110_1_1 (unsigned char s, unsigned char t) 11701{ 11702 unsigned D = 0x00ff; 11703 unsigned S = ((unsigned)s << 8) | s; 11704 unsigned T = ((unsigned)t << 8) | t; 11705 unsigned stk1; 11706 unsigned stk2; 11707 unsigned stk3; 11708 unsigned stk4; 11709 stk4 = ~S; 11710 stk3 = T | stk4; 11711 stk2 = D & stk3; 11712 stk1 = S ^ stk2; 11713 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 11714} 11715 11716/* TDSxnan source/pattern opaque. */ 11717static void rop3_111_0_0 (unsigned char *D, unsigned char S, unsigned char T) 11718{ 11719 unsigned char stk1; 11720 unsigned char stk2; 11721 stk2 = *D ^ S; 11722 stk2 = ~stk2; 11723 stk1 = T & stk2; 11724 stk1 = ~stk1; 11725 *D = stk1; 11726} 11727 11728/* TDSxnan source opaque/pattern transparent. */ 11729static void rop3_111_0_1 (unsigned char *D, unsigned char S, unsigned char T) 11730{ 11731 unsigned char stk1; 11732 unsigned char stk2; 11733 stk2 = *D ^ S; 11734 stk2 = ~stk2; 11735 stk1 = T & stk2; 11736 stk1 = ~stk1; 11737 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 11738} 11739 11740/* TDSxnan source transparent/pattern opaque. */ 11741static void rop3_111_1_0 (unsigned char *D, unsigned char S, unsigned char T) 11742{ 11743 unsigned char stk1; 11744 unsigned char stk2; 11745 stk2 = *D ^ S; 11746 stk2 = ~stk2; 11747 stk1 = T & stk2; 11748 stk1 = ~stk1; 11749 *D = (stk1 & (~S)) | (*D & S); 11750} 11751 11752/* TDSxnan source/pattern transparent. */ 11753static void rop3_111_1_1 (unsigned char *D, unsigned char S, unsigned char T) 11754{ 11755 unsigned char stk1; 11756 unsigned char stk2; 11757 stk2 = *D ^ S; 11758 stk2 = ~stk2; 11759 stk1 = T & stk2; 11760 stk1 = ~stk1; 11761 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 11762} 11763 11764/* TDSxnan source/pattern opaque. */ 11765static unsigned xrop3_111_0_0 (unsigned char s, unsigned char t) 11766{ 11767 unsigned D = 0x00ff; 11768 unsigned S = ((unsigned)s << 8) | s; 11769 unsigned T = ((unsigned)t << 8) | t; 11770 unsigned stk1; 11771 unsigned stk2; 11772 stk2 = D ^ S; 11773 stk2 = ~stk2; 11774 stk1 = T & stk2; 11775 stk1 = ~stk1; 11776 return stk1; 11777} 11778 11779/* TDSxnan source opaque/pattern transparent. */ 11780static unsigned xrop3_111_0_1 (unsigned char s, unsigned char t) 11781{ 11782 unsigned D = 0x00ff; 11783 unsigned S = ((unsigned)s << 8) | s; 11784 unsigned T = ((unsigned)t << 8) | t; 11785 unsigned stk1; 11786 unsigned stk2; 11787 stk2 = D ^ S; 11788 stk2 = ~stk2; 11789 stk1 = T & stk2; 11790 stk1 = ~stk1; 11791 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 11792} 11793 11794/* TDSxnan source transparent/pattern opaque. */ 11795static unsigned xrop3_111_1_0 (unsigned char s, unsigned char t) 11796{ 11797 unsigned D = 0x00ff; 11798 unsigned S = ((unsigned)s << 8) | s; 11799 unsigned T = ((unsigned)t << 8) | t; 11800 unsigned stk1; 11801 unsigned stk2; 11802 stk2 = D ^ S; 11803 stk2 = ~stk2; 11804 stk1 = T & stk2; 11805 stk1 = ~stk1; 11806 return (stk1 & (~S)) | (D & S); 11807} 11808 11809/* TDSxnan source/pattern transparent. */ 11810static unsigned xrop3_111_1_1 (unsigned char s, unsigned char t) 11811{ 11812 unsigned D = 0x00ff; 11813 unsigned S = ((unsigned)s << 8) | s; 11814 unsigned T = ((unsigned)t << 8) | t; 11815 unsigned stk1; 11816 unsigned stk2; 11817 stk2 = D ^ S; 11818 stk2 = ~stk2; 11819 stk1 = T & stk2; 11820 stk1 = ~stk1; 11821 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 11822} 11823 11824/* TDSana source/pattern opaque. */ 11825static void rop3_112_0_0 (unsigned char *D, unsigned char S, unsigned char T) 11826{ 11827 unsigned char stk1; 11828 unsigned char stk2; 11829 stk2 = *D & S; 11830 stk2 = ~stk2; 11831 stk1 = T & stk2; 11832 *D = stk1; 11833} 11834 11835/* TDSana source opaque/pattern transparent. */ 11836static void rop3_112_0_1 (unsigned char *D, unsigned char S, unsigned char T) 11837{ 11838 unsigned char stk1; 11839 unsigned char stk2; 11840 stk2 = *D & S; 11841 stk2 = ~stk2; 11842 stk1 = T & stk2; 11843 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 11844} 11845 11846/* TDSana source transparent/pattern opaque. */ 11847static void rop3_112_1_0 (unsigned char *D, unsigned char S, unsigned char T) 11848{ 11849 unsigned char stk1; 11850 unsigned char stk2; 11851 stk2 = *D & S; 11852 stk2 = ~stk2; 11853 stk1 = T & stk2; 11854 *D = (stk1 & (~S)) | (*D & S); 11855} 11856 11857/* TDSana source/pattern transparent. */ 11858static void rop3_112_1_1 (unsigned char *D, unsigned char S, unsigned char T) 11859{ 11860 unsigned char stk1; 11861 unsigned char stk2; 11862 stk2 = *D & S; 11863 stk2 = ~stk2; 11864 stk1 = T & stk2; 11865 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 11866} 11867 11868/* TDSana source/pattern opaque. */ 11869static unsigned xrop3_112_0_0 (unsigned char s, unsigned char t) 11870{ 11871 unsigned D = 0x00ff; 11872 unsigned S = ((unsigned)s << 8) | s; 11873 unsigned T = ((unsigned)t << 8) | t; 11874 unsigned stk1; 11875 unsigned stk2; 11876 stk2 = D & S; 11877 stk2 = ~stk2; 11878 stk1 = T & stk2; 11879 return stk1; 11880} 11881 11882/* TDSana source opaque/pattern transparent. */ 11883static unsigned xrop3_112_0_1 (unsigned char s, unsigned char t) 11884{ 11885 unsigned D = 0x00ff; 11886 unsigned S = ((unsigned)s << 8) | s; 11887 unsigned T = ((unsigned)t << 8) | t; 11888 unsigned stk1; 11889 unsigned stk2; 11890 stk2 = D & S; 11891 stk2 = ~stk2; 11892 stk1 = T & stk2; 11893 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 11894} 11895 11896/* TDSana source transparent/pattern opaque. */ 11897static unsigned xrop3_112_1_0 (unsigned char s, unsigned char t) 11898{ 11899 unsigned D = 0x00ff; 11900 unsigned S = ((unsigned)s << 8) | s; 11901 unsigned T = ((unsigned)t << 8) | t; 11902 unsigned stk1; 11903 unsigned stk2; 11904 stk2 = D & S; 11905 stk2 = ~stk2; 11906 stk1 = T & stk2; 11907 return (stk1 & (~S)) | (D & S); 11908} 11909 11910/* TDSana source/pattern transparent. */ 11911static unsigned xrop3_112_1_1 (unsigned char s, unsigned char t) 11912{ 11913 unsigned D = 0x00ff; 11914 unsigned S = ((unsigned)s << 8) | s; 11915 unsigned T = ((unsigned)t << 8) | t; 11916 unsigned stk1; 11917 unsigned stk2; 11918 stk2 = D & S; 11919 stk2 = ~stk2; 11920 stk1 = T & stk2; 11921 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 11922} 11923 11924/* SSDxTDxaxn source/pattern opaque. */ 11925static void rop3_113_0_0 (unsigned char *D, unsigned char S, unsigned char T) 11926{ 11927 unsigned char stk1; 11928 unsigned char stk2; 11929 unsigned char stk3; 11930 stk2 = S ^ *D; 11931 stk3 = T ^ *D; 11932 stk2 = stk2 & stk3; 11933 stk1 = S ^ stk2; 11934 stk1 = ~stk1; 11935 *D = stk1; 11936} 11937 11938/* SSDxTDxaxn source opaque/pattern transparent. */ 11939static void rop3_113_0_1 (unsigned char *D, unsigned char S, unsigned char T) 11940{ 11941 unsigned char stk1; 11942 unsigned char stk2; 11943 unsigned char stk3; 11944 stk2 = S ^ *D; 11945 stk3 = T ^ *D; 11946 stk2 = stk2 & stk3; 11947 stk1 = S ^ stk2; 11948 stk1 = ~stk1; 11949 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 11950} 11951 11952/* SSDxTDxaxn source transparent/pattern opaque. */ 11953static void rop3_113_1_0 (unsigned char *D, unsigned char S, unsigned char T) 11954{ 11955 unsigned char stk1; 11956 unsigned char stk2; 11957 unsigned char stk3; 11958 stk2 = S ^ *D; 11959 stk3 = T ^ *D; 11960 stk2 = stk2 & stk3; 11961 stk1 = S ^ stk2; 11962 stk1 = ~stk1; 11963 *D = (stk1 & (~S)) | (*D & S); 11964} 11965 11966/* SSDxTDxaxn source/pattern transparent. */ 11967static void rop3_113_1_1 (unsigned char *D, unsigned char S, unsigned char T) 11968{ 11969 unsigned char stk1; 11970 unsigned char stk2; 11971 unsigned char stk3; 11972 stk2 = S ^ *D; 11973 stk3 = T ^ *D; 11974 stk2 = stk2 & stk3; 11975 stk1 = S ^ stk2; 11976 stk1 = ~stk1; 11977 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 11978} 11979 11980/* SSDxTDxaxn source/pattern opaque. */ 11981static unsigned xrop3_113_0_0 (unsigned char s, unsigned char t) 11982{ 11983 unsigned D = 0x00ff; 11984 unsigned S = ((unsigned)s << 8) | s; 11985 unsigned T = ((unsigned)t << 8) | t; 11986 unsigned stk1; 11987 unsigned stk2; 11988 unsigned stk3; 11989 stk2 = S ^ D; 11990 stk3 = T ^ D; 11991 stk2 = stk2 & stk3; 11992 stk1 = S ^ stk2; 11993 stk1 = ~stk1; 11994 return stk1; 11995} 11996 11997/* SSDxTDxaxn source opaque/pattern transparent. */ 11998static unsigned xrop3_113_0_1 (unsigned char s, unsigned char t) 11999{ 12000 unsigned D = 0x00ff; 12001 unsigned S = ((unsigned)s << 8) | s; 12002 unsigned T = ((unsigned)t << 8) | t; 12003 unsigned stk1; 12004 unsigned stk2; 12005 unsigned stk3; 12006 stk2 = S ^ D; 12007 stk3 = T ^ D; 12008 stk2 = stk2 & stk3; 12009 stk1 = S ^ stk2; 12010 stk1 = ~stk1; 12011 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 12012} 12013 12014/* SSDxTDxaxn source transparent/pattern opaque. */ 12015static unsigned xrop3_113_1_0 (unsigned char s, unsigned char t) 12016{ 12017 unsigned D = 0x00ff; 12018 unsigned S = ((unsigned)s << 8) | s; 12019 unsigned T = ((unsigned)t << 8) | t; 12020 unsigned stk1; 12021 unsigned stk2; 12022 unsigned stk3; 12023 stk2 = S ^ D; 12024 stk3 = T ^ D; 12025 stk2 = stk2 & stk3; 12026 stk1 = S ^ stk2; 12027 stk1 = ~stk1; 12028 return (stk1 & (~S)) | (D & S); 12029} 12030 12031/* SSDxTDxaxn source/pattern transparent. */ 12032static unsigned xrop3_113_1_1 (unsigned char s, unsigned char t) 12033{ 12034 unsigned D = 0x00ff; 12035 unsigned S = ((unsigned)s << 8) | s; 12036 unsigned T = ((unsigned)t << 8) | t; 12037 unsigned stk1; 12038 unsigned stk2; 12039 unsigned stk3; 12040 stk2 = S ^ D; 12041 stk3 = T ^ D; 12042 stk2 = stk2 & stk3; 12043 stk1 = S ^ stk2; 12044 stk1 = ~stk1; 12045 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 12046} 12047 12048/* SDTSxox source/pattern opaque. */ 12049static void rop3_114_0_0 (unsigned char *D, unsigned char S, unsigned char T) 12050{ 12051 unsigned char stk1; 12052 unsigned char stk2; 12053 unsigned char stk3; 12054 stk3 = T ^ S; 12055 stk2 = *D | stk3; 12056 stk1 = S ^ stk2; 12057 *D = stk1; 12058} 12059 12060/* SDTSxox source opaque/pattern transparent. */ 12061static void rop3_114_0_1 (unsigned char *D, unsigned char S, unsigned char T) 12062{ 12063 unsigned char stk1; 12064 unsigned char stk2; 12065 unsigned char stk3; 12066 stk3 = T ^ S; 12067 stk2 = *D | stk3; 12068 stk1 = S ^ stk2; 12069 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 12070} 12071 12072/* SDTSxox source transparent/pattern opaque. */ 12073static void rop3_114_1_0 (unsigned char *D, unsigned char S, unsigned char T) 12074{ 12075 unsigned char stk1; 12076 unsigned char stk2; 12077 unsigned char stk3; 12078 stk3 = T ^ S; 12079 stk2 = *D | stk3; 12080 stk1 = S ^ stk2; 12081 *D = (stk1 & (~S)) | (*D & S); 12082} 12083 12084/* SDTSxox source/pattern transparent. */ 12085static void rop3_114_1_1 (unsigned char *D, unsigned char S, unsigned char T) 12086{ 12087 unsigned char stk1; 12088 unsigned char stk2; 12089 unsigned char stk3; 12090 stk3 = T ^ S; 12091 stk2 = *D | stk3; 12092 stk1 = S ^ stk2; 12093 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 12094} 12095 12096/* SDTSxox source/pattern opaque. */ 12097static unsigned xrop3_114_0_0 (unsigned char s, unsigned char t) 12098{ 12099 unsigned D = 0x00ff; 12100 unsigned S = ((unsigned)s << 8) | s; 12101 unsigned T = ((unsigned)t << 8) | t; 12102 unsigned stk1; 12103 unsigned stk2; 12104 unsigned stk3; 12105 stk3 = T ^ S; 12106 stk2 = D | stk3; 12107 stk1 = S ^ stk2; 12108 return stk1; 12109} 12110 12111/* SDTSxox source opaque/pattern transparent. */ 12112static unsigned xrop3_114_0_1 (unsigned char s, unsigned char t) 12113{ 12114 unsigned D = 0x00ff; 12115 unsigned S = ((unsigned)s << 8) | s; 12116 unsigned T = ((unsigned)t << 8) | t; 12117 unsigned stk1; 12118 unsigned stk2; 12119 unsigned stk3; 12120 stk3 = T ^ S; 12121 stk2 = D | stk3; 12122 stk1 = S ^ stk2; 12123 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 12124} 12125 12126/* SDTSxox source transparent/pattern opaque. */ 12127static unsigned xrop3_114_1_0 (unsigned char s, unsigned char t) 12128{ 12129 unsigned D = 0x00ff; 12130 unsigned S = ((unsigned)s << 8) | s; 12131 unsigned T = ((unsigned)t << 8) | t; 12132 unsigned stk1; 12133 unsigned stk2; 12134 unsigned stk3; 12135 stk3 = T ^ S; 12136 stk2 = D | stk3; 12137 stk1 = S ^ stk2; 12138 return (stk1 & (~S)) | (D & S); 12139} 12140 12141/* SDTSxox source/pattern transparent. */ 12142static unsigned xrop3_114_1_1 (unsigned char s, unsigned char t) 12143{ 12144 unsigned D = 0x00ff; 12145 unsigned S = ((unsigned)s << 8) | s; 12146 unsigned T = ((unsigned)t << 8) | t; 12147 unsigned stk1; 12148 unsigned stk2; 12149 unsigned stk3; 12150 stk3 = T ^ S; 12151 stk2 = D | stk3; 12152 stk1 = S ^ stk2; 12153 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 12154} 12155 12156/* SDTnoan source/pattern opaque. */ 12157static void rop3_115_0_0 (unsigned char *D, unsigned char S, unsigned char T) 12158{ 12159 unsigned char stk1; 12160 unsigned char stk2; 12161 unsigned char stk3; 12162 stk3 = ~T; 12163 stk2 = *D | stk3; 12164 stk1 = S & stk2; 12165 stk1 = ~stk1; 12166 *D = stk1; 12167} 12168 12169/* SDTnoan source opaque/pattern transparent. */ 12170static void rop3_115_0_1 (unsigned char *D, unsigned char S, unsigned char T) 12171{ 12172 unsigned char stk1; 12173 unsigned char stk2; 12174 unsigned char stk3; 12175 stk3 = ~T; 12176 stk2 = *D | stk3; 12177 stk1 = S & stk2; 12178 stk1 = ~stk1; 12179 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 12180} 12181 12182/* SDTnoan source transparent/pattern opaque. */ 12183static void rop3_115_1_0 (unsigned char *D, unsigned char S, unsigned char T) 12184{ 12185 unsigned char stk1; 12186 unsigned char stk2; 12187 unsigned char stk3; 12188 stk3 = ~T; 12189 stk2 = *D | stk3; 12190 stk1 = S & stk2; 12191 stk1 = ~stk1; 12192 *D = (stk1 & (~S)) | (*D & S); 12193} 12194 12195/* SDTnoan source/pattern transparent. */ 12196static void rop3_115_1_1 (unsigned char *D, unsigned char S, unsigned char T) 12197{ 12198 unsigned char stk1; 12199 unsigned char stk2; 12200 unsigned char stk3; 12201 stk3 = ~T; 12202 stk2 = *D | stk3; 12203 stk1 = S & stk2; 12204 stk1 = ~stk1; 12205 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 12206} 12207 12208/* SDTnoan source/pattern opaque. */ 12209static unsigned xrop3_115_0_0 (unsigned char s, unsigned char t) 12210{ 12211 unsigned D = 0x00ff; 12212 unsigned S = ((unsigned)s << 8) | s; 12213 unsigned T = ((unsigned)t << 8) | t; 12214 unsigned stk1; 12215 unsigned stk2; 12216 unsigned stk3; 12217 stk3 = ~T; 12218 stk2 = D | stk3; 12219 stk1 = S & stk2; 12220 stk1 = ~stk1; 12221 return stk1; 12222} 12223 12224/* SDTnoan source opaque/pattern transparent. */ 12225static unsigned xrop3_115_0_1 (unsigned char s, unsigned char t) 12226{ 12227 unsigned D = 0x00ff; 12228 unsigned S = ((unsigned)s << 8) | s; 12229 unsigned T = ((unsigned)t << 8) | t; 12230 unsigned stk1; 12231 unsigned stk2; 12232 unsigned stk3; 12233 stk3 = ~T; 12234 stk2 = D | stk3; 12235 stk1 = S & stk2; 12236 stk1 = ~stk1; 12237 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 12238} 12239 12240/* SDTnoan source transparent/pattern opaque. */ 12241static unsigned xrop3_115_1_0 (unsigned char s, unsigned char t) 12242{ 12243 unsigned D = 0x00ff; 12244 unsigned S = ((unsigned)s << 8) | s; 12245 unsigned T = ((unsigned)t << 8) | t; 12246 unsigned stk1; 12247 unsigned stk2; 12248 unsigned stk3; 12249 stk3 = ~T; 12250 stk2 = D | stk3; 12251 stk1 = S & stk2; 12252 stk1 = ~stk1; 12253 return (stk1 & (~S)) | (D & S); 12254} 12255 12256/* SDTnoan source/pattern transparent. */ 12257static unsigned xrop3_115_1_1 (unsigned char s, unsigned char t) 12258{ 12259 unsigned D = 0x00ff; 12260 unsigned S = ((unsigned)s << 8) | s; 12261 unsigned T = ((unsigned)t << 8) | t; 12262 unsigned stk1; 12263 unsigned stk2; 12264 unsigned stk3; 12265 stk3 = ~T; 12266 stk2 = D | stk3; 12267 stk1 = S & stk2; 12268 stk1 = ~stk1; 12269 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 12270} 12271 12272/* DSTDxox source/pattern opaque. */ 12273static void rop3_116_0_0 (unsigned char *D, unsigned char S, unsigned char T) 12274{ 12275 unsigned char stk1; 12276 unsigned char stk2; 12277 unsigned char stk3; 12278 stk3 = T ^ *D; 12279 stk2 = S | stk3; 12280 stk1 = *D ^ stk2; 12281 *D = stk1; 12282} 12283 12284/* DSTDxox source opaque/pattern transparent. */ 12285static void rop3_116_0_1 (unsigned char *D, unsigned char S, unsigned char T) 12286{ 12287 unsigned char stk1; 12288 unsigned char stk2; 12289 unsigned char stk3; 12290 stk3 = T ^ *D; 12291 stk2 = S | stk3; 12292 stk1 = *D ^ stk2; 12293 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 12294} 12295 12296/* DSTDxox source transparent/pattern opaque. */ 12297static void rop3_116_1_0 (unsigned char *D, unsigned char S, unsigned char T) 12298{ 12299 unsigned char stk1; 12300 unsigned char stk2; 12301 unsigned char stk3; 12302 stk3 = T ^ *D; 12303 stk2 = S | stk3; 12304 stk1 = *D ^ stk2; 12305 *D = (stk1 & (~S)) | (*D & S); 12306} 12307 12308/* DSTDxox source/pattern transparent. */ 12309static void rop3_116_1_1 (unsigned char *D, unsigned char S, unsigned char T) 12310{ 12311 unsigned char stk1; 12312 unsigned char stk2; 12313 unsigned char stk3; 12314 stk3 = T ^ *D; 12315 stk2 = S | stk3; 12316 stk1 = *D ^ stk2; 12317 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 12318} 12319 12320/* DSTDxox source/pattern opaque. */ 12321static unsigned xrop3_116_0_0 (unsigned char s, unsigned char t) 12322{ 12323 unsigned D = 0x00ff; 12324 unsigned S = ((unsigned)s << 8) | s; 12325 unsigned T = ((unsigned)t << 8) | t; 12326 unsigned stk1; 12327 unsigned stk2; 12328 unsigned stk3; 12329 stk3 = T ^ D; 12330 stk2 = S | stk3; 12331 stk1 = D ^ stk2; 12332 return stk1; 12333} 12334 12335/* DSTDxox source opaque/pattern transparent. */ 12336static unsigned xrop3_116_0_1 (unsigned char s, unsigned char t) 12337{ 12338 unsigned D = 0x00ff; 12339 unsigned S = ((unsigned)s << 8) | s; 12340 unsigned T = ((unsigned)t << 8) | t; 12341 unsigned stk1; 12342 unsigned stk2; 12343 unsigned stk3; 12344 stk3 = T ^ D; 12345 stk2 = S | stk3; 12346 stk1 = D ^ stk2; 12347 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 12348} 12349 12350/* DSTDxox source transparent/pattern opaque. */ 12351static unsigned xrop3_116_1_0 (unsigned char s, unsigned char t) 12352{ 12353 unsigned D = 0x00ff; 12354 unsigned S = ((unsigned)s << 8) | s; 12355 unsigned T = ((unsigned)t << 8) | t; 12356 unsigned stk1; 12357 unsigned stk2; 12358 unsigned stk3; 12359 stk3 = T ^ D; 12360 stk2 = S | stk3; 12361 stk1 = D ^ stk2; 12362 return (stk1 & (~S)) | (D & S); 12363} 12364 12365/* DSTDxox source/pattern transparent. */ 12366static unsigned xrop3_116_1_1 (unsigned char s, unsigned char t) 12367{ 12368 unsigned D = 0x00ff; 12369 unsigned S = ((unsigned)s << 8) | s; 12370 unsigned T = ((unsigned)t << 8) | t; 12371 unsigned stk1; 12372 unsigned stk2; 12373 unsigned stk3; 12374 stk3 = T ^ D; 12375 stk2 = S | stk3; 12376 stk1 = D ^ stk2; 12377 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 12378} 12379 12380/* DSTnoan source/pattern opaque. */ 12381static void rop3_117_0_0 (unsigned char *D, unsigned char S, unsigned char T) 12382{ 12383 unsigned char stk1; 12384 unsigned char stk2; 12385 unsigned char stk3; 12386 stk3 = ~T; 12387 stk2 = S | stk3; 12388 stk1 = *D & stk2; 12389 stk1 = ~stk1; 12390 *D = stk1; 12391} 12392 12393/* DSTnoan source opaque/pattern transparent. */ 12394static void rop3_117_0_1 (unsigned char *D, unsigned char S, unsigned char T) 12395{ 12396 unsigned char stk1; 12397 unsigned char stk2; 12398 unsigned char stk3; 12399 stk3 = ~T; 12400 stk2 = S | stk3; 12401 stk1 = *D & stk2; 12402 stk1 = ~stk1; 12403 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 12404} 12405 12406/* DSTnoan source transparent/pattern opaque. */ 12407static void rop3_117_1_0 (unsigned char *D, unsigned char S, unsigned char T) 12408{ 12409 unsigned char stk1; 12410 unsigned char stk2; 12411 unsigned char stk3; 12412 stk3 = ~T; 12413 stk2 = S | stk3; 12414 stk1 = *D & stk2; 12415 stk1 = ~stk1; 12416 *D = (stk1 & (~S)) | (*D & S); 12417} 12418 12419/* DSTnoan source/pattern transparent. */ 12420static void rop3_117_1_1 (unsigned char *D, unsigned char S, unsigned char T) 12421{ 12422 unsigned char stk1; 12423 unsigned char stk2; 12424 unsigned char stk3; 12425 stk3 = ~T; 12426 stk2 = S | stk3; 12427 stk1 = *D & stk2; 12428 stk1 = ~stk1; 12429 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 12430} 12431 12432/* DSTnoan source/pattern opaque. */ 12433static unsigned xrop3_117_0_0 (unsigned char s, unsigned char t) 12434{ 12435 unsigned D = 0x00ff; 12436 unsigned S = ((unsigned)s << 8) | s; 12437 unsigned T = ((unsigned)t << 8) | t; 12438 unsigned stk1; 12439 unsigned stk2; 12440 unsigned stk3; 12441 stk3 = ~T; 12442 stk2 = S | stk3; 12443 stk1 = D & stk2; 12444 stk1 = ~stk1; 12445 return stk1; 12446} 12447 12448/* DSTnoan source opaque/pattern transparent. */ 12449static unsigned xrop3_117_0_1 (unsigned char s, unsigned char t) 12450{ 12451 unsigned D = 0x00ff; 12452 unsigned S = ((unsigned)s << 8) | s; 12453 unsigned T = ((unsigned)t << 8) | t; 12454 unsigned stk1; 12455 unsigned stk2; 12456 unsigned stk3; 12457 stk3 = ~T; 12458 stk2 = S | stk3; 12459 stk1 = D & stk2; 12460 stk1 = ~stk1; 12461 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 12462} 12463 12464/* DSTnoan source transparent/pattern opaque. */ 12465static unsigned xrop3_117_1_0 (unsigned char s, unsigned char t) 12466{ 12467 unsigned D = 0x00ff; 12468 unsigned S = ((unsigned)s << 8) | s; 12469 unsigned T = ((unsigned)t << 8) | t; 12470 unsigned stk1; 12471 unsigned stk2; 12472 unsigned stk3; 12473 stk3 = ~T; 12474 stk2 = S | stk3; 12475 stk1 = D & stk2; 12476 stk1 = ~stk1; 12477 return (stk1 & (~S)) | (D & S); 12478} 12479 12480/* DSTnoan source/pattern transparent. */ 12481static unsigned xrop3_117_1_1 (unsigned char s, unsigned char t) 12482{ 12483 unsigned D = 0x00ff; 12484 unsigned S = ((unsigned)s << 8) | s; 12485 unsigned T = ((unsigned)t << 8) | t; 12486 unsigned stk1; 12487 unsigned stk2; 12488 unsigned stk3; 12489 stk3 = ~T; 12490 stk2 = S | stk3; 12491 stk1 = D & stk2; 12492 stk1 = ~stk1; 12493 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 12494} 12495 12496/* SDTSnaox source/pattern opaque. */ 12497static void rop3_118_0_0 (unsigned char *D, unsigned char S, unsigned char T) 12498{ 12499 unsigned char stk1; 12500 unsigned char stk2; 12501 unsigned char stk3; 12502 unsigned char stk4; 12503 stk4 = ~S; 12504 stk3 = T & stk4; 12505 stk2 = *D | stk3; 12506 stk1 = S ^ stk2; 12507 *D = stk1; 12508} 12509 12510/* SDTSnaox source opaque/pattern transparent. */ 12511static void rop3_118_0_1 (unsigned char *D, unsigned char S, unsigned char T) 12512{ 12513 unsigned char stk1; 12514 unsigned char stk2; 12515 unsigned char stk3; 12516 unsigned char stk4; 12517 stk4 = ~S; 12518 stk3 = T & stk4; 12519 stk2 = *D | stk3; 12520 stk1 = S ^ stk2; 12521 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 12522} 12523 12524/* SDTSnaox source transparent/pattern opaque. */ 12525static void rop3_118_1_0 (unsigned char *D, unsigned char S, unsigned char T) 12526{ 12527 unsigned char stk1; 12528 unsigned char stk2; 12529 unsigned char stk3; 12530 unsigned char stk4; 12531 stk4 = ~S; 12532 stk3 = T & stk4; 12533 stk2 = *D | stk3; 12534 stk1 = S ^ stk2; 12535 *D = (stk1 & (~S)) | (*D & S); 12536} 12537 12538/* SDTSnaox source/pattern transparent. */ 12539static void rop3_118_1_1 (unsigned char *D, unsigned char S, unsigned char T) 12540{ 12541 unsigned char stk1; 12542 unsigned char stk2; 12543 unsigned char stk3; 12544 unsigned char stk4; 12545 stk4 = ~S; 12546 stk3 = T & stk4; 12547 stk2 = *D | stk3; 12548 stk1 = S ^ stk2; 12549 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 12550} 12551 12552/* SDTSnaox source/pattern opaque. */ 12553static unsigned xrop3_118_0_0 (unsigned char s, unsigned char t) 12554{ 12555 unsigned D = 0x00ff; 12556 unsigned S = ((unsigned)s << 8) | s; 12557 unsigned T = ((unsigned)t << 8) | t; 12558 unsigned stk1; 12559 unsigned stk2; 12560 unsigned stk3; 12561 unsigned stk4; 12562 stk4 = ~S; 12563 stk3 = T & stk4; 12564 stk2 = D | stk3; 12565 stk1 = S ^ stk2; 12566 return stk1; 12567} 12568 12569/* SDTSnaox source opaque/pattern transparent. */ 12570static unsigned xrop3_118_0_1 (unsigned char s, unsigned char t) 12571{ 12572 unsigned D = 0x00ff; 12573 unsigned S = ((unsigned)s << 8) | s; 12574 unsigned T = ((unsigned)t << 8) | t; 12575 unsigned stk1; 12576 unsigned stk2; 12577 unsigned stk3; 12578 unsigned stk4; 12579 stk4 = ~S; 12580 stk3 = T & stk4; 12581 stk2 = D | stk3; 12582 stk1 = S ^ stk2; 12583 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 12584} 12585 12586/* SDTSnaox source transparent/pattern opaque. */ 12587static unsigned xrop3_118_1_0 (unsigned char s, unsigned char t) 12588{ 12589 unsigned D = 0x00ff; 12590 unsigned S = ((unsigned)s << 8) | s; 12591 unsigned T = ((unsigned)t << 8) | t; 12592 unsigned stk1; 12593 unsigned stk2; 12594 unsigned stk3; 12595 unsigned stk4; 12596 stk4 = ~S; 12597 stk3 = T & stk4; 12598 stk2 = D | stk3; 12599 stk1 = S ^ stk2; 12600 return (stk1 & (~S)) | (D & S); 12601} 12602 12603/* SDTSnaox source/pattern transparent. */ 12604static unsigned xrop3_118_1_1 (unsigned char s, unsigned char t) 12605{ 12606 unsigned D = 0x00ff; 12607 unsigned S = ((unsigned)s << 8) | s; 12608 unsigned T = ((unsigned)t << 8) | t; 12609 unsigned stk1; 12610 unsigned stk2; 12611 unsigned stk3; 12612 unsigned stk4; 12613 stk4 = ~S; 12614 stk3 = T & stk4; 12615 stk2 = D | stk3; 12616 stk1 = S ^ stk2; 12617 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 12618} 12619 12620/* DSan source/pattern opaque. */ 12621static void rop3_119_0_0 (unsigned char *D, unsigned char S, unsigned char T) 12622{ 12623 unsigned char stk1; 12624 stk1 = *D & S; 12625 stk1 = ~stk1; 12626 *D = stk1; 12627} 12628 12629/* DSan source opaque/pattern transparent. */ 12630static void rop3_119_0_1 (unsigned char *D, unsigned char S, unsigned char T) 12631{ 12632 unsigned char stk1; 12633 stk1 = *D & S; 12634 stk1 = ~stk1; 12635 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 12636} 12637 12638/* DSan source transparent/pattern opaque. */ 12639static void rop3_119_1_0 (unsigned char *D, unsigned char S, unsigned char T) 12640{ 12641 unsigned char stk1; 12642 stk1 = *D & S; 12643 stk1 = ~stk1; 12644 *D = (stk1 & (~S)) | (*D & S); 12645} 12646 12647/* DSan source/pattern transparent. */ 12648static void rop3_119_1_1 (unsigned char *D, unsigned char S, unsigned char T) 12649{ 12650 unsigned char stk1; 12651 stk1 = *D & S; 12652 stk1 = ~stk1; 12653 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 12654} 12655 12656/* DSan source/pattern opaque. */ 12657static unsigned xrop3_119_0_0 (unsigned char s, unsigned char t) 12658{ 12659 unsigned D = 0x00ff; 12660 unsigned S = ((unsigned)s << 8) | s; 12661 unsigned stk1; 12662 stk1 = D & S; 12663 stk1 = ~stk1; 12664 return stk1; 12665} 12666 12667/* DSan source opaque/pattern transparent. */ 12668static unsigned xrop3_119_0_1 (unsigned char s, unsigned char t) 12669{ 12670 unsigned D = 0x00ff; 12671 unsigned S = ((unsigned)s << 8) | s; 12672 unsigned T = ((unsigned)t << 8) | t; 12673 unsigned stk1; 12674 stk1 = D & S; 12675 stk1 = ~stk1; 12676 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 12677} 12678 12679/* DSan source transparent/pattern opaque. */ 12680static unsigned xrop3_119_1_0 (unsigned char s, unsigned char t) 12681{ 12682 unsigned D = 0x00ff; 12683 unsigned S = ((unsigned)s << 8) | s; 12684 unsigned stk1; 12685 stk1 = D & S; 12686 stk1 = ~stk1; 12687 return (stk1 & (~S)) | (D & S); 12688} 12689 12690/* DSan source/pattern transparent. */ 12691static unsigned xrop3_119_1_1 (unsigned char s, unsigned char t) 12692{ 12693 unsigned D = 0x00ff; 12694 unsigned S = ((unsigned)s << 8) | s; 12695 unsigned T = ((unsigned)t << 8) | t; 12696 unsigned stk1; 12697 stk1 = D & S; 12698 stk1 = ~stk1; 12699 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 12700} 12701 12702/* TDSax source/pattern opaque. */ 12703static void rop3_120_0_0 (unsigned char *D, unsigned char S, unsigned char T) 12704{ 12705 unsigned char stk1; 12706 unsigned char stk2; 12707 stk2 = *D & S; 12708 stk1 = T ^ stk2; 12709 *D = stk1; 12710} 12711 12712/* TDSax source opaque/pattern transparent. */ 12713static void rop3_120_0_1 (unsigned char *D, unsigned char S, unsigned char T) 12714{ 12715 unsigned char stk1; 12716 unsigned char stk2; 12717 stk2 = *D & S; 12718 stk1 = T ^ stk2; 12719 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 12720} 12721 12722/* TDSax source transparent/pattern opaque. */ 12723static void rop3_120_1_0 (unsigned char *D, unsigned char S, unsigned char T) 12724{ 12725 unsigned char stk1; 12726 unsigned char stk2; 12727 stk2 = *D & S; 12728 stk1 = T ^ stk2; 12729 *D = (stk1 & (~S)) | (*D & S); 12730} 12731 12732/* TDSax source/pattern transparent. */ 12733static void rop3_120_1_1 (unsigned char *D, unsigned char S, unsigned char T) 12734{ 12735 unsigned char stk1; 12736 unsigned char stk2; 12737 stk2 = *D & S; 12738 stk1 = T ^ stk2; 12739 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 12740} 12741 12742/* TDSax source/pattern opaque. */ 12743static unsigned xrop3_120_0_0 (unsigned char s, unsigned char t) 12744{ 12745 unsigned D = 0x00ff; 12746 unsigned S = ((unsigned)s << 8) | s; 12747 unsigned T = ((unsigned)t << 8) | t; 12748 unsigned stk1; 12749 unsigned stk2; 12750 stk2 = D & S; 12751 stk1 = T ^ stk2; 12752 return stk1; 12753} 12754 12755/* TDSax source opaque/pattern transparent. */ 12756static unsigned xrop3_120_0_1 (unsigned char s, unsigned char t) 12757{ 12758 unsigned D = 0x00ff; 12759 unsigned S = ((unsigned)s << 8) | s; 12760 unsigned T = ((unsigned)t << 8) | t; 12761 unsigned stk1; 12762 unsigned stk2; 12763 stk2 = D & S; 12764 stk1 = T ^ stk2; 12765 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 12766} 12767 12768/* TDSax source transparent/pattern opaque. */ 12769static unsigned xrop3_120_1_0 (unsigned char s, unsigned char t) 12770{ 12771 unsigned D = 0x00ff; 12772 unsigned S = ((unsigned)s << 8) | s; 12773 unsigned T = ((unsigned)t << 8) | t; 12774 unsigned stk1; 12775 unsigned stk2; 12776 stk2 = D & S; 12777 stk1 = T ^ stk2; 12778 return (stk1 & (~S)) | (D & S); 12779} 12780 12781/* TDSax source/pattern transparent. */ 12782static unsigned xrop3_120_1_1 (unsigned char s, unsigned char t) 12783{ 12784 unsigned D = 0x00ff; 12785 unsigned S = ((unsigned)s << 8) | s; 12786 unsigned T = ((unsigned)t << 8) | t; 12787 unsigned stk1; 12788 unsigned stk2; 12789 stk2 = D & S; 12790 stk1 = T ^ stk2; 12791 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 12792} 12793 12794/* DSTDSoaxxn source/pattern opaque. */ 12795static void rop3_121_0_0 (unsigned char *D, unsigned char S, unsigned char T) 12796{ 12797 unsigned char stk1; 12798 unsigned char stk2; 12799 unsigned char stk3; 12800 unsigned char stk4; 12801 stk4 = *D | S; 12802 stk3 = T & stk4; 12803 stk2 = S ^ stk3; 12804 stk1 = *D ^ stk2; 12805 stk1 = ~stk1; 12806 *D = stk1; 12807} 12808 12809/* DSTDSoaxxn source opaque/pattern transparent. */ 12810static void rop3_121_0_1 (unsigned char *D, unsigned char S, unsigned char T) 12811{ 12812 unsigned char stk1; 12813 unsigned char stk2; 12814 unsigned char stk3; 12815 unsigned char stk4; 12816 stk4 = *D | S; 12817 stk3 = T & stk4; 12818 stk2 = S ^ stk3; 12819 stk1 = *D ^ stk2; 12820 stk1 = ~stk1; 12821 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 12822} 12823 12824/* DSTDSoaxxn source transparent/pattern opaque. */ 12825static void rop3_121_1_0 (unsigned char *D, unsigned char S, unsigned char T) 12826{ 12827 unsigned char stk1; 12828 unsigned char stk2; 12829 unsigned char stk3; 12830 unsigned char stk4; 12831 stk4 = *D | S; 12832 stk3 = T & stk4; 12833 stk2 = S ^ stk3; 12834 stk1 = *D ^ stk2; 12835 stk1 = ~stk1; 12836 *D = (stk1 & (~S)) | (*D & S); 12837} 12838 12839/* DSTDSoaxxn source/pattern transparent. */ 12840static void rop3_121_1_1 (unsigned char *D, unsigned char S, unsigned char T) 12841{ 12842 unsigned char stk1; 12843 unsigned char stk2; 12844 unsigned char stk3; 12845 unsigned char stk4; 12846 stk4 = *D | S; 12847 stk3 = T & stk4; 12848 stk2 = S ^ stk3; 12849 stk1 = *D ^ stk2; 12850 stk1 = ~stk1; 12851 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 12852} 12853 12854/* DSTDSoaxxn source/pattern opaque. */ 12855static unsigned xrop3_121_0_0 (unsigned char s, unsigned char t) 12856{ 12857 unsigned D = 0x00ff; 12858 unsigned S = ((unsigned)s << 8) | s; 12859 unsigned T = ((unsigned)t << 8) | t; 12860 unsigned stk1; 12861 unsigned stk2; 12862 unsigned stk3; 12863 unsigned stk4; 12864 stk4 = D | S; 12865 stk3 = T & stk4; 12866 stk2 = S ^ stk3; 12867 stk1 = D ^ stk2; 12868 stk1 = ~stk1; 12869 return stk1; 12870} 12871 12872/* DSTDSoaxxn source opaque/pattern transparent. */ 12873static unsigned xrop3_121_0_1 (unsigned char s, unsigned char t) 12874{ 12875 unsigned D = 0x00ff; 12876 unsigned S = ((unsigned)s << 8) | s; 12877 unsigned T = ((unsigned)t << 8) | t; 12878 unsigned stk1; 12879 unsigned stk2; 12880 unsigned stk3; 12881 unsigned stk4; 12882 stk4 = D | S; 12883 stk3 = T & stk4; 12884 stk2 = S ^ stk3; 12885 stk1 = D ^ stk2; 12886 stk1 = ~stk1; 12887 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 12888} 12889 12890/* DSTDSoaxxn source transparent/pattern opaque. */ 12891static unsigned xrop3_121_1_0 (unsigned char s, unsigned char t) 12892{ 12893 unsigned D = 0x00ff; 12894 unsigned S = ((unsigned)s << 8) | s; 12895 unsigned T = ((unsigned)t << 8) | t; 12896 unsigned stk1; 12897 unsigned stk2; 12898 unsigned stk3; 12899 unsigned stk4; 12900 stk4 = D | S; 12901 stk3 = T & stk4; 12902 stk2 = S ^ stk3; 12903 stk1 = D ^ stk2; 12904 stk1 = ~stk1; 12905 return (stk1 & (~S)) | (D & S); 12906} 12907 12908/* DSTDSoaxxn source/pattern transparent. */ 12909static unsigned xrop3_121_1_1 (unsigned char s, unsigned char t) 12910{ 12911 unsigned D = 0x00ff; 12912 unsigned S = ((unsigned)s << 8) | s; 12913 unsigned T = ((unsigned)t << 8) | t; 12914 unsigned stk1; 12915 unsigned stk2; 12916 unsigned stk3; 12917 unsigned stk4; 12918 stk4 = D | S; 12919 stk3 = T & stk4; 12920 stk2 = S ^ stk3; 12921 stk1 = D ^ stk2; 12922 stk1 = ~stk1; 12923 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 12924} 12925 12926/* DTSDnoax source/pattern opaque. */ 12927static void rop3_122_0_0 (unsigned char *D, unsigned char S, unsigned char T) 12928{ 12929 unsigned char stk1; 12930 unsigned char stk2; 12931 unsigned char stk3; 12932 unsigned char stk4; 12933 stk4 = ~*D; 12934 stk3 = S | stk4; 12935 stk2 = T & stk3; 12936 stk1 = *D ^ stk2; 12937 *D = stk1; 12938} 12939 12940/* DTSDnoax source opaque/pattern transparent. */ 12941static void rop3_122_0_1 (unsigned char *D, unsigned char S, unsigned char T) 12942{ 12943 unsigned char stk1; 12944 unsigned char stk2; 12945 unsigned char stk3; 12946 unsigned char stk4; 12947 stk4 = ~*D; 12948 stk3 = S | stk4; 12949 stk2 = T & stk3; 12950 stk1 = *D ^ stk2; 12951 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 12952} 12953 12954/* DTSDnoax source transparent/pattern opaque. */ 12955static void rop3_122_1_0 (unsigned char *D, unsigned char S, unsigned char T) 12956{ 12957 unsigned char stk1; 12958 unsigned char stk2; 12959 unsigned char stk3; 12960 unsigned char stk4; 12961 stk4 = ~*D; 12962 stk3 = S | stk4; 12963 stk2 = T & stk3; 12964 stk1 = *D ^ stk2; 12965 *D = (stk1 & (~S)) | (*D & S); 12966} 12967 12968/* DTSDnoax source/pattern transparent. */ 12969static void rop3_122_1_1 (unsigned char *D, unsigned char S, unsigned char T) 12970{ 12971 unsigned char stk1; 12972 unsigned char stk2; 12973 unsigned char stk3; 12974 unsigned char stk4; 12975 stk4 = ~*D; 12976 stk3 = S | stk4; 12977 stk2 = T & stk3; 12978 stk1 = *D ^ stk2; 12979 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 12980} 12981 12982/* DTSDnoax source/pattern opaque. */ 12983static unsigned xrop3_122_0_0 (unsigned char s, unsigned char t) 12984{ 12985 unsigned D = 0x00ff; 12986 unsigned S = ((unsigned)s << 8) | s; 12987 unsigned T = ((unsigned)t << 8) | t; 12988 unsigned stk1; 12989 unsigned stk2; 12990 unsigned stk3; 12991 unsigned stk4; 12992 stk4 = ~D; 12993 stk3 = S | stk4; 12994 stk2 = T & stk3; 12995 stk1 = D ^ stk2; 12996 return stk1; 12997} 12998 12999/* DTSDnoax source opaque/pattern transparent. */ 13000static unsigned xrop3_122_0_1 (unsigned char s, unsigned char t) 13001{ 13002 unsigned D = 0x00ff; 13003 unsigned S = ((unsigned)s << 8) | s; 13004 unsigned T = ((unsigned)t << 8) | t; 13005 unsigned stk1; 13006 unsigned stk2; 13007 unsigned stk3; 13008 unsigned stk4; 13009 stk4 = ~D; 13010 stk3 = S | stk4; 13011 stk2 = T & stk3; 13012 stk1 = D ^ stk2; 13013 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 13014} 13015 13016/* DTSDnoax source transparent/pattern opaque. */ 13017static unsigned xrop3_122_1_0 (unsigned char s, unsigned char t) 13018{ 13019 unsigned D = 0x00ff; 13020 unsigned S = ((unsigned)s << 8) | s; 13021 unsigned T = ((unsigned)t << 8) | t; 13022 unsigned stk1; 13023 unsigned stk2; 13024 unsigned stk3; 13025 unsigned stk4; 13026 stk4 = ~D; 13027 stk3 = S | stk4; 13028 stk2 = T & stk3; 13029 stk1 = D ^ stk2; 13030 return (stk1 & (~S)) | (D & S); 13031} 13032 13033/* DTSDnoax source/pattern transparent. */ 13034static unsigned xrop3_122_1_1 (unsigned char s, unsigned char t) 13035{ 13036 unsigned D = 0x00ff; 13037 unsigned S = ((unsigned)s << 8) | s; 13038 unsigned T = ((unsigned)t << 8) | t; 13039 unsigned stk1; 13040 unsigned stk2; 13041 unsigned stk3; 13042 unsigned stk4; 13043 stk4 = ~D; 13044 stk3 = S | stk4; 13045 stk2 = T & stk3; 13046 stk1 = D ^ stk2; 13047 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 13048} 13049 13050/* SDTxnan source/pattern opaque. */ 13051static void rop3_123_0_0 (unsigned char *D, unsigned char S, unsigned char T) 13052{ 13053 unsigned char stk1; 13054 unsigned char stk2; 13055 stk2 = *D ^ T; 13056 stk2 = ~stk2; 13057 stk1 = S & stk2; 13058 stk1 = ~stk1; 13059 *D = stk1; 13060} 13061 13062/* SDTxnan source opaque/pattern transparent. */ 13063static void rop3_123_0_1 (unsigned char *D, unsigned char S, unsigned char T) 13064{ 13065 unsigned char stk1; 13066 unsigned char stk2; 13067 stk2 = *D ^ T; 13068 stk2 = ~stk2; 13069 stk1 = S & stk2; 13070 stk1 = ~stk1; 13071 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 13072} 13073 13074/* SDTxnan source transparent/pattern opaque. */ 13075static void rop3_123_1_0 (unsigned char *D, unsigned char S, unsigned char T) 13076{ 13077 unsigned char stk1; 13078 unsigned char stk2; 13079 stk2 = *D ^ T; 13080 stk2 = ~stk2; 13081 stk1 = S & stk2; 13082 stk1 = ~stk1; 13083 *D = (stk1 & (~S)) | (*D & S); 13084} 13085 13086/* SDTxnan source/pattern transparent. */ 13087static void rop3_123_1_1 (unsigned char *D, unsigned char S, unsigned char T) 13088{ 13089 unsigned char stk1; 13090 unsigned char stk2; 13091 stk2 = *D ^ T; 13092 stk2 = ~stk2; 13093 stk1 = S & stk2; 13094 stk1 = ~stk1; 13095 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 13096} 13097 13098/* SDTxnan source/pattern opaque. */ 13099static unsigned xrop3_123_0_0 (unsigned char s, unsigned char t) 13100{ 13101 unsigned D = 0x00ff; 13102 unsigned S = ((unsigned)s << 8) | s; 13103 unsigned T = ((unsigned)t << 8) | t; 13104 unsigned stk1; 13105 unsigned stk2; 13106 stk2 = D ^ T; 13107 stk2 = ~stk2; 13108 stk1 = S & stk2; 13109 stk1 = ~stk1; 13110 return stk1; 13111} 13112 13113/* SDTxnan source opaque/pattern transparent. */ 13114static unsigned xrop3_123_0_1 (unsigned char s, unsigned char t) 13115{ 13116 unsigned D = 0x00ff; 13117 unsigned S = ((unsigned)s << 8) | s; 13118 unsigned T = ((unsigned)t << 8) | t; 13119 unsigned stk1; 13120 unsigned stk2; 13121 stk2 = D ^ T; 13122 stk2 = ~stk2; 13123 stk1 = S & stk2; 13124 stk1 = ~stk1; 13125 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 13126} 13127 13128/* SDTxnan source transparent/pattern opaque. */ 13129static unsigned xrop3_123_1_0 (unsigned char s, unsigned char t) 13130{ 13131 unsigned D = 0x00ff; 13132 unsigned S = ((unsigned)s << 8) | s; 13133 unsigned T = ((unsigned)t << 8) | t; 13134 unsigned stk1; 13135 unsigned stk2; 13136 stk2 = D ^ T; 13137 stk2 = ~stk2; 13138 stk1 = S & stk2; 13139 stk1 = ~stk1; 13140 return (stk1 & (~S)) | (D & S); 13141} 13142 13143/* SDTxnan source/pattern transparent. */ 13144static unsigned xrop3_123_1_1 (unsigned char s, unsigned char t) 13145{ 13146 unsigned D = 0x00ff; 13147 unsigned S = ((unsigned)s << 8) | s; 13148 unsigned T = ((unsigned)t << 8) | t; 13149 unsigned stk1; 13150 unsigned stk2; 13151 stk2 = D ^ T; 13152 stk2 = ~stk2; 13153 stk1 = S & stk2; 13154 stk1 = ~stk1; 13155 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 13156} 13157 13158/* STDSnoax source/pattern opaque. */ 13159static void rop3_124_0_0 (unsigned char *D, unsigned char S, unsigned char T) 13160{ 13161 unsigned char stk1; 13162 unsigned char stk2; 13163 unsigned char stk3; 13164 unsigned char stk4; 13165 stk4 = ~S; 13166 stk3 = *D | stk4; 13167 stk2 = T & stk3; 13168 stk1 = S ^ stk2; 13169 *D = stk1; 13170} 13171 13172/* STDSnoax source opaque/pattern transparent. */ 13173static void rop3_124_0_1 (unsigned char *D, unsigned char S, unsigned char T) 13174{ 13175 unsigned char stk1; 13176 unsigned char stk2; 13177 unsigned char stk3; 13178 unsigned char stk4; 13179 stk4 = ~S; 13180 stk3 = *D | stk4; 13181 stk2 = T & stk3; 13182 stk1 = S ^ stk2; 13183 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 13184} 13185 13186/* STDSnoax source transparent/pattern opaque. */ 13187static void rop3_124_1_0 (unsigned char *D, unsigned char S, unsigned char T) 13188{ 13189 unsigned char stk1; 13190 unsigned char stk2; 13191 unsigned char stk3; 13192 unsigned char stk4; 13193 stk4 = ~S; 13194 stk3 = *D | stk4; 13195 stk2 = T & stk3; 13196 stk1 = S ^ stk2; 13197 *D = (stk1 & (~S)) | (*D & S); 13198} 13199 13200/* STDSnoax source/pattern transparent. */ 13201static void rop3_124_1_1 (unsigned char *D, unsigned char S, unsigned char T) 13202{ 13203 unsigned char stk1; 13204 unsigned char stk2; 13205 unsigned char stk3; 13206 unsigned char stk4; 13207 stk4 = ~S; 13208 stk3 = *D | stk4; 13209 stk2 = T & stk3; 13210 stk1 = S ^ stk2; 13211 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 13212} 13213 13214/* STDSnoax source/pattern opaque. */ 13215static unsigned xrop3_124_0_0 (unsigned char s, unsigned char t) 13216{ 13217 unsigned D = 0x00ff; 13218 unsigned S = ((unsigned)s << 8) | s; 13219 unsigned T = ((unsigned)t << 8) | t; 13220 unsigned stk1; 13221 unsigned stk2; 13222 unsigned stk3; 13223 unsigned stk4; 13224 stk4 = ~S; 13225 stk3 = D | stk4; 13226 stk2 = T & stk3; 13227 stk1 = S ^ stk2; 13228 return stk1; 13229} 13230 13231/* STDSnoax source opaque/pattern transparent. */ 13232static unsigned xrop3_124_0_1 (unsigned char s, unsigned char t) 13233{ 13234 unsigned D = 0x00ff; 13235 unsigned S = ((unsigned)s << 8) | s; 13236 unsigned T = ((unsigned)t << 8) | t; 13237 unsigned stk1; 13238 unsigned stk2; 13239 unsigned stk3; 13240 unsigned stk4; 13241 stk4 = ~S; 13242 stk3 = D | stk4; 13243 stk2 = T & stk3; 13244 stk1 = S ^ stk2; 13245 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 13246} 13247 13248/* STDSnoax source transparent/pattern opaque. */ 13249static unsigned xrop3_124_1_0 (unsigned char s, unsigned char t) 13250{ 13251 unsigned D = 0x00ff; 13252 unsigned S = ((unsigned)s << 8) | s; 13253 unsigned T = ((unsigned)t << 8) | t; 13254 unsigned stk1; 13255 unsigned stk2; 13256 unsigned stk3; 13257 unsigned stk4; 13258 stk4 = ~S; 13259 stk3 = D | stk4; 13260 stk2 = T & stk3; 13261 stk1 = S ^ stk2; 13262 return (stk1 & (~S)) | (D & S); 13263} 13264 13265/* STDSnoax source/pattern transparent. */ 13266static unsigned xrop3_124_1_1 (unsigned char s, unsigned char t) 13267{ 13268 unsigned D = 0x00ff; 13269 unsigned S = ((unsigned)s << 8) | s; 13270 unsigned T = ((unsigned)t << 8) | t; 13271 unsigned stk1; 13272 unsigned stk2; 13273 unsigned stk3; 13274 unsigned stk4; 13275 stk4 = ~S; 13276 stk3 = D | stk4; 13277 stk2 = T & stk3; 13278 stk1 = S ^ stk2; 13279 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 13280} 13281 13282/* DTSxnan source/pattern opaque. */ 13283static void rop3_125_0_0 (unsigned char *D, unsigned char S, unsigned char T) 13284{ 13285 unsigned char stk1; 13286 unsigned char stk2; 13287 stk2 = T ^ S; 13288 stk2 = ~stk2; 13289 stk1 = *D & stk2; 13290 stk1 = ~stk1; 13291 *D = stk1; 13292} 13293 13294/* DTSxnan source opaque/pattern transparent. */ 13295static void rop3_125_0_1 (unsigned char *D, unsigned char S, unsigned char T) 13296{ 13297 unsigned char stk1; 13298 unsigned char stk2; 13299 stk2 = T ^ S; 13300 stk2 = ~stk2; 13301 stk1 = *D & stk2; 13302 stk1 = ~stk1; 13303 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 13304} 13305 13306/* DTSxnan source transparent/pattern opaque. */ 13307static void rop3_125_1_0 (unsigned char *D, unsigned char S, unsigned char T) 13308{ 13309 unsigned char stk1; 13310 unsigned char stk2; 13311 stk2 = T ^ S; 13312 stk2 = ~stk2; 13313 stk1 = *D & stk2; 13314 stk1 = ~stk1; 13315 *D = (stk1 & (~S)) | (*D & S); 13316} 13317 13318/* DTSxnan source/pattern transparent. */ 13319static void rop3_125_1_1 (unsigned char *D, unsigned char S, unsigned char T) 13320{ 13321 unsigned char stk1; 13322 unsigned char stk2; 13323 stk2 = T ^ S; 13324 stk2 = ~stk2; 13325 stk1 = *D & stk2; 13326 stk1 = ~stk1; 13327 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 13328} 13329 13330/* DTSxnan source/pattern opaque. */ 13331static unsigned xrop3_125_0_0 (unsigned char s, unsigned char t) 13332{ 13333 unsigned D = 0x00ff; 13334 unsigned S = ((unsigned)s << 8) | s; 13335 unsigned T = ((unsigned)t << 8) | t; 13336 unsigned stk1; 13337 unsigned stk2; 13338 stk2 = T ^ S; 13339 stk2 = ~stk2; 13340 stk1 = D & stk2; 13341 stk1 = ~stk1; 13342 return stk1; 13343} 13344 13345/* DTSxnan source opaque/pattern transparent. */ 13346static unsigned xrop3_125_0_1 (unsigned char s, unsigned char t) 13347{ 13348 unsigned D = 0x00ff; 13349 unsigned S = ((unsigned)s << 8) | s; 13350 unsigned T = ((unsigned)t << 8) | t; 13351 unsigned stk1; 13352 unsigned stk2; 13353 stk2 = T ^ S; 13354 stk2 = ~stk2; 13355 stk1 = D & stk2; 13356 stk1 = ~stk1; 13357 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 13358} 13359 13360/* DTSxnan source transparent/pattern opaque. */ 13361static unsigned xrop3_125_1_0 (unsigned char s, unsigned char t) 13362{ 13363 unsigned D = 0x00ff; 13364 unsigned S = ((unsigned)s << 8) | s; 13365 unsigned T = ((unsigned)t << 8) | t; 13366 unsigned stk1; 13367 unsigned stk2; 13368 stk2 = T ^ S; 13369 stk2 = ~stk2; 13370 stk1 = D & stk2; 13371 stk1 = ~stk1; 13372 return (stk1 & (~S)) | (D & S); 13373} 13374 13375/* DTSxnan source/pattern transparent. */ 13376static unsigned xrop3_125_1_1 (unsigned char s, unsigned char t) 13377{ 13378 unsigned D = 0x00ff; 13379 unsigned S = ((unsigned)s << 8) | s; 13380 unsigned T = ((unsigned)t << 8) | t; 13381 unsigned stk1; 13382 unsigned stk2; 13383 stk2 = T ^ S; 13384 stk2 = ~stk2; 13385 stk1 = D & stk2; 13386 stk1 = ~stk1; 13387 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 13388} 13389 13390/* STxDSxo source/pattern opaque. */ 13391static void rop3_126_0_0 (unsigned char *D, unsigned char S, unsigned char T) 13392{ 13393 unsigned char stk1; 13394 unsigned char stk2; 13395 stk1 = S ^ T; 13396 stk2 = *D ^ S; 13397 stk1 = stk1 | stk2; 13398 *D = stk1; 13399} 13400 13401/* STxDSxo source opaque/pattern transparent. */ 13402static void rop3_126_0_1 (unsigned char *D, unsigned char S, unsigned char T) 13403{ 13404 unsigned char stk1; 13405 unsigned char stk2; 13406 stk1 = S ^ T; 13407 stk2 = *D ^ S; 13408 stk1 = stk1 | stk2; 13409 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 13410} 13411 13412/* STxDSxo source transparent/pattern opaque. */ 13413static void rop3_126_1_0 (unsigned char *D, unsigned char S, unsigned char T) 13414{ 13415 unsigned char stk1; 13416 unsigned char stk2; 13417 stk1 = S ^ T; 13418 stk2 = *D ^ S; 13419 stk1 = stk1 | stk2; 13420 *D = (stk1 & (~S)) | (*D & S); 13421} 13422 13423/* STxDSxo source/pattern transparent. */ 13424static void rop3_126_1_1 (unsigned char *D, unsigned char S, unsigned char T) 13425{ 13426 unsigned char stk1; 13427 unsigned char stk2; 13428 stk1 = S ^ T; 13429 stk2 = *D ^ S; 13430 stk1 = stk1 | stk2; 13431 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 13432} 13433 13434/* STxDSxo source/pattern opaque. */ 13435static unsigned xrop3_126_0_0 (unsigned char s, unsigned char t) 13436{ 13437 unsigned D = 0x00ff; 13438 unsigned S = ((unsigned)s << 8) | s; 13439 unsigned T = ((unsigned)t << 8) | t; 13440 unsigned stk1; 13441 unsigned stk2; 13442 stk1 = S ^ T; 13443 stk2 = D ^ S; 13444 stk1 = stk1 | stk2; 13445 return stk1; 13446} 13447 13448/* STxDSxo source opaque/pattern transparent. */ 13449static unsigned xrop3_126_0_1 (unsigned char s, unsigned char t) 13450{ 13451 unsigned D = 0x00ff; 13452 unsigned S = ((unsigned)s << 8) | s; 13453 unsigned T = ((unsigned)t << 8) | t; 13454 unsigned stk1; 13455 unsigned stk2; 13456 stk1 = S ^ T; 13457 stk2 = D ^ S; 13458 stk1 = stk1 | stk2; 13459 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 13460} 13461 13462/* STxDSxo source transparent/pattern opaque. */ 13463static unsigned xrop3_126_1_0 (unsigned char s, unsigned char t) 13464{ 13465 unsigned D = 0x00ff; 13466 unsigned S = ((unsigned)s << 8) | s; 13467 unsigned T = ((unsigned)t << 8) | t; 13468 unsigned stk1; 13469 unsigned stk2; 13470 stk1 = S ^ T; 13471 stk2 = D ^ S; 13472 stk1 = stk1 | stk2; 13473 return (stk1 & (~S)) | (D & S); 13474} 13475 13476/* STxDSxo source/pattern transparent. */ 13477static unsigned xrop3_126_1_1 (unsigned char s, unsigned char t) 13478{ 13479 unsigned D = 0x00ff; 13480 unsigned S = ((unsigned)s << 8) | s; 13481 unsigned T = ((unsigned)t << 8) | t; 13482 unsigned stk1; 13483 unsigned stk2; 13484 stk1 = S ^ T; 13485 stk2 = D ^ S; 13486 stk1 = stk1 | stk2; 13487 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 13488} 13489 13490/* DTSaan source/pattern opaque. */ 13491static void rop3_127_0_0 (unsigned char *D, unsigned char S, unsigned char T) 13492{ 13493 unsigned char stk1; 13494 unsigned char stk2; 13495 stk2 = T & S; 13496 stk1 = *D & stk2; 13497 stk1 = ~stk1; 13498 *D = stk1; 13499} 13500 13501/* DTSaan source opaque/pattern transparent. */ 13502static void rop3_127_0_1 (unsigned char *D, unsigned char S, unsigned char T) 13503{ 13504 unsigned char stk1; 13505 unsigned char stk2; 13506 stk2 = T & S; 13507 stk1 = *D & stk2; 13508 stk1 = ~stk1; 13509 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 13510} 13511 13512/* DTSaan source transparent/pattern opaque. */ 13513static void rop3_127_1_0 (unsigned char *D, unsigned char S, unsigned char T) 13514{ 13515 unsigned char stk1; 13516 unsigned char stk2; 13517 stk2 = T & S; 13518 stk1 = *D & stk2; 13519 stk1 = ~stk1; 13520 *D = (stk1 & (~S)) | (*D & S); 13521} 13522 13523/* DTSaan source/pattern transparent. */ 13524static void rop3_127_1_1 (unsigned char *D, unsigned char S, unsigned char T) 13525{ 13526 unsigned char stk1; 13527 unsigned char stk2; 13528 stk2 = T & S; 13529 stk1 = *D & stk2; 13530 stk1 = ~stk1; 13531 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 13532} 13533 13534/* DTSaan source/pattern opaque. */ 13535static unsigned xrop3_127_0_0 (unsigned char s, unsigned char t) 13536{ 13537 unsigned D = 0x00ff; 13538 unsigned S = ((unsigned)s << 8) | s; 13539 unsigned T = ((unsigned)t << 8) | t; 13540 unsigned stk1; 13541 unsigned stk2; 13542 stk2 = T & S; 13543 stk1 = D & stk2; 13544 stk1 = ~stk1; 13545 return stk1; 13546} 13547 13548/* DTSaan source opaque/pattern transparent. */ 13549static unsigned xrop3_127_0_1 (unsigned char s, unsigned char t) 13550{ 13551 unsigned D = 0x00ff; 13552 unsigned S = ((unsigned)s << 8) | s; 13553 unsigned T = ((unsigned)t << 8) | t; 13554 unsigned stk1; 13555 unsigned stk2; 13556 stk2 = T & S; 13557 stk1 = D & stk2; 13558 stk1 = ~stk1; 13559 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 13560} 13561 13562/* DTSaan source transparent/pattern opaque. */ 13563static unsigned xrop3_127_1_0 (unsigned char s, unsigned char t) 13564{ 13565 unsigned D = 0x00ff; 13566 unsigned S = ((unsigned)s << 8) | s; 13567 unsigned T = ((unsigned)t << 8) | t; 13568 unsigned stk1; 13569 unsigned stk2; 13570 stk2 = T & S; 13571 stk1 = D & stk2; 13572 stk1 = ~stk1; 13573 return (stk1 & (~S)) | (D & S); 13574} 13575 13576/* DTSaan source/pattern transparent. */ 13577static unsigned xrop3_127_1_1 (unsigned char s, unsigned char t) 13578{ 13579 unsigned D = 0x00ff; 13580 unsigned S = ((unsigned)s << 8) | s; 13581 unsigned T = ((unsigned)t << 8) | t; 13582 unsigned stk1; 13583 unsigned stk2; 13584 stk2 = T & S; 13585 stk1 = D & stk2; 13586 stk1 = ~stk1; 13587 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 13588} 13589 13590/* DTSaa source/pattern opaque. */ 13591static void rop3_128_0_0 (unsigned char *D, unsigned char S, unsigned char T) 13592{ 13593 unsigned char stk1; 13594 unsigned char stk2; 13595 stk2 = T & S; 13596 stk1 = *D & stk2; 13597 *D = stk1; 13598} 13599 13600/* DTSaa source opaque/pattern transparent. */ 13601static void rop3_128_0_1 (unsigned char *D, unsigned char S, unsigned char T) 13602{ 13603 unsigned char stk1; 13604 unsigned char stk2; 13605 stk2 = T & S; 13606 stk1 = *D & stk2; 13607 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 13608} 13609 13610/* DTSaa source transparent/pattern opaque. */ 13611static void rop3_128_1_0 (unsigned char *D, unsigned char S, unsigned char T) 13612{ 13613 unsigned char stk1; 13614 unsigned char stk2; 13615 stk2 = T & S; 13616 stk1 = *D & stk2; 13617 *D = (stk1 & (~S)) | (*D & S); 13618} 13619 13620/* DTSaa source/pattern transparent. */ 13621static void rop3_128_1_1 (unsigned char *D, unsigned char S, unsigned char T) 13622{ 13623 unsigned char stk1; 13624 unsigned char stk2; 13625 stk2 = T & S; 13626 stk1 = *D & stk2; 13627 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 13628} 13629 13630/* DTSaa source/pattern opaque. */ 13631static unsigned xrop3_128_0_0 (unsigned char s, unsigned char t) 13632{ 13633 unsigned D = 0x00ff; 13634 unsigned S = ((unsigned)s << 8) | s; 13635 unsigned T = ((unsigned)t << 8) | t; 13636 unsigned stk1; 13637 unsigned stk2; 13638 stk2 = T & S; 13639 stk1 = D & stk2; 13640 return stk1; 13641} 13642 13643/* DTSaa source opaque/pattern transparent. */ 13644static unsigned xrop3_128_0_1 (unsigned char s, unsigned char t) 13645{ 13646 unsigned D = 0x00ff; 13647 unsigned S = ((unsigned)s << 8) | s; 13648 unsigned T = ((unsigned)t << 8) | t; 13649 unsigned stk1; 13650 unsigned stk2; 13651 stk2 = T & S; 13652 stk1 = D & stk2; 13653 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 13654} 13655 13656/* DTSaa source transparent/pattern opaque. */ 13657static unsigned xrop3_128_1_0 (unsigned char s, unsigned char t) 13658{ 13659 unsigned D = 0x00ff; 13660 unsigned S = ((unsigned)s << 8) | s; 13661 unsigned T = ((unsigned)t << 8) | t; 13662 unsigned stk1; 13663 unsigned stk2; 13664 stk2 = T & S; 13665 stk1 = D & stk2; 13666 return (stk1 & (~S)) | (D & S); 13667} 13668 13669/* DTSaa source/pattern transparent. */ 13670static unsigned xrop3_128_1_1 (unsigned char s, unsigned char t) 13671{ 13672 unsigned D = 0x00ff; 13673 unsigned S = ((unsigned)s << 8) | s; 13674 unsigned T = ((unsigned)t << 8) | t; 13675 unsigned stk1; 13676 unsigned stk2; 13677 stk2 = T & S; 13678 stk1 = D & stk2; 13679 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 13680} 13681 13682/* STxDSxon source/pattern opaque. */ 13683static void rop3_129_0_0 (unsigned char *D, unsigned char S, unsigned char T) 13684{ 13685 unsigned char stk1; 13686 unsigned char stk2; 13687 stk1 = S ^ T; 13688 stk2 = *D ^ S; 13689 stk1 = stk1 | stk2; 13690 stk1 = ~stk1; 13691 *D = stk1; 13692} 13693 13694/* STxDSxon source opaque/pattern transparent. */ 13695static void rop3_129_0_1 (unsigned char *D, unsigned char S, unsigned char T) 13696{ 13697 unsigned char stk1; 13698 unsigned char stk2; 13699 stk1 = S ^ T; 13700 stk2 = *D ^ S; 13701 stk1 = stk1 | stk2; 13702 stk1 = ~stk1; 13703 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 13704} 13705 13706/* STxDSxon source transparent/pattern opaque. */ 13707static void rop3_129_1_0 (unsigned char *D, unsigned char S, unsigned char T) 13708{ 13709 unsigned char stk1; 13710 unsigned char stk2; 13711 stk1 = S ^ T; 13712 stk2 = *D ^ S; 13713 stk1 = stk1 | stk2; 13714 stk1 = ~stk1; 13715 *D = (stk1 & (~S)) | (*D & S); 13716} 13717 13718/* STxDSxon source/pattern transparent. */ 13719static void rop3_129_1_1 (unsigned char *D, unsigned char S, unsigned char T) 13720{ 13721 unsigned char stk1; 13722 unsigned char stk2; 13723 stk1 = S ^ T; 13724 stk2 = *D ^ S; 13725 stk1 = stk1 | stk2; 13726 stk1 = ~stk1; 13727 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 13728} 13729 13730/* STxDSxon source/pattern opaque. */ 13731static unsigned xrop3_129_0_0 (unsigned char s, unsigned char t) 13732{ 13733 unsigned D = 0x00ff; 13734 unsigned S = ((unsigned)s << 8) | s; 13735 unsigned T = ((unsigned)t << 8) | t; 13736 unsigned stk1; 13737 unsigned stk2; 13738 stk1 = S ^ T; 13739 stk2 = D ^ S; 13740 stk1 = stk1 | stk2; 13741 stk1 = ~stk1; 13742 return stk1; 13743} 13744 13745/* STxDSxon source opaque/pattern transparent. */ 13746static unsigned xrop3_129_0_1 (unsigned char s, unsigned char t) 13747{ 13748 unsigned D = 0x00ff; 13749 unsigned S = ((unsigned)s << 8) | s; 13750 unsigned T = ((unsigned)t << 8) | t; 13751 unsigned stk1; 13752 unsigned stk2; 13753 stk1 = S ^ T; 13754 stk2 = D ^ S; 13755 stk1 = stk1 | stk2; 13756 stk1 = ~stk1; 13757 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 13758} 13759 13760/* STxDSxon source transparent/pattern opaque. */ 13761static unsigned xrop3_129_1_0 (unsigned char s, unsigned char t) 13762{ 13763 unsigned D = 0x00ff; 13764 unsigned S = ((unsigned)s << 8) | s; 13765 unsigned T = ((unsigned)t << 8) | t; 13766 unsigned stk1; 13767 unsigned stk2; 13768 stk1 = S ^ T; 13769 stk2 = D ^ S; 13770 stk1 = stk1 | stk2; 13771 stk1 = ~stk1; 13772 return (stk1 & (~S)) | (D & S); 13773} 13774 13775/* STxDSxon source/pattern transparent. */ 13776static unsigned xrop3_129_1_1 (unsigned char s, unsigned char t) 13777{ 13778 unsigned D = 0x00ff; 13779 unsigned S = ((unsigned)s << 8) | s; 13780 unsigned T = ((unsigned)t << 8) | t; 13781 unsigned stk1; 13782 unsigned stk2; 13783 stk1 = S ^ T; 13784 stk2 = D ^ S; 13785 stk1 = stk1 | stk2; 13786 stk1 = ~stk1; 13787 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 13788} 13789 13790/* DTSxna source/pattern opaque. */ 13791static void rop3_130_0_0 (unsigned char *D, unsigned char S, unsigned char T) 13792{ 13793 unsigned char stk1; 13794 unsigned char stk2; 13795 stk2 = T ^ S; 13796 stk2 = ~stk2; 13797 stk1 = *D & stk2; 13798 *D = stk1; 13799} 13800 13801/* DTSxna source opaque/pattern transparent. */ 13802static void rop3_130_0_1 (unsigned char *D, unsigned char S, unsigned char T) 13803{ 13804 unsigned char stk1; 13805 unsigned char stk2; 13806 stk2 = T ^ S; 13807 stk2 = ~stk2; 13808 stk1 = *D & stk2; 13809 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 13810} 13811 13812/* DTSxna source transparent/pattern opaque. */ 13813static void rop3_130_1_0 (unsigned char *D, unsigned char S, unsigned char T) 13814{ 13815 unsigned char stk1; 13816 unsigned char stk2; 13817 stk2 = T ^ S; 13818 stk2 = ~stk2; 13819 stk1 = *D & stk2; 13820 *D = (stk1 & (~S)) | (*D & S); 13821} 13822 13823/* DTSxna source/pattern transparent. */ 13824static void rop3_130_1_1 (unsigned char *D, unsigned char S, unsigned char T) 13825{ 13826 unsigned char stk1; 13827 unsigned char stk2; 13828 stk2 = T ^ S; 13829 stk2 = ~stk2; 13830 stk1 = *D & stk2; 13831 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 13832} 13833 13834/* DTSxna source/pattern opaque. */ 13835static unsigned xrop3_130_0_0 (unsigned char s, unsigned char t) 13836{ 13837 unsigned D = 0x00ff; 13838 unsigned S = ((unsigned)s << 8) | s; 13839 unsigned T = ((unsigned)t << 8) | t; 13840 unsigned stk1; 13841 unsigned stk2; 13842 stk2 = T ^ S; 13843 stk2 = ~stk2; 13844 stk1 = D & stk2; 13845 return stk1; 13846} 13847 13848/* DTSxna source opaque/pattern transparent. */ 13849static unsigned xrop3_130_0_1 (unsigned char s, unsigned char t) 13850{ 13851 unsigned D = 0x00ff; 13852 unsigned S = ((unsigned)s << 8) | s; 13853 unsigned T = ((unsigned)t << 8) | t; 13854 unsigned stk1; 13855 unsigned stk2; 13856 stk2 = T ^ S; 13857 stk2 = ~stk2; 13858 stk1 = D & stk2; 13859 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 13860} 13861 13862/* DTSxna source transparent/pattern opaque. */ 13863static unsigned xrop3_130_1_0 (unsigned char s, unsigned char t) 13864{ 13865 unsigned D = 0x00ff; 13866 unsigned S = ((unsigned)s << 8) | s; 13867 unsigned T = ((unsigned)t << 8) | t; 13868 unsigned stk1; 13869 unsigned stk2; 13870 stk2 = T ^ S; 13871 stk2 = ~stk2; 13872 stk1 = D & stk2; 13873 return (stk1 & (~S)) | (D & S); 13874} 13875 13876/* DTSxna source/pattern transparent. */ 13877static unsigned xrop3_130_1_1 (unsigned char s, unsigned char t) 13878{ 13879 unsigned D = 0x00ff; 13880 unsigned S = ((unsigned)s << 8) | s; 13881 unsigned T = ((unsigned)t << 8) | t; 13882 unsigned stk1; 13883 unsigned stk2; 13884 stk2 = T ^ S; 13885 stk2 = ~stk2; 13886 stk1 = D & stk2; 13887 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 13888} 13889 13890/* STDSnoaxn source/pattern opaque. */ 13891static void rop3_131_0_0 (unsigned char *D, unsigned char S, unsigned char T) 13892{ 13893 unsigned char stk1; 13894 unsigned char stk2; 13895 unsigned char stk3; 13896 unsigned char stk4; 13897 stk4 = ~S; 13898 stk3 = *D | stk4; 13899 stk2 = T & stk3; 13900 stk1 = S ^ stk2; 13901 stk1 = ~stk1; 13902 *D = stk1; 13903} 13904 13905/* STDSnoaxn source opaque/pattern transparent. */ 13906static void rop3_131_0_1 (unsigned char *D, unsigned char S, unsigned char T) 13907{ 13908 unsigned char stk1; 13909 unsigned char stk2; 13910 unsigned char stk3; 13911 unsigned char stk4; 13912 stk4 = ~S; 13913 stk3 = *D | stk4; 13914 stk2 = T & stk3; 13915 stk1 = S ^ stk2; 13916 stk1 = ~stk1; 13917 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 13918} 13919 13920/* STDSnoaxn source transparent/pattern opaque. */ 13921static void rop3_131_1_0 (unsigned char *D, unsigned char S, unsigned char T) 13922{ 13923 unsigned char stk1; 13924 unsigned char stk2; 13925 unsigned char stk3; 13926 unsigned char stk4; 13927 stk4 = ~S; 13928 stk3 = *D | stk4; 13929 stk2 = T & stk3; 13930 stk1 = S ^ stk2; 13931 stk1 = ~stk1; 13932 *D = (stk1 & (~S)) | (*D & S); 13933} 13934 13935/* STDSnoaxn source/pattern transparent. */ 13936static void rop3_131_1_1 (unsigned char *D, unsigned char S, unsigned char T) 13937{ 13938 unsigned char stk1; 13939 unsigned char stk2; 13940 unsigned char stk3; 13941 unsigned char stk4; 13942 stk4 = ~S; 13943 stk3 = *D | stk4; 13944 stk2 = T & stk3; 13945 stk1 = S ^ stk2; 13946 stk1 = ~stk1; 13947 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 13948} 13949 13950/* STDSnoaxn source/pattern opaque. */ 13951static unsigned xrop3_131_0_0 (unsigned char s, unsigned char t) 13952{ 13953 unsigned D = 0x00ff; 13954 unsigned S = ((unsigned)s << 8) | s; 13955 unsigned T = ((unsigned)t << 8) | t; 13956 unsigned stk1; 13957 unsigned stk2; 13958 unsigned stk3; 13959 unsigned stk4; 13960 stk4 = ~S; 13961 stk3 = D | stk4; 13962 stk2 = T & stk3; 13963 stk1 = S ^ stk2; 13964 stk1 = ~stk1; 13965 return stk1; 13966} 13967 13968/* STDSnoaxn source opaque/pattern transparent. */ 13969static unsigned xrop3_131_0_1 (unsigned char s, unsigned char t) 13970{ 13971 unsigned D = 0x00ff; 13972 unsigned S = ((unsigned)s << 8) | s; 13973 unsigned T = ((unsigned)t << 8) | t; 13974 unsigned stk1; 13975 unsigned stk2; 13976 unsigned stk3; 13977 unsigned stk4; 13978 stk4 = ~S; 13979 stk3 = D | stk4; 13980 stk2 = T & stk3; 13981 stk1 = S ^ stk2; 13982 stk1 = ~stk1; 13983 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 13984} 13985 13986/* STDSnoaxn source transparent/pattern opaque. */ 13987static unsigned xrop3_131_1_0 (unsigned char s, unsigned char t) 13988{ 13989 unsigned D = 0x00ff; 13990 unsigned S = ((unsigned)s << 8) | s; 13991 unsigned T = ((unsigned)t << 8) | t; 13992 unsigned stk1; 13993 unsigned stk2; 13994 unsigned stk3; 13995 unsigned stk4; 13996 stk4 = ~S; 13997 stk3 = D | stk4; 13998 stk2 = T & stk3; 13999 stk1 = S ^ stk2; 14000 stk1 = ~stk1; 14001 return (stk1 & (~S)) | (D & S); 14002} 14003 14004/* STDSnoaxn source/pattern transparent. */ 14005static unsigned xrop3_131_1_1 (unsigned char s, unsigned char t) 14006{ 14007 unsigned D = 0x00ff; 14008 unsigned S = ((unsigned)s << 8) | s; 14009 unsigned T = ((unsigned)t << 8) | t; 14010 unsigned stk1; 14011 unsigned stk2; 14012 unsigned stk3; 14013 unsigned stk4; 14014 stk4 = ~S; 14015 stk3 = D | stk4; 14016 stk2 = T & stk3; 14017 stk1 = S ^ stk2; 14018 stk1 = ~stk1; 14019 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 14020} 14021 14022/* SDTxna source/pattern opaque. */ 14023static void rop3_132_0_0 (unsigned char *D, unsigned char S, unsigned char T) 14024{ 14025 unsigned char stk1; 14026 unsigned char stk2; 14027 stk2 = *D ^ T; 14028 stk2 = ~stk2; 14029 stk1 = S & stk2; 14030 *D = stk1; 14031} 14032 14033/* SDTxna source opaque/pattern transparent. */ 14034static void rop3_132_0_1 (unsigned char *D, unsigned char S, unsigned char T) 14035{ 14036 unsigned char stk1; 14037 unsigned char stk2; 14038 stk2 = *D ^ T; 14039 stk2 = ~stk2; 14040 stk1 = S & stk2; 14041 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 14042} 14043 14044/* SDTxna source transparent/pattern opaque. */ 14045static void rop3_132_1_0 (unsigned char *D, unsigned char S, unsigned char T) 14046{ 14047 unsigned char stk1; 14048 unsigned char stk2; 14049 stk2 = *D ^ T; 14050 stk2 = ~stk2; 14051 stk1 = S & stk2; 14052 *D = (stk1 & (~S)) | (*D & S); 14053} 14054 14055/* SDTxna source/pattern transparent. */ 14056static void rop3_132_1_1 (unsigned char *D, unsigned char S, unsigned char T) 14057{ 14058 unsigned char stk1; 14059 unsigned char stk2; 14060 stk2 = *D ^ T; 14061 stk2 = ~stk2; 14062 stk1 = S & stk2; 14063 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 14064} 14065 14066/* SDTxna source/pattern opaque. */ 14067static unsigned xrop3_132_0_0 (unsigned char s, unsigned char t) 14068{ 14069 unsigned D = 0x00ff; 14070 unsigned S = ((unsigned)s << 8) | s; 14071 unsigned T = ((unsigned)t << 8) | t; 14072 unsigned stk1; 14073 unsigned stk2; 14074 stk2 = D ^ T; 14075 stk2 = ~stk2; 14076 stk1 = S & stk2; 14077 return stk1; 14078} 14079 14080/* SDTxna source opaque/pattern transparent. */ 14081static unsigned xrop3_132_0_1 (unsigned char s, unsigned char t) 14082{ 14083 unsigned D = 0x00ff; 14084 unsigned S = ((unsigned)s << 8) | s; 14085 unsigned T = ((unsigned)t << 8) | t; 14086 unsigned stk1; 14087 unsigned stk2; 14088 stk2 = D ^ T; 14089 stk2 = ~stk2; 14090 stk1 = S & stk2; 14091 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 14092} 14093 14094/* SDTxna source transparent/pattern opaque. */ 14095static unsigned xrop3_132_1_0 (unsigned char s, unsigned char t) 14096{ 14097 unsigned D = 0x00ff; 14098 unsigned S = ((unsigned)s << 8) | s; 14099 unsigned T = ((unsigned)t << 8) | t; 14100 unsigned stk1; 14101 unsigned stk2; 14102 stk2 = D ^ T; 14103 stk2 = ~stk2; 14104 stk1 = S & stk2; 14105 return (stk1 & (~S)) | (D & S); 14106} 14107 14108/* SDTxna source/pattern transparent. */ 14109static unsigned xrop3_132_1_1 (unsigned char s, unsigned char t) 14110{ 14111 unsigned D = 0x00ff; 14112 unsigned S = ((unsigned)s << 8) | s; 14113 unsigned T = ((unsigned)t << 8) | t; 14114 unsigned stk1; 14115 unsigned stk2; 14116 stk2 = D ^ T; 14117 stk2 = ~stk2; 14118 stk1 = S & stk2; 14119 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 14120} 14121 14122/* TDSTnoaxn source/pattern opaque. */ 14123static void rop3_133_0_0 (unsigned char *D, unsigned char S, unsigned char T) 14124{ 14125 unsigned char stk1; 14126 unsigned char stk2; 14127 unsigned char stk3; 14128 unsigned char stk4; 14129 stk4 = ~T; 14130 stk3 = S | stk4; 14131 stk2 = *D & stk3; 14132 stk1 = T ^ stk2; 14133 stk1 = ~stk1; 14134 *D = stk1; 14135} 14136 14137/* TDSTnoaxn source opaque/pattern transparent. */ 14138static void rop3_133_0_1 (unsigned char *D, unsigned char S, unsigned char T) 14139{ 14140 unsigned char stk1; 14141 unsigned char stk2; 14142 unsigned char stk3; 14143 unsigned char stk4; 14144 stk4 = ~T; 14145 stk3 = S | stk4; 14146 stk2 = *D & stk3; 14147 stk1 = T ^ stk2; 14148 stk1 = ~stk1; 14149 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 14150} 14151 14152/* TDSTnoaxn source transparent/pattern opaque. */ 14153static void rop3_133_1_0 (unsigned char *D, unsigned char S, unsigned char T) 14154{ 14155 unsigned char stk1; 14156 unsigned char stk2; 14157 unsigned char stk3; 14158 unsigned char stk4; 14159 stk4 = ~T; 14160 stk3 = S | stk4; 14161 stk2 = *D & stk3; 14162 stk1 = T ^ stk2; 14163 stk1 = ~stk1; 14164 *D = (stk1 & (~S)) | (*D & S); 14165} 14166 14167/* TDSTnoaxn source/pattern transparent. */ 14168static void rop3_133_1_1 (unsigned char *D, unsigned char S, unsigned char T) 14169{ 14170 unsigned char stk1; 14171 unsigned char stk2; 14172 unsigned char stk3; 14173 unsigned char stk4; 14174 stk4 = ~T; 14175 stk3 = S | stk4; 14176 stk2 = *D & stk3; 14177 stk1 = T ^ stk2; 14178 stk1 = ~stk1; 14179 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 14180} 14181 14182/* TDSTnoaxn source/pattern opaque. */ 14183static unsigned xrop3_133_0_0 (unsigned char s, unsigned char t) 14184{ 14185 unsigned D = 0x00ff; 14186 unsigned S = ((unsigned)s << 8) | s; 14187 unsigned T = ((unsigned)t << 8) | t; 14188 unsigned stk1; 14189 unsigned stk2; 14190 unsigned stk3; 14191 unsigned stk4; 14192 stk4 = ~T; 14193 stk3 = S | stk4; 14194 stk2 = D & stk3; 14195 stk1 = T ^ stk2; 14196 stk1 = ~stk1; 14197 return stk1; 14198} 14199 14200/* TDSTnoaxn source opaque/pattern transparent. */ 14201static unsigned xrop3_133_0_1 (unsigned char s, unsigned char t) 14202{ 14203 unsigned D = 0x00ff; 14204 unsigned S = ((unsigned)s << 8) | s; 14205 unsigned T = ((unsigned)t << 8) | t; 14206 unsigned stk1; 14207 unsigned stk2; 14208 unsigned stk3; 14209 unsigned stk4; 14210 stk4 = ~T; 14211 stk3 = S | stk4; 14212 stk2 = D & stk3; 14213 stk1 = T ^ stk2; 14214 stk1 = ~stk1; 14215 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 14216} 14217 14218/* TDSTnoaxn source transparent/pattern opaque. */ 14219static unsigned xrop3_133_1_0 (unsigned char s, unsigned char t) 14220{ 14221 unsigned D = 0x00ff; 14222 unsigned S = ((unsigned)s << 8) | s; 14223 unsigned T = ((unsigned)t << 8) | t; 14224 unsigned stk1; 14225 unsigned stk2; 14226 unsigned stk3; 14227 unsigned stk4; 14228 stk4 = ~T; 14229 stk3 = S | stk4; 14230 stk2 = D & stk3; 14231 stk1 = T ^ stk2; 14232 stk1 = ~stk1; 14233 return (stk1 & (~S)) | (D & S); 14234} 14235 14236/* TDSTnoaxn source/pattern transparent. */ 14237static unsigned xrop3_133_1_1 (unsigned char s, unsigned char t) 14238{ 14239 unsigned D = 0x00ff; 14240 unsigned S = ((unsigned)s << 8) | s; 14241 unsigned T = ((unsigned)t << 8) | t; 14242 unsigned stk1; 14243 unsigned stk2; 14244 unsigned stk3; 14245 unsigned stk4; 14246 stk4 = ~T; 14247 stk3 = S | stk4; 14248 stk2 = D & stk3; 14249 stk1 = T ^ stk2; 14250 stk1 = ~stk1; 14251 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 14252} 14253 14254/* DSTDSoaxx source/pattern opaque. */ 14255static void rop3_134_0_0 (unsigned char *D, unsigned char S, unsigned char T) 14256{ 14257 unsigned char stk1; 14258 unsigned char stk2; 14259 unsigned char stk3; 14260 unsigned char stk4; 14261 stk4 = *D | S; 14262 stk3 = T & stk4; 14263 stk2 = S ^ stk3; 14264 stk1 = *D ^ stk2; 14265 *D = stk1; 14266} 14267 14268/* DSTDSoaxx source opaque/pattern transparent. */ 14269static void rop3_134_0_1 (unsigned char *D, unsigned char S, unsigned char T) 14270{ 14271 unsigned char stk1; 14272 unsigned char stk2; 14273 unsigned char stk3; 14274 unsigned char stk4; 14275 stk4 = *D | S; 14276 stk3 = T & stk4; 14277 stk2 = S ^ stk3; 14278 stk1 = *D ^ stk2; 14279 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 14280} 14281 14282/* DSTDSoaxx source transparent/pattern opaque. */ 14283static void rop3_134_1_0 (unsigned char *D, unsigned char S, unsigned char T) 14284{ 14285 unsigned char stk1; 14286 unsigned char stk2; 14287 unsigned char stk3; 14288 unsigned char stk4; 14289 stk4 = *D | S; 14290 stk3 = T & stk4; 14291 stk2 = S ^ stk3; 14292 stk1 = *D ^ stk2; 14293 *D = (stk1 & (~S)) | (*D & S); 14294} 14295 14296/* DSTDSoaxx source/pattern transparent. */ 14297static void rop3_134_1_1 (unsigned char *D, unsigned char S, unsigned char T) 14298{ 14299 unsigned char stk1; 14300 unsigned char stk2; 14301 unsigned char stk3; 14302 unsigned char stk4; 14303 stk4 = *D | S; 14304 stk3 = T & stk4; 14305 stk2 = S ^ stk3; 14306 stk1 = *D ^ stk2; 14307 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 14308} 14309 14310/* DSTDSoaxx source/pattern opaque. */ 14311static unsigned xrop3_134_0_0 (unsigned char s, unsigned char t) 14312{ 14313 unsigned D = 0x00ff; 14314 unsigned S = ((unsigned)s << 8) | s; 14315 unsigned T = ((unsigned)t << 8) | t; 14316 unsigned stk1; 14317 unsigned stk2; 14318 unsigned stk3; 14319 unsigned stk4; 14320 stk4 = D | S; 14321 stk3 = T & stk4; 14322 stk2 = S ^ stk3; 14323 stk1 = D ^ stk2; 14324 return stk1; 14325} 14326 14327/* DSTDSoaxx source opaque/pattern transparent. */ 14328static unsigned xrop3_134_0_1 (unsigned char s, unsigned char t) 14329{ 14330 unsigned D = 0x00ff; 14331 unsigned S = ((unsigned)s << 8) | s; 14332 unsigned T = ((unsigned)t << 8) | t; 14333 unsigned stk1; 14334 unsigned stk2; 14335 unsigned stk3; 14336 unsigned stk4; 14337 stk4 = D | S; 14338 stk3 = T & stk4; 14339 stk2 = S ^ stk3; 14340 stk1 = D ^ stk2; 14341 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 14342} 14343 14344/* DSTDSoaxx source transparent/pattern opaque. */ 14345static unsigned xrop3_134_1_0 (unsigned char s, unsigned char t) 14346{ 14347 unsigned D = 0x00ff; 14348 unsigned S = ((unsigned)s << 8) | s; 14349 unsigned T = ((unsigned)t << 8) | t; 14350 unsigned stk1; 14351 unsigned stk2; 14352 unsigned stk3; 14353 unsigned stk4; 14354 stk4 = D | S; 14355 stk3 = T & stk4; 14356 stk2 = S ^ stk3; 14357 stk1 = D ^ stk2; 14358 return (stk1 & (~S)) | (D & S); 14359} 14360 14361/* DSTDSoaxx source/pattern transparent. */ 14362static unsigned xrop3_134_1_1 (unsigned char s, unsigned char t) 14363{ 14364 unsigned D = 0x00ff; 14365 unsigned S = ((unsigned)s << 8) | s; 14366 unsigned T = ((unsigned)t << 8) | t; 14367 unsigned stk1; 14368 unsigned stk2; 14369 unsigned stk3; 14370 unsigned stk4; 14371 stk4 = D | S; 14372 stk3 = T & stk4; 14373 stk2 = S ^ stk3; 14374 stk1 = D ^ stk2; 14375 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 14376} 14377 14378/* TDSaxn source/pattern opaque. */ 14379static void rop3_135_0_0 (unsigned char *D, unsigned char S, unsigned char T) 14380{ 14381 unsigned char stk1; 14382 unsigned char stk2; 14383 stk2 = *D & S; 14384 stk1 = T ^ stk2; 14385 stk1 = ~stk1; 14386 *D = stk1; 14387} 14388 14389/* TDSaxn source opaque/pattern transparent. */ 14390static void rop3_135_0_1 (unsigned char *D, unsigned char S, unsigned char T) 14391{ 14392 unsigned char stk1; 14393 unsigned char stk2; 14394 stk2 = *D & S; 14395 stk1 = T ^ stk2; 14396 stk1 = ~stk1; 14397 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 14398} 14399 14400/* TDSaxn source transparent/pattern opaque. */ 14401static void rop3_135_1_0 (unsigned char *D, unsigned char S, unsigned char T) 14402{ 14403 unsigned char stk1; 14404 unsigned char stk2; 14405 stk2 = *D & S; 14406 stk1 = T ^ stk2; 14407 stk1 = ~stk1; 14408 *D = (stk1 & (~S)) | (*D & S); 14409} 14410 14411/* TDSaxn source/pattern transparent. */ 14412static void rop3_135_1_1 (unsigned char *D, unsigned char S, unsigned char T) 14413{ 14414 unsigned char stk1; 14415 unsigned char stk2; 14416 stk2 = *D & S; 14417 stk1 = T ^ stk2; 14418 stk1 = ~stk1; 14419 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 14420} 14421 14422/* TDSaxn source/pattern opaque. */ 14423static unsigned xrop3_135_0_0 (unsigned char s, unsigned char t) 14424{ 14425 unsigned D = 0x00ff; 14426 unsigned S = ((unsigned)s << 8) | s; 14427 unsigned T = ((unsigned)t << 8) | t; 14428 unsigned stk1; 14429 unsigned stk2; 14430 stk2 = D & S; 14431 stk1 = T ^ stk2; 14432 stk1 = ~stk1; 14433 return stk1; 14434} 14435 14436/* TDSaxn source opaque/pattern transparent. */ 14437static unsigned xrop3_135_0_1 (unsigned char s, unsigned char t) 14438{ 14439 unsigned D = 0x00ff; 14440 unsigned S = ((unsigned)s << 8) | s; 14441 unsigned T = ((unsigned)t << 8) | t; 14442 unsigned stk1; 14443 unsigned stk2; 14444 stk2 = D & S; 14445 stk1 = T ^ stk2; 14446 stk1 = ~stk1; 14447 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 14448} 14449 14450/* TDSaxn source transparent/pattern opaque. */ 14451static unsigned xrop3_135_1_0 (unsigned char s, unsigned char t) 14452{ 14453 unsigned D = 0x00ff; 14454 unsigned S = ((unsigned)s << 8) | s; 14455 unsigned T = ((unsigned)t << 8) | t; 14456 unsigned stk1; 14457 unsigned stk2; 14458 stk2 = D & S; 14459 stk1 = T ^ stk2; 14460 stk1 = ~stk1; 14461 return (stk1 & (~S)) | (D & S); 14462} 14463 14464/* TDSaxn source/pattern transparent. */ 14465static unsigned xrop3_135_1_1 (unsigned char s, unsigned char t) 14466{ 14467 unsigned D = 0x00ff; 14468 unsigned S = ((unsigned)s << 8) | s; 14469 unsigned T = ((unsigned)t << 8) | t; 14470 unsigned stk1; 14471 unsigned stk2; 14472 stk2 = D & S; 14473 stk1 = T ^ stk2; 14474 stk1 = ~stk1; 14475 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 14476} 14477 14478/* DSa source/pattern opaque. */ 14479static void rop3_136_0_0 (unsigned char *D, unsigned char S, unsigned char T) 14480{ 14481 unsigned char stk1; 14482 stk1 = *D & S; 14483 *D = stk1; 14484} 14485 14486/* DSa source opaque/pattern transparent. */ 14487static void rop3_136_0_1 (unsigned char *D, unsigned char S, unsigned char T) 14488{ 14489 unsigned char stk1; 14490 stk1 = *D & S; 14491 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 14492} 14493 14494/* DSa source transparent/pattern opaque. */ 14495static void rop3_136_1_0 (unsigned char *D, unsigned char S, unsigned char T) 14496{ 14497 unsigned char stk1; 14498 stk1 = *D & S; 14499 *D = (stk1 & (~S)) | (*D & S); 14500} 14501 14502/* DSa source/pattern transparent. */ 14503static void rop3_136_1_1 (unsigned char *D, unsigned char S, unsigned char T) 14504{ 14505 unsigned char stk1; 14506 stk1 = *D & S; 14507 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 14508} 14509 14510/* DSa source/pattern opaque. */ 14511static unsigned xrop3_136_0_0 (unsigned char s, unsigned char t) 14512{ 14513 unsigned D = 0x00ff; 14514 unsigned S = ((unsigned)s << 8) | s; 14515 unsigned stk1; 14516 stk1 = D & S; 14517 return stk1; 14518} 14519 14520/* DSa source opaque/pattern transparent. */ 14521static unsigned xrop3_136_0_1 (unsigned char s, unsigned char t) 14522{ 14523 unsigned D = 0x00ff; 14524 unsigned S = ((unsigned)s << 8) | s; 14525 unsigned T = ((unsigned)t << 8) | t; 14526 unsigned stk1; 14527 stk1 = D & S; 14528 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 14529} 14530 14531/* DSa source transparent/pattern opaque. */ 14532static unsigned xrop3_136_1_0 (unsigned char s, unsigned char t) 14533{ 14534 unsigned D = 0x00ff; 14535 unsigned S = ((unsigned)s << 8) | s; 14536 unsigned stk1; 14537 stk1 = D & S; 14538 return (stk1 & (~S)) | (D & S); 14539} 14540 14541/* DSa source/pattern transparent. */ 14542static unsigned xrop3_136_1_1 (unsigned char s, unsigned char t) 14543{ 14544 unsigned D = 0x00ff; 14545 unsigned S = ((unsigned)s << 8) | s; 14546 unsigned T = ((unsigned)t << 8) | t; 14547 unsigned stk1; 14548 stk1 = D & S; 14549 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 14550} 14551 14552/* SDTSnaoxn source/pattern opaque. */ 14553static void rop3_137_0_0 (unsigned char *D, unsigned char S, unsigned char T) 14554{ 14555 unsigned char stk1; 14556 unsigned char stk2; 14557 unsigned char stk3; 14558 unsigned char stk4; 14559 stk4 = ~S; 14560 stk3 = T & stk4; 14561 stk2 = *D | stk3; 14562 stk1 = S ^ stk2; 14563 stk1 = ~stk1; 14564 *D = stk1; 14565} 14566 14567/* SDTSnaoxn source opaque/pattern transparent. */ 14568static void rop3_137_0_1 (unsigned char *D, unsigned char S, unsigned char T) 14569{ 14570 unsigned char stk1; 14571 unsigned char stk2; 14572 unsigned char stk3; 14573 unsigned char stk4; 14574 stk4 = ~S; 14575 stk3 = T & stk4; 14576 stk2 = *D | stk3; 14577 stk1 = S ^ stk2; 14578 stk1 = ~stk1; 14579 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 14580} 14581 14582/* SDTSnaoxn source transparent/pattern opaque. */ 14583static void rop3_137_1_0 (unsigned char *D, unsigned char S, unsigned char T) 14584{ 14585 unsigned char stk1; 14586 unsigned char stk2; 14587 unsigned char stk3; 14588 unsigned char stk4; 14589 stk4 = ~S; 14590 stk3 = T & stk4; 14591 stk2 = *D | stk3; 14592 stk1 = S ^ stk2; 14593 stk1 = ~stk1; 14594 *D = (stk1 & (~S)) | (*D & S); 14595} 14596 14597/* SDTSnaoxn source/pattern transparent. */ 14598static void rop3_137_1_1 (unsigned char *D, unsigned char S, unsigned char T) 14599{ 14600 unsigned char stk1; 14601 unsigned char stk2; 14602 unsigned char stk3; 14603 unsigned char stk4; 14604 stk4 = ~S; 14605 stk3 = T & stk4; 14606 stk2 = *D | stk3; 14607 stk1 = S ^ stk2; 14608 stk1 = ~stk1; 14609 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 14610} 14611 14612/* SDTSnaoxn source/pattern opaque. */ 14613static unsigned xrop3_137_0_0 (unsigned char s, unsigned char t) 14614{ 14615 unsigned D = 0x00ff; 14616 unsigned S = ((unsigned)s << 8) | s; 14617 unsigned T = ((unsigned)t << 8) | t; 14618 unsigned stk1; 14619 unsigned stk2; 14620 unsigned stk3; 14621 unsigned stk4; 14622 stk4 = ~S; 14623 stk3 = T & stk4; 14624 stk2 = D | stk3; 14625 stk1 = S ^ stk2; 14626 stk1 = ~stk1; 14627 return stk1; 14628} 14629 14630/* SDTSnaoxn source opaque/pattern transparent. */ 14631static unsigned xrop3_137_0_1 (unsigned char s, unsigned char t) 14632{ 14633 unsigned D = 0x00ff; 14634 unsigned S = ((unsigned)s << 8) | s; 14635 unsigned T = ((unsigned)t << 8) | t; 14636 unsigned stk1; 14637 unsigned stk2; 14638 unsigned stk3; 14639 unsigned stk4; 14640 stk4 = ~S; 14641 stk3 = T & stk4; 14642 stk2 = D | stk3; 14643 stk1 = S ^ stk2; 14644 stk1 = ~stk1; 14645 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 14646} 14647 14648/* SDTSnaoxn source transparent/pattern opaque. */ 14649static unsigned xrop3_137_1_0 (unsigned char s, unsigned char t) 14650{ 14651 unsigned D = 0x00ff; 14652 unsigned S = ((unsigned)s << 8) | s; 14653 unsigned T = ((unsigned)t << 8) | t; 14654 unsigned stk1; 14655 unsigned stk2; 14656 unsigned stk3; 14657 unsigned stk4; 14658 stk4 = ~S; 14659 stk3 = T & stk4; 14660 stk2 = D | stk3; 14661 stk1 = S ^ stk2; 14662 stk1 = ~stk1; 14663 return (stk1 & (~S)) | (D & S); 14664} 14665 14666/* SDTSnaoxn source/pattern transparent. */ 14667static unsigned xrop3_137_1_1 (unsigned char s, unsigned char t) 14668{ 14669 unsigned D = 0x00ff; 14670 unsigned S = ((unsigned)s << 8) | s; 14671 unsigned T = ((unsigned)t << 8) | t; 14672 unsigned stk1; 14673 unsigned stk2; 14674 unsigned stk3; 14675 unsigned stk4; 14676 stk4 = ~S; 14677 stk3 = T & stk4; 14678 stk2 = D | stk3; 14679 stk1 = S ^ stk2; 14680 stk1 = ~stk1; 14681 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 14682} 14683 14684/* DSTnoa source/pattern opaque. */ 14685static void rop3_138_0_0 (unsigned char *D, unsigned char S, unsigned char T) 14686{ 14687 unsigned char stk1; 14688 unsigned char stk2; 14689 unsigned char stk3; 14690 stk3 = ~T; 14691 stk2 = S | stk3; 14692 stk1 = *D & stk2; 14693 *D = stk1; 14694} 14695 14696/* DSTnoa source opaque/pattern transparent. */ 14697static void rop3_138_0_1 (unsigned char *D, unsigned char S, unsigned char T) 14698{ 14699 unsigned char stk1; 14700 unsigned char stk2; 14701 unsigned char stk3; 14702 stk3 = ~T; 14703 stk2 = S | stk3; 14704 stk1 = *D & stk2; 14705 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 14706} 14707 14708/* DSTnoa source transparent/pattern opaque. */ 14709static void rop3_138_1_0 (unsigned char *D, unsigned char S, unsigned char T) 14710{ 14711 unsigned char stk1; 14712 unsigned char stk2; 14713 unsigned char stk3; 14714 stk3 = ~T; 14715 stk2 = S | stk3; 14716 stk1 = *D & stk2; 14717 *D = (stk1 & (~S)) | (*D & S); 14718} 14719 14720/* DSTnoa source/pattern transparent. */ 14721static void rop3_138_1_1 (unsigned char *D, unsigned char S, unsigned char T) 14722{ 14723 unsigned char stk1; 14724 unsigned char stk2; 14725 unsigned char stk3; 14726 stk3 = ~T; 14727 stk2 = S | stk3; 14728 stk1 = *D & stk2; 14729 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 14730} 14731 14732/* DSTnoa source/pattern opaque. */ 14733static unsigned xrop3_138_0_0 (unsigned char s, unsigned char t) 14734{ 14735 unsigned D = 0x00ff; 14736 unsigned S = ((unsigned)s << 8) | s; 14737 unsigned T = ((unsigned)t << 8) | t; 14738 unsigned stk1; 14739 unsigned stk2; 14740 unsigned stk3; 14741 stk3 = ~T; 14742 stk2 = S | stk3; 14743 stk1 = D & stk2; 14744 return stk1; 14745} 14746 14747/* DSTnoa source opaque/pattern transparent. */ 14748static unsigned xrop3_138_0_1 (unsigned char s, unsigned char t) 14749{ 14750 unsigned D = 0x00ff; 14751 unsigned S = ((unsigned)s << 8) | s; 14752 unsigned T = ((unsigned)t << 8) | t; 14753 unsigned stk1; 14754 unsigned stk2; 14755 unsigned stk3; 14756 stk3 = ~T; 14757 stk2 = S | stk3; 14758 stk1 = D & stk2; 14759 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 14760} 14761 14762/* DSTnoa source transparent/pattern opaque. */ 14763static unsigned xrop3_138_1_0 (unsigned char s, unsigned char t) 14764{ 14765 unsigned D = 0x00ff; 14766 unsigned S = ((unsigned)s << 8) | s; 14767 unsigned T = ((unsigned)t << 8) | t; 14768 unsigned stk1; 14769 unsigned stk2; 14770 unsigned stk3; 14771 stk3 = ~T; 14772 stk2 = S | stk3; 14773 stk1 = D & stk2; 14774 return (stk1 & (~S)) | (D & S); 14775} 14776 14777/* DSTnoa source/pattern transparent. */ 14778static unsigned xrop3_138_1_1 (unsigned char s, unsigned char t) 14779{ 14780 unsigned D = 0x00ff; 14781 unsigned S = ((unsigned)s << 8) | s; 14782 unsigned T = ((unsigned)t << 8) | t; 14783 unsigned stk1; 14784 unsigned stk2; 14785 unsigned stk3; 14786 stk3 = ~T; 14787 stk2 = S | stk3; 14788 stk1 = D & stk2; 14789 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 14790} 14791 14792/* DSTDxoxn source/pattern opaque. */ 14793static void rop3_139_0_0 (unsigned char *D, unsigned char S, unsigned char T) 14794{ 14795 unsigned char stk1; 14796 unsigned char stk2; 14797 unsigned char stk3; 14798 stk3 = T ^ *D; 14799 stk2 = S | stk3; 14800 stk1 = *D ^ stk2; 14801 stk1 = ~stk1; 14802 *D = stk1; 14803} 14804 14805/* DSTDxoxn source opaque/pattern transparent. */ 14806static void rop3_139_0_1 (unsigned char *D, unsigned char S, unsigned char T) 14807{ 14808 unsigned char stk1; 14809 unsigned char stk2; 14810 unsigned char stk3; 14811 stk3 = T ^ *D; 14812 stk2 = S | stk3; 14813 stk1 = *D ^ stk2; 14814 stk1 = ~stk1; 14815 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 14816} 14817 14818/* DSTDxoxn source transparent/pattern opaque. */ 14819static void rop3_139_1_0 (unsigned char *D, unsigned char S, unsigned char T) 14820{ 14821 unsigned char stk1; 14822 unsigned char stk2; 14823 unsigned char stk3; 14824 stk3 = T ^ *D; 14825 stk2 = S | stk3; 14826 stk1 = *D ^ stk2; 14827 stk1 = ~stk1; 14828 *D = (stk1 & (~S)) | (*D & S); 14829} 14830 14831/* DSTDxoxn source/pattern transparent. */ 14832static void rop3_139_1_1 (unsigned char *D, unsigned char S, unsigned char T) 14833{ 14834 unsigned char stk1; 14835 unsigned char stk2; 14836 unsigned char stk3; 14837 stk3 = T ^ *D; 14838 stk2 = S | stk3; 14839 stk1 = *D ^ stk2; 14840 stk1 = ~stk1; 14841 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 14842} 14843 14844/* DSTDxoxn source/pattern opaque. */ 14845static unsigned xrop3_139_0_0 (unsigned char s, unsigned char t) 14846{ 14847 unsigned D = 0x00ff; 14848 unsigned S = ((unsigned)s << 8) | s; 14849 unsigned T = ((unsigned)t << 8) | t; 14850 unsigned stk1; 14851 unsigned stk2; 14852 unsigned stk3; 14853 stk3 = T ^ D; 14854 stk2 = S | stk3; 14855 stk1 = D ^ stk2; 14856 stk1 = ~stk1; 14857 return stk1; 14858} 14859 14860/* DSTDxoxn source opaque/pattern transparent. */ 14861static unsigned xrop3_139_0_1 (unsigned char s, unsigned char t) 14862{ 14863 unsigned D = 0x00ff; 14864 unsigned S = ((unsigned)s << 8) | s; 14865 unsigned T = ((unsigned)t << 8) | t; 14866 unsigned stk1; 14867 unsigned stk2; 14868 unsigned stk3; 14869 stk3 = T ^ D; 14870 stk2 = S | stk3; 14871 stk1 = D ^ stk2; 14872 stk1 = ~stk1; 14873 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 14874} 14875 14876/* DSTDxoxn source transparent/pattern opaque. */ 14877static unsigned xrop3_139_1_0 (unsigned char s, unsigned char t) 14878{ 14879 unsigned D = 0x00ff; 14880 unsigned S = ((unsigned)s << 8) | s; 14881 unsigned T = ((unsigned)t << 8) | t; 14882 unsigned stk1; 14883 unsigned stk2; 14884 unsigned stk3; 14885 stk3 = T ^ D; 14886 stk2 = S | stk3; 14887 stk1 = D ^ stk2; 14888 stk1 = ~stk1; 14889 return (stk1 & (~S)) | (D & S); 14890} 14891 14892/* DSTDxoxn source/pattern transparent. */ 14893static unsigned xrop3_139_1_1 (unsigned char s, unsigned char t) 14894{ 14895 unsigned D = 0x00ff; 14896 unsigned S = ((unsigned)s << 8) | s; 14897 unsigned T = ((unsigned)t << 8) | t; 14898 unsigned stk1; 14899 unsigned stk2; 14900 unsigned stk3; 14901 stk3 = T ^ D; 14902 stk2 = S | stk3; 14903 stk1 = D ^ stk2; 14904 stk1 = ~stk1; 14905 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 14906} 14907 14908/* SDTnoa source/pattern opaque. */ 14909static void rop3_140_0_0 (unsigned char *D, unsigned char S, unsigned char T) 14910{ 14911 unsigned char stk1; 14912 unsigned char stk2; 14913 unsigned char stk3; 14914 stk3 = ~T; 14915 stk2 = *D | stk3; 14916 stk1 = S & stk2; 14917 *D = stk1; 14918} 14919 14920/* SDTnoa source opaque/pattern transparent. */ 14921static void rop3_140_0_1 (unsigned char *D, unsigned char S, unsigned char T) 14922{ 14923 unsigned char stk1; 14924 unsigned char stk2; 14925 unsigned char stk3; 14926 stk3 = ~T; 14927 stk2 = *D | stk3; 14928 stk1 = S & stk2; 14929 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 14930} 14931 14932/* SDTnoa source transparent/pattern opaque. */ 14933static void rop3_140_1_0 (unsigned char *D, unsigned char S, unsigned char T) 14934{ 14935 unsigned char stk1; 14936 unsigned char stk2; 14937 unsigned char stk3; 14938 stk3 = ~T; 14939 stk2 = *D | stk3; 14940 stk1 = S & stk2; 14941 *D = (stk1 & (~S)) | (*D & S); 14942} 14943 14944/* SDTnoa source/pattern transparent. */ 14945static void rop3_140_1_1 (unsigned char *D, unsigned char S, unsigned char T) 14946{ 14947 unsigned char stk1; 14948 unsigned char stk2; 14949 unsigned char stk3; 14950 stk3 = ~T; 14951 stk2 = *D | stk3; 14952 stk1 = S & stk2; 14953 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 14954} 14955 14956/* SDTnoa source/pattern opaque. */ 14957static unsigned xrop3_140_0_0 (unsigned char s, unsigned char t) 14958{ 14959 unsigned D = 0x00ff; 14960 unsigned S = ((unsigned)s << 8) | s; 14961 unsigned T = ((unsigned)t << 8) | t; 14962 unsigned stk1; 14963 unsigned stk2; 14964 unsigned stk3; 14965 stk3 = ~T; 14966 stk2 = D | stk3; 14967 stk1 = S & stk2; 14968 return stk1; 14969} 14970 14971/* SDTnoa source opaque/pattern transparent. */ 14972static unsigned xrop3_140_0_1 (unsigned char s, unsigned char t) 14973{ 14974 unsigned D = 0x00ff; 14975 unsigned S = ((unsigned)s << 8) | s; 14976 unsigned T = ((unsigned)t << 8) | t; 14977 unsigned stk1; 14978 unsigned stk2; 14979 unsigned stk3; 14980 stk3 = ~T; 14981 stk2 = D | stk3; 14982 stk1 = S & stk2; 14983 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 14984} 14985 14986/* SDTnoa source transparent/pattern opaque. */ 14987static unsigned xrop3_140_1_0 (unsigned char s, unsigned char t) 14988{ 14989 unsigned D = 0x00ff; 14990 unsigned S = ((unsigned)s << 8) | s; 14991 unsigned T = ((unsigned)t << 8) | t; 14992 unsigned stk1; 14993 unsigned stk2; 14994 unsigned stk3; 14995 stk3 = ~T; 14996 stk2 = D | stk3; 14997 stk1 = S & stk2; 14998 return (stk1 & (~S)) | (D & S); 14999} 15000 15001/* SDTnoa source/pattern transparent. */ 15002static unsigned xrop3_140_1_1 (unsigned char s, unsigned char t) 15003{ 15004 unsigned D = 0x00ff; 15005 unsigned S = ((unsigned)s << 8) | s; 15006 unsigned T = ((unsigned)t << 8) | t; 15007 unsigned stk1; 15008 unsigned stk2; 15009 unsigned stk3; 15010 stk3 = ~T; 15011 stk2 = D | stk3; 15012 stk1 = S & stk2; 15013 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 15014} 15015 15016/* SDTSxoxn source/pattern opaque. */ 15017static void rop3_141_0_0 (unsigned char *D, unsigned char S, unsigned char T) 15018{ 15019 unsigned char stk1; 15020 unsigned char stk2; 15021 unsigned char stk3; 15022 stk3 = T ^ S; 15023 stk2 = *D | stk3; 15024 stk1 = S ^ stk2; 15025 stk1 = ~stk1; 15026 *D = stk1; 15027} 15028 15029/* SDTSxoxn source opaque/pattern transparent. */ 15030static void rop3_141_0_1 (unsigned char *D, unsigned char S, unsigned char T) 15031{ 15032 unsigned char stk1; 15033 unsigned char stk2; 15034 unsigned char stk3; 15035 stk3 = T ^ S; 15036 stk2 = *D | stk3; 15037 stk1 = S ^ stk2; 15038 stk1 = ~stk1; 15039 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 15040} 15041 15042/* SDTSxoxn source transparent/pattern opaque. */ 15043static void rop3_141_1_0 (unsigned char *D, unsigned char S, unsigned char T) 15044{ 15045 unsigned char stk1; 15046 unsigned char stk2; 15047 unsigned char stk3; 15048 stk3 = T ^ S; 15049 stk2 = *D | stk3; 15050 stk1 = S ^ stk2; 15051 stk1 = ~stk1; 15052 *D = (stk1 & (~S)) | (*D & S); 15053} 15054 15055/* SDTSxoxn source/pattern transparent. */ 15056static void rop3_141_1_1 (unsigned char *D, unsigned char S, unsigned char T) 15057{ 15058 unsigned char stk1; 15059 unsigned char stk2; 15060 unsigned char stk3; 15061 stk3 = T ^ S; 15062 stk2 = *D | stk3; 15063 stk1 = S ^ stk2; 15064 stk1 = ~stk1; 15065 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 15066} 15067 15068/* SDTSxoxn source/pattern opaque. */ 15069static unsigned xrop3_141_0_0 (unsigned char s, unsigned char t) 15070{ 15071 unsigned D = 0x00ff; 15072 unsigned S = ((unsigned)s << 8) | s; 15073 unsigned T = ((unsigned)t << 8) | t; 15074 unsigned stk1; 15075 unsigned stk2; 15076 unsigned stk3; 15077 stk3 = T ^ S; 15078 stk2 = D | stk3; 15079 stk1 = S ^ stk2; 15080 stk1 = ~stk1; 15081 return stk1; 15082} 15083 15084/* SDTSxoxn source opaque/pattern transparent. */ 15085static unsigned xrop3_141_0_1 (unsigned char s, unsigned char t) 15086{ 15087 unsigned D = 0x00ff; 15088 unsigned S = ((unsigned)s << 8) | s; 15089 unsigned T = ((unsigned)t << 8) | t; 15090 unsigned stk1; 15091 unsigned stk2; 15092 unsigned stk3; 15093 stk3 = T ^ S; 15094 stk2 = D | stk3; 15095 stk1 = S ^ stk2; 15096 stk1 = ~stk1; 15097 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 15098} 15099 15100/* SDTSxoxn source transparent/pattern opaque. */ 15101static unsigned xrop3_141_1_0 (unsigned char s, unsigned char t) 15102{ 15103 unsigned D = 0x00ff; 15104 unsigned S = ((unsigned)s << 8) | s; 15105 unsigned T = ((unsigned)t << 8) | t; 15106 unsigned stk1; 15107 unsigned stk2; 15108 unsigned stk3; 15109 stk3 = T ^ S; 15110 stk2 = D | stk3; 15111 stk1 = S ^ stk2; 15112 stk1 = ~stk1; 15113 return (stk1 & (~S)) | (D & S); 15114} 15115 15116/* SDTSxoxn source/pattern transparent. */ 15117static unsigned xrop3_141_1_1 (unsigned char s, unsigned char t) 15118{ 15119 unsigned D = 0x00ff; 15120 unsigned S = ((unsigned)s << 8) | s; 15121 unsigned T = ((unsigned)t << 8) | t; 15122 unsigned stk1; 15123 unsigned stk2; 15124 unsigned stk3; 15125 stk3 = T ^ S; 15126 stk2 = D | stk3; 15127 stk1 = S ^ stk2; 15128 stk1 = ~stk1; 15129 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 15130} 15131 15132/* SSDxTDxax source/pattern opaque. */ 15133static void rop3_142_0_0 (unsigned char *D, unsigned char S, unsigned char T) 15134{ 15135 unsigned char stk1; 15136 unsigned char stk2; 15137 unsigned char stk3; 15138 stk2 = S ^ *D; 15139 stk3 = T ^ *D; 15140 stk2 = stk2 & stk3; 15141 stk1 = S ^ stk2; 15142 *D = stk1; 15143} 15144 15145/* SSDxTDxax source opaque/pattern transparent. */ 15146static void rop3_142_0_1 (unsigned char *D, unsigned char S, unsigned char T) 15147{ 15148 unsigned char stk1; 15149 unsigned char stk2; 15150 unsigned char stk3; 15151 stk2 = S ^ *D; 15152 stk3 = T ^ *D; 15153 stk2 = stk2 & stk3; 15154 stk1 = S ^ stk2; 15155 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 15156} 15157 15158/* SSDxTDxax source transparent/pattern opaque. */ 15159static void rop3_142_1_0 (unsigned char *D, unsigned char S, unsigned char T) 15160{ 15161 unsigned char stk1; 15162 unsigned char stk2; 15163 unsigned char stk3; 15164 stk2 = S ^ *D; 15165 stk3 = T ^ *D; 15166 stk2 = stk2 & stk3; 15167 stk1 = S ^ stk2; 15168 *D = (stk1 & (~S)) | (*D & S); 15169} 15170 15171/* SSDxTDxax source/pattern transparent. */ 15172static void rop3_142_1_1 (unsigned char *D, unsigned char S, unsigned char T) 15173{ 15174 unsigned char stk1; 15175 unsigned char stk2; 15176 unsigned char stk3; 15177 stk2 = S ^ *D; 15178 stk3 = T ^ *D; 15179 stk2 = stk2 & stk3; 15180 stk1 = S ^ stk2; 15181 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 15182} 15183 15184/* SSDxTDxax source/pattern opaque. */ 15185static unsigned xrop3_142_0_0 (unsigned char s, unsigned char t) 15186{ 15187 unsigned D = 0x00ff; 15188 unsigned S = ((unsigned)s << 8) | s; 15189 unsigned T = ((unsigned)t << 8) | t; 15190 unsigned stk1; 15191 unsigned stk2; 15192 unsigned stk3; 15193 stk2 = S ^ D; 15194 stk3 = T ^ D; 15195 stk2 = stk2 & stk3; 15196 stk1 = S ^ stk2; 15197 return stk1; 15198} 15199 15200/* SSDxTDxax source opaque/pattern transparent. */ 15201static unsigned xrop3_142_0_1 (unsigned char s, unsigned char t) 15202{ 15203 unsigned D = 0x00ff; 15204 unsigned S = ((unsigned)s << 8) | s; 15205 unsigned T = ((unsigned)t << 8) | t; 15206 unsigned stk1; 15207 unsigned stk2; 15208 unsigned stk3; 15209 stk2 = S ^ D; 15210 stk3 = T ^ D; 15211 stk2 = stk2 & stk3; 15212 stk1 = S ^ stk2; 15213 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 15214} 15215 15216/* SSDxTDxax source transparent/pattern opaque. */ 15217static unsigned xrop3_142_1_0 (unsigned char s, unsigned char t) 15218{ 15219 unsigned D = 0x00ff; 15220 unsigned S = ((unsigned)s << 8) | s; 15221 unsigned T = ((unsigned)t << 8) | t; 15222 unsigned stk1; 15223 unsigned stk2; 15224 unsigned stk3; 15225 stk2 = S ^ D; 15226 stk3 = T ^ D; 15227 stk2 = stk2 & stk3; 15228 stk1 = S ^ stk2; 15229 return (stk1 & (~S)) | (D & S); 15230} 15231 15232/* SSDxTDxax source/pattern transparent. */ 15233static unsigned xrop3_142_1_1 (unsigned char s, unsigned char t) 15234{ 15235 unsigned D = 0x00ff; 15236 unsigned S = ((unsigned)s << 8) | s; 15237 unsigned T = ((unsigned)t << 8) | t; 15238 unsigned stk1; 15239 unsigned stk2; 15240 unsigned stk3; 15241 stk2 = S ^ D; 15242 stk3 = T ^ D; 15243 stk2 = stk2 & stk3; 15244 stk1 = S ^ stk2; 15245 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 15246} 15247 15248/* TDSanan source/pattern opaque. */ 15249static void rop3_143_0_0 (unsigned char *D, unsigned char S, unsigned char T) 15250{ 15251 unsigned char stk1; 15252 unsigned char stk2; 15253 stk2 = *D & S; 15254 stk2 = ~stk2; 15255 stk1 = T & stk2; 15256 stk1 = ~stk1; 15257 *D = stk1; 15258} 15259 15260/* TDSanan source opaque/pattern transparent. */ 15261static void rop3_143_0_1 (unsigned char *D, unsigned char S, unsigned char T) 15262{ 15263 unsigned char stk1; 15264 unsigned char stk2; 15265 stk2 = *D & S; 15266 stk2 = ~stk2; 15267 stk1 = T & stk2; 15268 stk1 = ~stk1; 15269 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 15270} 15271 15272/* TDSanan source transparent/pattern opaque. */ 15273static void rop3_143_1_0 (unsigned char *D, unsigned char S, unsigned char T) 15274{ 15275 unsigned char stk1; 15276 unsigned char stk2; 15277 stk2 = *D & S; 15278 stk2 = ~stk2; 15279 stk1 = T & stk2; 15280 stk1 = ~stk1; 15281 *D = (stk1 & (~S)) | (*D & S); 15282} 15283 15284/* TDSanan source/pattern transparent. */ 15285static void rop3_143_1_1 (unsigned char *D, unsigned char S, unsigned char T) 15286{ 15287 unsigned char stk1; 15288 unsigned char stk2; 15289 stk2 = *D & S; 15290 stk2 = ~stk2; 15291 stk1 = T & stk2; 15292 stk1 = ~stk1; 15293 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 15294} 15295 15296/* TDSanan source/pattern opaque. */ 15297static unsigned xrop3_143_0_0 (unsigned char s, unsigned char t) 15298{ 15299 unsigned D = 0x00ff; 15300 unsigned S = ((unsigned)s << 8) | s; 15301 unsigned T = ((unsigned)t << 8) | t; 15302 unsigned stk1; 15303 unsigned stk2; 15304 stk2 = D & S; 15305 stk2 = ~stk2; 15306 stk1 = T & stk2; 15307 stk1 = ~stk1; 15308 return stk1; 15309} 15310 15311/* TDSanan source opaque/pattern transparent. */ 15312static unsigned xrop3_143_0_1 (unsigned char s, unsigned char t) 15313{ 15314 unsigned D = 0x00ff; 15315 unsigned S = ((unsigned)s << 8) | s; 15316 unsigned T = ((unsigned)t << 8) | t; 15317 unsigned stk1; 15318 unsigned stk2; 15319 stk2 = D & S; 15320 stk2 = ~stk2; 15321 stk1 = T & stk2; 15322 stk1 = ~stk1; 15323 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 15324} 15325 15326/* TDSanan source transparent/pattern opaque. */ 15327static unsigned xrop3_143_1_0 (unsigned char s, unsigned char t) 15328{ 15329 unsigned D = 0x00ff; 15330 unsigned S = ((unsigned)s << 8) | s; 15331 unsigned T = ((unsigned)t << 8) | t; 15332 unsigned stk1; 15333 unsigned stk2; 15334 stk2 = D & S; 15335 stk2 = ~stk2; 15336 stk1 = T & stk2; 15337 stk1 = ~stk1; 15338 return (stk1 & (~S)) | (D & S); 15339} 15340 15341/* TDSanan source/pattern transparent. */ 15342static unsigned xrop3_143_1_1 (unsigned char s, unsigned char t) 15343{ 15344 unsigned D = 0x00ff; 15345 unsigned S = ((unsigned)s << 8) | s; 15346 unsigned T = ((unsigned)t << 8) | t; 15347 unsigned stk1; 15348 unsigned stk2; 15349 stk2 = D & S; 15350 stk2 = ~stk2; 15351 stk1 = T & stk2; 15352 stk1 = ~stk1; 15353 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 15354} 15355 15356/* TDSxna source/pattern opaque. */ 15357static void rop3_144_0_0 (unsigned char *D, unsigned char S, unsigned char T) 15358{ 15359 unsigned char stk1; 15360 unsigned char stk2; 15361 stk2 = *D ^ S; 15362 stk2 = ~stk2; 15363 stk1 = T & stk2; 15364 *D = stk1; 15365} 15366 15367/* TDSxna source opaque/pattern transparent. */ 15368static void rop3_144_0_1 (unsigned char *D, unsigned char S, unsigned char T) 15369{ 15370 unsigned char stk1; 15371 unsigned char stk2; 15372 stk2 = *D ^ S; 15373 stk2 = ~stk2; 15374 stk1 = T & stk2; 15375 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 15376} 15377 15378/* TDSxna source transparent/pattern opaque. */ 15379static void rop3_144_1_0 (unsigned char *D, unsigned char S, unsigned char T) 15380{ 15381 unsigned char stk1; 15382 unsigned char stk2; 15383 stk2 = *D ^ S; 15384 stk2 = ~stk2; 15385 stk1 = T & stk2; 15386 *D = (stk1 & (~S)) | (*D & S); 15387} 15388 15389/* TDSxna source/pattern transparent. */ 15390static void rop3_144_1_1 (unsigned char *D, unsigned char S, unsigned char T) 15391{ 15392 unsigned char stk1; 15393 unsigned char stk2; 15394 stk2 = *D ^ S; 15395 stk2 = ~stk2; 15396 stk1 = T & stk2; 15397 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 15398} 15399 15400/* TDSxna source/pattern opaque. */ 15401static unsigned xrop3_144_0_0 (unsigned char s, unsigned char t) 15402{ 15403 unsigned D = 0x00ff; 15404 unsigned S = ((unsigned)s << 8) | s; 15405 unsigned T = ((unsigned)t << 8) | t; 15406 unsigned stk1; 15407 unsigned stk2; 15408 stk2 = D ^ S; 15409 stk2 = ~stk2; 15410 stk1 = T & stk2; 15411 return stk1; 15412} 15413 15414/* TDSxna source opaque/pattern transparent. */ 15415static unsigned xrop3_144_0_1 (unsigned char s, unsigned char t) 15416{ 15417 unsigned D = 0x00ff; 15418 unsigned S = ((unsigned)s << 8) | s; 15419 unsigned T = ((unsigned)t << 8) | t; 15420 unsigned stk1; 15421 unsigned stk2; 15422 stk2 = D ^ S; 15423 stk2 = ~stk2; 15424 stk1 = T & stk2; 15425 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 15426} 15427 15428/* TDSxna source transparent/pattern opaque. */ 15429static unsigned xrop3_144_1_0 (unsigned char s, unsigned char t) 15430{ 15431 unsigned D = 0x00ff; 15432 unsigned S = ((unsigned)s << 8) | s; 15433 unsigned T = ((unsigned)t << 8) | t; 15434 unsigned stk1; 15435 unsigned stk2; 15436 stk2 = D ^ S; 15437 stk2 = ~stk2; 15438 stk1 = T & stk2; 15439 return (stk1 & (~S)) | (D & S); 15440} 15441 15442/* TDSxna source/pattern transparent. */ 15443static unsigned xrop3_144_1_1 (unsigned char s, unsigned char t) 15444{ 15445 unsigned D = 0x00ff; 15446 unsigned S = ((unsigned)s << 8) | s; 15447 unsigned T = ((unsigned)t << 8) | t; 15448 unsigned stk1; 15449 unsigned stk2; 15450 stk2 = D ^ S; 15451 stk2 = ~stk2; 15452 stk1 = T & stk2; 15453 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 15454} 15455 15456/* SDTSnoaxn source/pattern opaque. */ 15457static void rop3_145_0_0 (unsigned char *D, unsigned char S, unsigned char T) 15458{ 15459 unsigned char stk1; 15460 unsigned char stk2; 15461 unsigned char stk3; 15462 unsigned char stk4; 15463 stk4 = ~S; 15464 stk3 = T | stk4; 15465 stk2 = *D & stk3; 15466 stk1 = S ^ stk2; 15467 stk1 = ~stk1; 15468 *D = stk1; 15469} 15470 15471/* SDTSnoaxn source opaque/pattern transparent. */ 15472static void rop3_145_0_1 (unsigned char *D, unsigned char S, unsigned char T) 15473{ 15474 unsigned char stk1; 15475 unsigned char stk2; 15476 unsigned char stk3; 15477 unsigned char stk4; 15478 stk4 = ~S; 15479 stk3 = T | stk4; 15480 stk2 = *D & stk3; 15481 stk1 = S ^ stk2; 15482 stk1 = ~stk1; 15483 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 15484} 15485 15486/* SDTSnoaxn source transparent/pattern opaque. */ 15487static void rop3_145_1_0 (unsigned char *D, unsigned char S, unsigned char T) 15488{ 15489 unsigned char stk1; 15490 unsigned char stk2; 15491 unsigned char stk3; 15492 unsigned char stk4; 15493 stk4 = ~S; 15494 stk3 = T | stk4; 15495 stk2 = *D & stk3; 15496 stk1 = S ^ stk2; 15497 stk1 = ~stk1; 15498 *D = (stk1 & (~S)) | (*D & S); 15499} 15500 15501/* SDTSnoaxn source/pattern transparent. */ 15502static void rop3_145_1_1 (unsigned char *D, unsigned char S, unsigned char T) 15503{ 15504 unsigned char stk1; 15505 unsigned char stk2; 15506 unsigned char stk3; 15507 unsigned char stk4; 15508 stk4 = ~S; 15509 stk3 = T | stk4; 15510 stk2 = *D & stk3; 15511 stk1 = S ^ stk2; 15512 stk1 = ~stk1; 15513 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 15514} 15515 15516/* SDTSnoaxn source/pattern opaque. */ 15517static unsigned xrop3_145_0_0 (unsigned char s, unsigned char t) 15518{ 15519 unsigned D = 0x00ff; 15520 unsigned S = ((unsigned)s << 8) | s; 15521 unsigned T = ((unsigned)t << 8) | t; 15522 unsigned stk1; 15523 unsigned stk2; 15524 unsigned stk3; 15525 unsigned stk4; 15526 stk4 = ~S; 15527 stk3 = T | stk4; 15528 stk2 = D & stk3; 15529 stk1 = S ^ stk2; 15530 stk1 = ~stk1; 15531 return stk1; 15532} 15533 15534/* SDTSnoaxn source opaque/pattern transparent. */ 15535static unsigned xrop3_145_0_1 (unsigned char s, unsigned char t) 15536{ 15537 unsigned D = 0x00ff; 15538 unsigned S = ((unsigned)s << 8) | s; 15539 unsigned T = ((unsigned)t << 8) | t; 15540 unsigned stk1; 15541 unsigned stk2; 15542 unsigned stk3; 15543 unsigned stk4; 15544 stk4 = ~S; 15545 stk3 = T | stk4; 15546 stk2 = D & stk3; 15547 stk1 = S ^ stk2; 15548 stk1 = ~stk1; 15549 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 15550} 15551 15552/* SDTSnoaxn source transparent/pattern opaque. */ 15553static unsigned xrop3_145_1_0 (unsigned char s, unsigned char t) 15554{ 15555 unsigned D = 0x00ff; 15556 unsigned S = ((unsigned)s << 8) | s; 15557 unsigned T = ((unsigned)t << 8) | t; 15558 unsigned stk1; 15559 unsigned stk2; 15560 unsigned stk3; 15561 unsigned stk4; 15562 stk4 = ~S; 15563 stk3 = T | stk4; 15564 stk2 = D & stk3; 15565 stk1 = S ^ stk2; 15566 stk1 = ~stk1; 15567 return (stk1 & (~S)) | (D & S); 15568} 15569 15570/* SDTSnoaxn source/pattern transparent. */ 15571static unsigned xrop3_145_1_1 (unsigned char s, unsigned char t) 15572{ 15573 unsigned D = 0x00ff; 15574 unsigned S = ((unsigned)s << 8) | s; 15575 unsigned T = ((unsigned)t << 8) | t; 15576 unsigned stk1; 15577 unsigned stk2; 15578 unsigned stk3; 15579 unsigned stk4; 15580 stk4 = ~S; 15581 stk3 = T | stk4; 15582 stk2 = D & stk3; 15583 stk1 = S ^ stk2; 15584 stk1 = ~stk1; 15585 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 15586} 15587 15588/* DTSDToaxx source/pattern opaque. */ 15589static void rop3_146_0_0 (unsigned char *D, unsigned char S, unsigned char T) 15590{ 15591 unsigned char stk1; 15592 unsigned char stk2; 15593 unsigned char stk3; 15594 unsigned char stk4; 15595 stk4 = *D | T; 15596 stk3 = S & stk4; 15597 stk2 = T ^ stk3; 15598 stk1 = *D ^ stk2; 15599 *D = stk1; 15600} 15601 15602/* DTSDToaxx source opaque/pattern transparent. */ 15603static void rop3_146_0_1 (unsigned char *D, unsigned char S, unsigned char T) 15604{ 15605 unsigned char stk1; 15606 unsigned char stk2; 15607 unsigned char stk3; 15608 unsigned char stk4; 15609 stk4 = *D | T; 15610 stk3 = S & stk4; 15611 stk2 = T ^ stk3; 15612 stk1 = *D ^ stk2; 15613 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 15614} 15615 15616/* DTSDToaxx source transparent/pattern opaque. */ 15617static void rop3_146_1_0 (unsigned char *D, unsigned char S, unsigned char T) 15618{ 15619 unsigned char stk1; 15620 unsigned char stk2; 15621 unsigned char stk3; 15622 unsigned char stk4; 15623 stk4 = *D | T; 15624 stk3 = S & stk4; 15625 stk2 = T ^ stk3; 15626 stk1 = *D ^ stk2; 15627 *D = (stk1 & (~S)) | (*D & S); 15628} 15629 15630/* DTSDToaxx source/pattern transparent. */ 15631static void rop3_146_1_1 (unsigned char *D, unsigned char S, unsigned char T) 15632{ 15633 unsigned char stk1; 15634 unsigned char stk2; 15635 unsigned char stk3; 15636 unsigned char stk4; 15637 stk4 = *D | T; 15638 stk3 = S & stk4; 15639 stk2 = T ^ stk3; 15640 stk1 = *D ^ stk2; 15641 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 15642} 15643 15644/* DTSDToaxx source/pattern opaque. */ 15645static unsigned xrop3_146_0_0 (unsigned char s, unsigned char t) 15646{ 15647 unsigned D = 0x00ff; 15648 unsigned S = ((unsigned)s << 8) | s; 15649 unsigned T = ((unsigned)t << 8) | t; 15650 unsigned stk1; 15651 unsigned stk2; 15652 unsigned stk3; 15653 unsigned stk4; 15654 stk4 = D | T; 15655 stk3 = S & stk4; 15656 stk2 = T ^ stk3; 15657 stk1 = D ^ stk2; 15658 return stk1; 15659} 15660 15661/* DTSDToaxx source opaque/pattern transparent. */ 15662static unsigned xrop3_146_0_1 (unsigned char s, unsigned char t) 15663{ 15664 unsigned D = 0x00ff; 15665 unsigned S = ((unsigned)s << 8) | s; 15666 unsigned T = ((unsigned)t << 8) | t; 15667 unsigned stk1; 15668 unsigned stk2; 15669 unsigned stk3; 15670 unsigned stk4; 15671 stk4 = D | T; 15672 stk3 = S & stk4; 15673 stk2 = T ^ stk3; 15674 stk1 = D ^ stk2; 15675 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 15676} 15677 15678/* DTSDToaxx source transparent/pattern opaque. */ 15679static unsigned xrop3_146_1_0 (unsigned char s, unsigned char t) 15680{ 15681 unsigned D = 0x00ff; 15682 unsigned S = ((unsigned)s << 8) | s; 15683 unsigned T = ((unsigned)t << 8) | t; 15684 unsigned stk1; 15685 unsigned stk2; 15686 unsigned stk3; 15687 unsigned stk4; 15688 stk4 = D | T; 15689 stk3 = S & stk4; 15690 stk2 = T ^ stk3; 15691 stk1 = D ^ stk2; 15692 return (stk1 & (~S)) | (D & S); 15693} 15694 15695/* DTSDToaxx source/pattern transparent. */ 15696static unsigned xrop3_146_1_1 (unsigned char s, unsigned char t) 15697{ 15698 unsigned D = 0x00ff; 15699 unsigned S = ((unsigned)s << 8) | s; 15700 unsigned T = ((unsigned)t << 8) | t; 15701 unsigned stk1; 15702 unsigned stk2; 15703 unsigned stk3; 15704 unsigned stk4; 15705 stk4 = D | T; 15706 stk3 = S & stk4; 15707 stk2 = T ^ stk3; 15708 stk1 = D ^ stk2; 15709 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 15710} 15711 15712/* STDaxn source/pattern opaque. */ 15713static void rop3_147_0_0 (unsigned char *D, unsigned char S, unsigned char T) 15714{ 15715 unsigned char stk1; 15716 unsigned char stk2; 15717 stk2 = T & *D; 15718 stk1 = S ^ stk2; 15719 stk1 = ~stk1; 15720 *D = stk1; 15721} 15722 15723/* STDaxn source opaque/pattern transparent. */ 15724static void rop3_147_0_1 (unsigned char *D, unsigned char S, unsigned char T) 15725{ 15726 unsigned char stk1; 15727 unsigned char stk2; 15728 stk2 = T & *D; 15729 stk1 = S ^ stk2; 15730 stk1 = ~stk1; 15731 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 15732} 15733 15734/* STDaxn source transparent/pattern opaque. */ 15735static void rop3_147_1_0 (unsigned char *D, unsigned char S, unsigned char T) 15736{ 15737 unsigned char stk1; 15738 unsigned char stk2; 15739 stk2 = T & *D; 15740 stk1 = S ^ stk2; 15741 stk1 = ~stk1; 15742 *D = (stk1 & (~S)) | (*D & S); 15743} 15744 15745/* STDaxn source/pattern transparent. */ 15746static void rop3_147_1_1 (unsigned char *D, unsigned char S, unsigned char T) 15747{ 15748 unsigned char stk1; 15749 unsigned char stk2; 15750 stk2 = T & *D; 15751 stk1 = S ^ stk2; 15752 stk1 = ~stk1; 15753 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 15754} 15755 15756/* STDaxn source/pattern opaque. */ 15757static unsigned xrop3_147_0_0 (unsigned char s, unsigned char t) 15758{ 15759 unsigned D = 0x00ff; 15760 unsigned S = ((unsigned)s << 8) | s; 15761 unsigned T = ((unsigned)t << 8) | t; 15762 unsigned stk1; 15763 unsigned stk2; 15764 stk2 = T & D; 15765 stk1 = S ^ stk2; 15766 stk1 = ~stk1; 15767 return stk1; 15768} 15769 15770/* STDaxn source opaque/pattern transparent. */ 15771static unsigned xrop3_147_0_1 (unsigned char s, unsigned char t) 15772{ 15773 unsigned D = 0x00ff; 15774 unsigned S = ((unsigned)s << 8) | s; 15775 unsigned T = ((unsigned)t << 8) | t; 15776 unsigned stk1; 15777 unsigned stk2; 15778 stk2 = T & D; 15779 stk1 = S ^ stk2; 15780 stk1 = ~stk1; 15781 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 15782} 15783 15784/* STDaxn source transparent/pattern opaque. */ 15785static unsigned xrop3_147_1_0 (unsigned char s, unsigned char t) 15786{ 15787 unsigned D = 0x00ff; 15788 unsigned S = ((unsigned)s << 8) | s; 15789 unsigned T = ((unsigned)t << 8) | t; 15790 unsigned stk1; 15791 unsigned stk2; 15792 stk2 = T & D; 15793 stk1 = S ^ stk2; 15794 stk1 = ~stk1; 15795 return (stk1 & (~S)) | (D & S); 15796} 15797 15798/* STDaxn source/pattern transparent. */ 15799static unsigned xrop3_147_1_1 (unsigned char s, unsigned char t) 15800{ 15801 unsigned D = 0x00ff; 15802 unsigned S = ((unsigned)s << 8) | s; 15803 unsigned T = ((unsigned)t << 8) | t; 15804 unsigned stk1; 15805 unsigned stk2; 15806 stk2 = T & D; 15807 stk1 = S ^ stk2; 15808 stk1 = ~stk1; 15809 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 15810} 15811 15812/* TSDTSoaxx source/pattern opaque. */ 15813static void rop3_148_0_0 (unsigned char *D, unsigned char S, unsigned char T) 15814{ 15815 unsigned char stk1; 15816 unsigned char stk2; 15817 unsigned char stk3; 15818 unsigned char stk4; 15819 stk4 = T | S; 15820 stk3 = *D & stk4; 15821 stk2 = S ^ stk3; 15822 stk1 = T ^ stk2; 15823 *D = stk1; 15824} 15825 15826/* TSDTSoaxx source opaque/pattern transparent. */ 15827static void rop3_148_0_1 (unsigned char *D, unsigned char S, unsigned char T) 15828{ 15829 unsigned char stk1; 15830 unsigned char stk2; 15831 unsigned char stk3; 15832 unsigned char stk4; 15833 stk4 = T | S; 15834 stk3 = *D & stk4; 15835 stk2 = S ^ stk3; 15836 stk1 = T ^ stk2; 15837 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 15838} 15839 15840/* TSDTSoaxx source transparent/pattern opaque. */ 15841static void rop3_148_1_0 (unsigned char *D, unsigned char S, unsigned char T) 15842{ 15843 unsigned char stk1; 15844 unsigned char stk2; 15845 unsigned char stk3; 15846 unsigned char stk4; 15847 stk4 = T | S; 15848 stk3 = *D & stk4; 15849 stk2 = S ^ stk3; 15850 stk1 = T ^ stk2; 15851 *D = (stk1 & (~S)) | (*D & S); 15852} 15853 15854/* TSDTSoaxx source/pattern transparent. */ 15855static void rop3_148_1_1 (unsigned char *D, unsigned char S, unsigned char T) 15856{ 15857 unsigned char stk1; 15858 unsigned char stk2; 15859 unsigned char stk3; 15860 unsigned char stk4; 15861 stk4 = T | S; 15862 stk3 = *D & stk4; 15863 stk2 = S ^ stk3; 15864 stk1 = T ^ stk2; 15865 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 15866} 15867 15868/* TSDTSoaxx source/pattern opaque. */ 15869static unsigned xrop3_148_0_0 (unsigned char s, unsigned char t) 15870{ 15871 unsigned D = 0x00ff; 15872 unsigned S = ((unsigned)s << 8) | s; 15873 unsigned T = ((unsigned)t << 8) | t; 15874 unsigned stk1; 15875 unsigned stk2; 15876 unsigned stk3; 15877 unsigned stk4; 15878 stk4 = T | S; 15879 stk3 = D & stk4; 15880 stk2 = S ^ stk3; 15881 stk1 = T ^ stk2; 15882 return stk1; 15883} 15884 15885/* TSDTSoaxx source opaque/pattern transparent. */ 15886static unsigned xrop3_148_0_1 (unsigned char s, unsigned char t) 15887{ 15888 unsigned D = 0x00ff; 15889 unsigned S = ((unsigned)s << 8) | s; 15890 unsigned T = ((unsigned)t << 8) | t; 15891 unsigned stk1; 15892 unsigned stk2; 15893 unsigned stk3; 15894 unsigned stk4; 15895 stk4 = T | S; 15896 stk3 = D & stk4; 15897 stk2 = S ^ stk3; 15898 stk1 = T ^ stk2; 15899 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 15900} 15901 15902/* TSDTSoaxx source transparent/pattern opaque. */ 15903static unsigned xrop3_148_1_0 (unsigned char s, unsigned char t) 15904{ 15905 unsigned D = 0x00ff; 15906 unsigned S = ((unsigned)s << 8) | s; 15907 unsigned T = ((unsigned)t << 8) | t; 15908 unsigned stk1; 15909 unsigned stk2; 15910 unsigned stk3; 15911 unsigned stk4; 15912 stk4 = T | S; 15913 stk3 = D & stk4; 15914 stk2 = S ^ stk3; 15915 stk1 = T ^ stk2; 15916 return (stk1 & (~S)) | (D & S); 15917} 15918 15919/* TSDTSoaxx source/pattern transparent. */ 15920static unsigned xrop3_148_1_1 (unsigned char s, unsigned char t) 15921{ 15922 unsigned D = 0x00ff; 15923 unsigned S = ((unsigned)s << 8) | s; 15924 unsigned T = ((unsigned)t << 8) | t; 15925 unsigned stk1; 15926 unsigned stk2; 15927 unsigned stk3; 15928 unsigned stk4; 15929 stk4 = T | S; 15930 stk3 = D & stk4; 15931 stk2 = S ^ stk3; 15932 stk1 = T ^ stk2; 15933 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 15934} 15935 15936/* DTSaxn source/pattern opaque. */ 15937static void rop3_149_0_0 (unsigned char *D, unsigned char S, unsigned char T) 15938{ 15939 unsigned char stk1; 15940 unsigned char stk2; 15941 stk2 = T & S; 15942 stk1 = *D ^ stk2; 15943 stk1 = ~stk1; 15944 *D = stk1; 15945} 15946 15947/* DTSaxn source opaque/pattern transparent. */ 15948static void rop3_149_0_1 (unsigned char *D, unsigned char S, unsigned char T) 15949{ 15950 unsigned char stk1; 15951 unsigned char stk2; 15952 stk2 = T & S; 15953 stk1 = *D ^ stk2; 15954 stk1 = ~stk1; 15955 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 15956} 15957 15958/* DTSaxn source transparent/pattern opaque. */ 15959static void rop3_149_1_0 (unsigned char *D, unsigned char S, unsigned char T) 15960{ 15961 unsigned char stk1; 15962 unsigned char stk2; 15963 stk2 = T & S; 15964 stk1 = *D ^ stk2; 15965 stk1 = ~stk1; 15966 *D = (stk1 & (~S)) | (*D & S); 15967} 15968 15969/* DTSaxn source/pattern transparent. */ 15970static void rop3_149_1_1 (unsigned char *D, unsigned char S, unsigned char T) 15971{ 15972 unsigned char stk1; 15973 unsigned char stk2; 15974 stk2 = T & S; 15975 stk1 = *D ^ stk2; 15976 stk1 = ~stk1; 15977 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 15978} 15979 15980/* DTSaxn source/pattern opaque. */ 15981static unsigned xrop3_149_0_0 (unsigned char s, unsigned char t) 15982{ 15983 unsigned D = 0x00ff; 15984 unsigned S = ((unsigned)s << 8) | s; 15985 unsigned T = ((unsigned)t << 8) | t; 15986 unsigned stk1; 15987 unsigned stk2; 15988 stk2 = T & S; 15989 stk1 = D ^ stk2; 15990 stk1 = ~stk1; 15991 return stk1; 15992} 15993 15994/* DTSaxn source opaque/pattern transparent. */ 15995static unsigned xrop3_149_0_1 (unsigned char s, unsigned char t) 15996{ 15997 unsigned D = 0x00ff; 15998 unsigned S = ((unsigned)s << 8) | s; 15999 unsigned T = ((unsigned)t << 8) | t; 16000 unsigned stk1; 16001 unsigned stk2; 16002 stk2 = T & S; 16003 stk1 = D ^ stk2; 16004 stk1 = ~stk1; 16005 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 16006} 16007 16008/* DTSaxn source transparent/pattern opaque. */ 16009static unsigned xrop3_149_1_0 (unsigned char s, unsigned char t) 16010{ 16011 unsigned D = 0x00ff; 16012 unsigned S = ((unsigned)s << 8) | s; 16013 unsigned T = ((unsigned)t << 8) | t; 16014 unsigned stk1; 16015 unsigned stk2; 16016 stk2 = T & S; 16017 stk1 = D ^ stk2; 16018 stk1 = ~stk1; 16019 return (stk1 & (~S)) | (D & S); 16020} 16021 16022/* DTSaxn source/pattern transparent. */ 16023static unsigned xrop3_149_1_1 (unsigned char s, unsigned char t) 16024{ 16025 unsigned D = 0x00ff; 16026 unsigned S = ((unsigned)s << 8) | s; 16027 unsigned T = ((unsigned)t << 8) | t; 16028 unsigned stk1; 16029 unsigned stk2; 16030 stk2 = T & S; 16031 stk1 = D ^ stk2; 16032 stk1 = ~stk1; 16033 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 16034} 16035 16036/* DTSxx source/pattern opaque. */ 16037static void rop3_150_0_0 (unsigned char *D, unsigned char S, unsigned char T) 16038{ 16039 unsigned char stk1; 16040 unsigned char stk2; 16041 stk2 = T ^ S; 16042 stk1 = *D ^ stk2; 16043 *D = stk1; 16044} 16045 16046/* DTSxx source opaque/pattern transparent. */ 16047static void rop3_150_0_1 (unsigned char *D, unsigned char S, unsigned char T) 16048{ 16049 unsigned char stk1; 16050 unsigned char stk2; 16051 stk2 = T ^ S; 16052 stk1 = *D ^ stk2; 16053 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 16054} 16055 16056/* DTSxx source transparent/pattern opaque. */ 16057static void rop3_150_1_0 (unsigned char *D, unsigned char S, unsigned char T) 16058{ 16059 unsigned char stk1; 16060 unsigned char stk2; 16061 stk2 = T ^ S; 16062 stk1 = *D ^ stk2; 16063 *D = (stk1 & (~S)) | (*D & S); 16064} 16065 16066/* DTSxx source/pattern transparent. */ 16067static void rop3_150_1_1 (unsigned char *D, unsigned char S, unsigned char T) 16068{ 16069 unsigned char stk1; 16070 unsigned char stk2; 16071 stk2 = T ^ S; 16072 stk1 = *D ^ stk2; 16073 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 16074} 16075 16076/* DTSxx source/pattern opaque. */ 16077static unsigned xrop3_150_0_0 (unsigned char s, unsigned char t) 16078{ 16079 unsigned D = 0x00ff; 16080 unsigned S = ((unsigned)s << 8) | s; 16081 unsigned T = ((unsigned)t << 8) | t; 16082 unsigned stk1; 16083 unsigned stk2; 16084 stk2 = T ^ S; 16085 stk1 = D ^ stk2; 16086 return stk1; 16087} 16088 16089/* DTSxx source opaque/pattern transparent. */ 16090static unsigned xrop3_150_0_1 (unsigned char s, unsigned char t) 16091{ 16092 unsigned D = 0x00ff; 16093 unsigned S = ((unsigned)s << 8) | s; 16094 unsigned T = ((unsigned)t << 8) | t; 16095 unsigned stk1; 16096 unsigned stk2; 16097 stk2 = T ^ S; 16098 stk1 = D ^ stk2; 16099 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 16100} 16101 16102/* DTSxx source transparent/pattern opaque. */ 16103static unsigned xrop3_150_1_0 (unsigned char s, unsigned char t) 16104{ 16105 unsigned D = 0x00ff; 16106 unsigned S = ((unsigned)s << 8) | s; 16107 unsigned T = ((unsigned)t << 8) | t; 16108 unsigned stk1; 16109 unsigned stk2; 16110 stk2 = T ^ S; 16111 stk1 = D ^ stk2; 16112 return (stk1 & (~S)) | (D & S); 16113} 16114 16115/* DTSxx source/pattern transparent. */ 16116static unsigned xrop3_150_1_1 (unsigned char s, unsigned char t) 16117{ 16118 unsigned D = 0x00ff; 16119 unsigned S = ((unsigned)s << 8) | s; 16120 unsigned T = ((unsigned)t << 8) | t; 16121 unsigned stk1; 16122 unsigned stk2; 16123 stk2 = T ^ S; 16124 stk1 = D ^ stk2; 16125 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 16126} 16127 16128/* TSDTSonoxx source/pattern opaque. */ 16129static void rop3_151_0_0 (unsigned char *D, unsigned char S, unsigned char T) 16130{ 16131 unsigned char stk1; 16132 unsigned char stk2; 16133 unsigned char stk3; 16134 unsigned char stk4; 16135 stk4 = T | S; 16136 stk4 = ~stk4; 16137 stk3 = *D | stk4; 16138 stk2 = S ^ stk3; 16139 stk1 = T ^ stk2; 16140 *D = stk1; 16141} 16142 16143/* TSDTSonoxx source opaque/pattern transparent. */ 16144static void rop3_151_0_1 (unsigned char *D, unsigned char S, unsigned char T) 16145{ 16146 unsigned char stk1; 16147 unsigned char stk2; 16148 unsigned char stk3; 16149 unsigned char stk4; 16150 stk4 = T | S; 16151 stk4 = ~stk4; 16152 stk3 = *D | stk4; 16153 stk2 = S ^ stk3; 16154 stk1 = T ^ stk2; 16155 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 16156} 16157 16158/* TSDTSonoxx source transparent/pattern opaque. */ 16159static void rop3_151_1_0 (unsigned char *D, unsigned char S, unsigned char T) 16160{ 16161 unsigned char stk1; 16162 unsigned char stk2; 16163 unsigned char stk3; 16164 unsigned char stk4; 16165 stk4 = T | S; 16166 stk4 = ~stk4; 16167 stk3 = *D | stk4; 16168 stk2 = S ^ stk3; 16169 stk1 = T ^ stk2; 16170 *D = (stk1 & (~S)) | (*D & S); 16171} 16172 16173/* TSDTSonoxx source/pattern transparent. */ 16174static void rop3_151_1_1 (unsigned char *D, unsigned char S, unsigned char T) 16175{ 16176 unsigned char stk1; 16177 unsigned char stk2; 16178 unsigned char stk3; 16179 unsigned char stk4; 16180 stk4 = T | S; 16181 stk4 = ~stk4; 16182 stk3 = *D | stk4; 16183 stk2 = S ^ stk3; 16184 stk1 = T ^ stk2; 16185 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 16186} 16187 16188/* TSDTSonoxx source/pattern opaque. */ 16189static unsigned xrop3_151_0_0 (unsigned char s, unsigned char t) 16190{ 16191 unsigned D = 0x00ff; 16192 unsigned S = ((unsigned)s << 8) | s; 16193 unsigned T = ((unsigned)t << 8) | t; 16194 unsigned stk1; 16195 unsigned stk2; 16196 unsigned stk3; 16197 unsigned stk4; 16198 stk4 = T | S; 16199 stk4 = ~stk4; 16200 stk3 = D | stk4; 16201 stk2 = S ^ stk3; 16202 stk1 = T ^ stk2; 16203 return stk1; 16204} 16205 16206/* TSDTSonoxx source opaque/pattern transparent. */ 16207static unsigned xrop3_151_0_1 (unsigned char s, unsigned char t) 16208{ 16209 unsigned D = 0x00ff; 16210 unsigned S = ((unsigned)s << 8) | s; 16211 unsigned T = ((unsigned)t << 8) | t; 16212 unsigned stk1; 16213 unsigned stk2; 16214 unsigned stk3; 16215 unsigned stk4; 16216 stk4 = T | S; 16217 stk4 = ~stk4; 16218 stk3 = D | stk4; 16219 stk2 = S ^ stk3; 16220 stk1 = T ^ stk2; 16221 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 16222} 16223 16224/* TSDTSonoxx source transparent/pattern opaque. */ 16225static unsigned xrop3_151_1_0 (unsigned char s, unsigned char t) 16226{ 16227 unsigned D = 0x00ff; 16228 unsigned S = ((unsigned)s << 8) | s; 16229 unsigned T = ((unsigned)t << 8) | t; 16230 unsigned stk1; 16231 unsigned stk2; 16232 unsigned stk3; 16233 unsigned stk4; 16234 stk4 = T | S; 16235 stk4 = ~stk4; 16236 stk3 = D | stk4; 16237 stk2 = S ^ stk3; 16238 stk1 = T ^ stk2; 16239 return (stk1 & (~S)) | (D & S); 16240} 16241 16242/* TSDTSonoxx source/pattern transparent. */ 16243static unsigned xrop3_151_1_1 (unsigned char s, unsigned char t) 16244{ 16245 unsigned D = 0x00ff; 16246 unsigned S = ((unsigned)s << 8) | s; 16247 unsigned T = ((unsigned)t << 8) | t; 16248 unsigned stk1; 16249 unsigned stk2; 16250 unsigned stk3; 16251 unsigned stk4; 16252 stk4 = T | S; 16253 stk4 = ~stk4; 16254 stk3 = D | stk4; 16255 stk2 = S ^ stk3; 16256 stk1 = T ^ stk2; 16257 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 16258} 16259 16260/* SDTSonoxn source/pattern opaque. */ 16261static void rop3_152_0_0 (unsigned char *D, unsigned char S, unsigned char T) 16262{ 16263 unsigned char stk1; 16264 unsigned char stk2; 16265 unsigned char stk3; 16266 stk3 = T | S; 16267 stk3 = ~stk3; 16268 stk2 = *D | stk3; 16269 stk1 = S ^ stk2; 16270 stk1 = ~stk1; 16271 *D = stk1; 16272} 16273 16274/* SDTSonoxn source opaque/pattern transparent. */ 16275static void rop3_152_0_1 (unsigned char *D, unsigned char S, unsigned char T) 16276{ 16277 unsigned char stk1; 16278 unsigned char stk2; 16279 unsigned char stk3; 16280 stk3 = T | S; 16281 stk3 = ~stk3; 16282 stk2 = *D | stk3; 16283 stk1 = S ^ stk2; 16284 stk1 = ~stk1; 16285 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 16286} 16287 16288/* SDTSonoxn source transparent/pattern opaque. */ 16289static void rop3_152_1_0 (unsigned char *D, unsigned char S, unsigned char T) 16290{ 16291 unsigned char stk1; 16292 unsigned char stk2; 16293 unsigned char stk3; 16294 stk3 = T | S; 16295 stk3 = ~stk3; 16296 stk2 = *D | stk3; 16297 stk1 = S ^ stk2; 16298 stk1 = ~stk1; 16299 *D = (stk1 & (~S)) | (*D & S); 16300} 16301 16302/* SDTSonoxn source/pattern transparent. */ 16303static void rop3_152_1_1 (unsigned char *D, unsigned char S, unsigned char T) 16304{ 16305 unsigned char stk1; 16306 unsigned char stk2; 16307 unsigned char stk3; 16308 stk3 = T | S; 16309 stk3 = ~stk3; 16310 stk2 = *D | stk3; 16311 stk1 = S ^ stk2; 16312 stk1 = ~stk1; 16313 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 16314} 16315 16316/* SDTSonoxn source/pattern opaque. */ 16317static unsigned xrop3_152_0_0 (unsigned char s, unsigned char t) 16318{ 16319 unsigned D = 0x00ff; 16320 unsigned S = ((unsigned)s << 8) | s; 16321 unsigned T = ((unsigned)t << 8) | t; 16322 unsigned stk1; 16323 unsigned stk2; 16324 unsigned stk3; 16325 stk3 = T | S; 16326 stk3 = ~stk3; 16327 stk2 = D | stk3; 16328 stk1 = S ^ stk2; 16329 stk1 = ~stk1; 16330 return stk1; 16331} 16332 16333/* SDTSonoxn source opaque/pattern transparent. */ 16334static unsigned xrop3_152_0_1 (unsigned char s, unsigned char t) 16335{ 16336 unsigned D = 0x00ff; 16337 unsigned S = ((unsigned)s << 8) | s; 16338 unsigned T = ((unsigned)t << 8) | t; 16339 unsigned stk1; 16340 unsigned stk2; 16341 unsigned stk3; 16342 stk3 = T | S; 16343 stk3 = ~stk3; 16344 stk2 = D | stk3; 16345 stk1 = S ^ stk2; 16346 stk1 = ~stk1; 16347 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 16348} 16349 16350/* SDTSonoxn source transparent/pattern opaque. */ 16351static unsigned xrop3_152_1_0 (unsigned char s, unsigned char t) 16352{ 16353 unsigned D = 0x00ff; 16354 unsigned S = ((unsigned)s << 8) | s; 16355 unsigned T = ((unsigned)t << 8) | t; 16356 unsigned stk1; 16357 unsigned stk2; 16358 unsigned stk3; 16359 stk3 = T | S; 16360 stk3 = ~stk3; 16361 stk2 = D | stk3; 16362 stk1 = S ^ stk2; 16363 stk1 = ~stk1; 16364 return (stk1 & (~S)) | (D & S); 16365} 16366 16367/* SDTSonoxn source/pattern transparent. */ 16368static unsigned xrop3_152_1_1 (unsigned char s, unsigned char t) 16369{ 16370 unsigned D = 0x00ff; 16371 unsigned S = ((unsigned)s << 8) | s; 16372 unsigned T = ((unsigned)t << 8) | t; 16373 unsigned stk1; 16374 unsigned stk2; 16375 unsigned stk3; 16376 stk3 = T | S; 16377 stk3 = ~stk3; 16378 stk2 = D | stk3; 16379 stk1 = S ^ stk2; 16380 stk1 = ~stk1; 16381 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 16382} 16383 16384/* DSxn source/pattern opaque. */ 16385static void rop3_153_0_0 (unsigned char *D, unsigned char S, unsigned char T) 16386{ 16387 unsigned char stk1; 16388 stk1 = *D ^ S; 16389 stk1 = ~stk1; 16390 *D = stk1; 16391} 16392 16393/* DSxn source opaque/pattern transparent. */ 16394static void rop3_153_0_1 (unsigned char *D, unsigned char S, unsigned char T) 16395{ 16396 unsigned char stk1; 16397 stk1 = *D ^ S; 16398 stk1 = ~stk1; 16399 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 16400} 16401 16402/* DSxn source transparent/pattern opaque. */ 16403static void rop3_153_1_0 (unsigned char *D, unsigned char S, unsigned char T) 16404{ 16405 unsigned char stk1; 16406 stk1 = *D ^ S; 16407 stk1 = ~stk1; 16408 *D = (stk1 & (~S)) | (*D & S); 16409} 16410 16411/* DSxn source/pattern transparent. */ 16412static void rop3_153_1_1 (unsigned char *D, unsigned char S, unsigned char T) 16413{ 16414 unsigned char stk1; 16415 stk1 = *D ^ S; 16416 stk1 = ~stk1; 16417 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 16418} 16419 16420/* DSxn source/pattern opaque. */ 16421static unsigned xrop3_153_0_0 (unsigned char s, unsigned char t) 16422{ 16423 unsigned D = 0x00ff; 16424 unsigned S = ((unsigned)s << 8) | s; 16425 unsigned stk1; 16426 stk1 = D ^ S; 16427 stk1 = ~stk1; 16428 return stk1; 16429} 16430 16431/* DSxn source opaque/pattern transparent. */ 16432static unsigned xrop3_153_0_1 (unsigned char s, unsigned char t) 16433{ 16434 unsigned D = 0x00ff; 16435 unsigned S = ((unsigned)s << 8) | s; 16436 unsigned T = ((unsigned)t << 8) | t; 16437 unsigned stk1; 16438 stk1 = D ^ S; 16439 stk1 = ~stk1; 16440 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 16441} 16442 16443/* DSxn source transparent/pattern opaque. */ 16444static unsigned xrop3_153_1_0 (unsigned char s, unsigned char t) 16445{ 16446 unsigned D = 0x00ff; 16447 unsigned S = ((unsigned)s << 8) | s; 16448 unsigned stk1; 16449 stk1 = D ^ S; 16450 stk1 = ~stk1; 16451 return (stk1 & (~S)) | (D & S); 16452} 16453 16454/* DSxn source/pattern transparent. */ 16455static unsigned xrop3_153_1_1 (unsigned char s, unsigned char t) 16456{ 16457 unsigned D = 0x00ff; 16458 unsigned S = ((unsigned)s << 8) | s; 16459 unsigned T = ((unsigned)t << 8) | t; 16460 unsigned stk1; 16461 stk1 = D ^ S; 16462 stk1 = ~stk1; 16463 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 16464} 16465 16466/* DTSnax source/pattern opaque. */ 16467static void rop3_154_0_0 (unsigned char *D, unsigned char S, unsigned char T) 16468{ 16469 unsigned char stk1; 16470 unsigned char stk2; 16471 unsigned char stk3; 16472 stk3 = ~S; 16473 stk2 = T & stk3; 16474 stk1 = *D ^ stk2; 16475 *D = stk1; 16476} 16477 16478/* DTSnax source opaque/pattern transparent. */ 16479static void rop3_154_0_1 (unsigned char *D, unsigned char S, unsigned char T) 16480{ 16481 unsigned char stk1; 16482 unsigned char stk2; 16483 unsigned char stk3; 16484 stk3 = ~S; 16485 stk2 = T & stk3; 16486 stk1 = *D ^ stk2; 16487 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 16488} 16489 16490/* DTSnax source transparent/pattern opaque. */ 16491static void rop3_154_1_0 (unsigned char *D, unsigned char S, unsigned char T) 16492{ 16493 unsigned char stk1; 16494 unsigned char stk2; 16495 unsigned char stk3; 16496 stk3 = ~S; 16497 stk2 = T & stk3; 16498 stk1 = *D ^ stk2; 16499 *D = (stk1 & (~S)) | (*D & S); 16500} 16501 16502/* DTSnax source/pattern transparent. */ 16503static void rop3_154_1_1 (unsigned char *D, unsigned char S, unsigned char T) 16504{ 16505 unsigned char stk1; 16506 unsigned char stk2; 16507 unsigned char stk3; 16508 stk3 = ~S; 16509 stk2 = T & stk3; 16510 stk1 = *D ^ stk2; 16511 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 16512} 16513 16514/* DTSnax source/pattern opaque. */ 16515static unsigned xrop3_154_0_0 (unsigned char s, unsigned char t) 16516{ 16517 unsigned D = 0x00ff; 16518 unsigned S = ((unsigned)s << 8) | s; 16519 unsigned T = ((unsigned)t << 8) | t; 16520 unsigned stk1; 16521 unsigned stk2; 16522 unsigned stk3; 16523 stk3 = ~S; 16524 stk2 = T & stk3; 16525 stk1 = D ^ stk2; 16526 return stk1; 16527} 16528 16529/* DTSnax source opaque/pattern transparent. */ 16530static unsigned xrop3_154_0_1 (unsigned char s, unsigned char t) 16531{ 16532 unsigned D = 0x00ff; 16533 unsigned S = ((unsigned)s << 8) | s; 16534 unsigned T = ((unsigned)t << 8) | t; 16535 unsigned stk1; 16536 unsigned stk2; 16537 unsigned stk3; 16538 stk3 = ~S; 16539 stk2 = T & stk3; 16540 stk1 = D ^ stk2; 16541 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 16542} 16543 16544/* DTSnax source transparent/pattern opaque. */ 16545static unsigned xrop3_154_1_0 (unsigned char s, unsigned char t) 16546{ 16547 unsigned D = 0x00ff; 16548 unsigned S = ((unsigned)s << 8) | s; 16549 unsigned T = ((unsigned)t << 8) | t; 16550 unsigned stk1; 16551 unsigned stk2; 16552 unsigned stk3; 16553 stk3 = ~S; 16554 stk2 = T & stk3; 16555 stk1 = D ^ stk2; 16556 return (stk1 & (~S)) | (D & S); 16557} 16558 16559/* DTSnax source/pattern transparent. */ 16560static unsigned xrop3_154_1_1 (unsigned char s, unsigned char t) 16561{ 16562 unsigned D = 0x00ff; 16563 unsigned S = ((unsigned)s << 8) | s; 16564 unsigned T = ((unsigned)t << 8) | t; 16565 unsigned stk1; 16566 unsigned stk2; 16567 unsigned stk3; 16568 stk3 = ~S; 16569 stk2 = T & stk3; 16570 stk1 = D ^ stk2; 16571 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 16572} 16573 16574/* SDTSoaxn source/pattern opaque. */ 16575static void rop3_155_0_0 (unsigned char *D, unsigned char S, unsigned char T) 16576{ 16577 unsigned char stk1; 16578 unsigned char stk2; 16579 unsigned char stk3; 16580 stk3 = T | S; 16581 stk2 = *D & stk3; 16582 stk1 = S ^ stk2; 16583 stk1 = ~stk1; 16584 *D = stk1; 16585} 16586 16587/* SDTSoaxn source opaque/pattern transparent. */ 16588static void rop3_155_0_1 (unsigned char *D, unsigned char S, unsigned char T) 16589{ 16590 unsigned char stk1; 16591 unsigned char stk2; 16592 unsigned char stk3; 16593 stk3 = T | S; 16594 stk2 = *D & stk3; 16595 stk1 = S ^ stk2; 16596 stk1 = ~stk1; 16597 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 16598} 16599 16600/* SDTSoaxn source transparent/pattern opaque. */ 16601static void rop3_155_1_0 (unsigned char *D, unsigned char S, unsigned char T) 16602{ 16603 unsigned char stk1; 16604 unsigned char stk2; 16605 unsigned char stk3; 16606 stk3 = T | S; 16607 stk2 = *D & stk3; 16608 stk1 = S ^ stk2; 16609 stk1 = ~stk1; 16610 *D = (stk1 & (~S)) | (*D & S); 16611} 16612 16613/* SDTSoaxn source/pattern transparent. */ 16614static void rop3_155_1_1 (unsigned char *D, unsigned char S, unsigned char T) 16615{ 16616 unsigned char stk1; 16617 unsigned char stk2; 16618 unsigned char stk3; 16619 stk3 = T | S; 16620 stk2 = *D & stk3; 16621 stk1 = S ^ stk2; 16622 stk1 = ~stk1; 16623 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 16624} 16625 16626/* SDTSoaxn source/pattern opaque. */ 16627static unsigned xrop3_155_0_0 (unsigned char s, unsigned char t) 16628{ 16629 unsigned D = 0x00ff; 16630 unsigned S = ((unsigned)s << 8) | s; 16631 unsigned T = ((unsigned)t << 8) | t; 16632 unsigned stk1; 16633 unsigned stk2; 16634 unsigned stk3; 16635 stk3 = T | S; 16636 stk2 = D & stk3; 16637 stk1 = S ^ stk2; 16638 stk1 = ~stk1; 16639 return stk1; 16640} 16641 16642/* SDTSoaxn source opaque/pattern transparent. */ 16643static unsigned xrop3_155_0_1 (unsigned char s, unsigned char t) 16644{ 16645 unsigned D = 0x00ff; 16646 unsigned S = ((unsigned)s << 8) | s; 16647 unsigned T = ((unsigned)t << 8) | t; 16648 unsigned stk1; 16649 unsigned stk2; 16650 unsigned stk3; 16651 stk3 = T | S; 16652 stk2 = D & stk3; 16653 stk1 = S ^ stk2; 16654 stk1 = ~stk1; 16655 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 16656} 16657 16658/* SDTSoaxn source transparent/pattern opaque. */ 16659static unsigned xrop3_155_1_0 (unsigned char s, unsigned char t) 16660{ 16661 unsigned D = 0x00ff; 16662 unsigned S = ((unsigned)s << 8) | s; 16663 unsigned T = ((unsigned)t << 8) | t; 16664 unsigned stk1; 16665 unsigned stk2; 16666 unsigned stk3; 16667 stk3 = T | S; 16668 stk2 = D & stk3; 16669 stk1 = S ^ stk2; 16670 stk1 = ~stk1; 16671 return (stk1 & (~S)) | (D & S); 16672} 16673 16674/* SDTSoaxn source/pattern transparent. */ 16675static unsigned xrop3_155_1_1 (unsigned char s, unsigned char t) 16676{ 16677 unsigned D = 0x00ff; 16678 unsigned S = ((unsigned)s << 8) | s; 16679 unsigned T = ((unsigned)t << 8) | t; 16680 unsigned stk1; 16681 unsigned stk2; 16682 unsigned stk3; 16683 stk3 = T | S; 16684 stk2 = D & stk3; 16685 stk1 = S ^ stk2; 16686 stk1 = ~stk1; 16687 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 16688} 16689 16690/* STDnax source/pattern opaque. */ 16691static void rop3_156_0_0 (unsigned char *D, unsigned char S, unsigned char T) 16692{ 16693 unsigned char stk1; 16694 unsigned char stk2; 16695 unsigned char stk3; 16696 stk3 = ~*D; 16697 stk2 = T & stk3; 16698 stk1 = S ^ stk2; 16699 *D = stk1; 16700} 16701 16702/* STDnax source opaque/pattern transparent. */ 16703static void rop3_156_0_1 (unsigned char *D, unsigned char S, unsigned char T) 16704{ 16705 unsigned char stk1; 16706 unsigned char stk2; 16707 unsigned char stk3; 16708 stk3 = ~*D; 16709 stk2 = T & stk3; 16710 stk1 = S ^ stk2; 16711 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 16712} 16713 16714/* STDnax source transparent/pattern opaque. */ 16715static void rop3_156_1_0 (unsigned char *D, unsigned char S, unsigned char T) 16716{ 16717 unsigned char stk1; 16718 unsigned char stk2; 16719 unsigned char stk3; 16720 stk3 = ~*D; 16721 stk2 = T & stk3; 16722 stk1 = S ^ stk2; 16723 *D = (stk1 & (~S)) | (*D & S); 16724} 16725 16726/* STDnax source/pattern transparent. */ 16727static void rop3_156_1_1 (unsigned char *D, unsigned char S, unsigned char T) 16728{ 16729 unsigned char stk1; 16730 unsigned char stk2; 16731 unsigned char stk3; 16732 stk3 = ~*D; 16733 stk2 = T & stk3; 16734 stk1 = S ^ stk2; 16735 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 16736} 16737 16738/* STDnax source/pattern opaque. */ 16739static unsigned xrop3_156_0_0 (unsigned char s, unsigned char t) 16740{ 16741 unsigned D = 0x00ff; 16742 unsigned S = ((unsigned)s << 8) | s; 16743 unsigned T = ((unsigned)t << 8) | t; 16744 unsigned stk1; 16745 unsigned stk2; 16746 unsigned stk3; 16747 stk3 = ~D; 16748 stk2 = T & stk3; 16749 stk1 = S ^ stk2; 16750 return stk1; 16751} 16752 16753/* STDnax source opaque/pattern transparent. */ 16754static unsigned xrop3_156_0_1 (unsigned char s, unsigned char t) 16755{ 16756 unsigned D = 0x00ff; 16757 unsigned S = ((unsigned)s << 8) | s; 16758 unsigned T = ((unsigned)t << 8) | t; 16759 unsigned stk1; 16760 unsigned stk2; 16761 unsigned stk3; 16762 stk3 = ~D; 16763 stk2 = T & stk3; 16764 stk1 = S ^ stk2; 16765 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 16766} 16767 16768/* STDnax source transparent/pattern opaque. */ 16769static unsigned xrop3_156_1_0 (unsigned char s, unsigned char t) 16770{ 16771 unsigned D = 0x00ff; 16772 unsigned S = ((unsigned)s << 8) | s; 16773 unsigned T = ((unsigned)t << 8) | t; 16774 unsigned stk1; 16775 unsigned stk2; 16776 unsigned stk3; 16777 stk3 = ~D; 16778 stk2 = T & stk3; 16779 stk1 = S ^ stk2; 16780 return (stk1 & (~S)) | (D & S); 16781} 16782 16783/* STDnax source/pattern transparent. */ 16784static unsigned xrop3_156_1_1 (unsigned char s, unsigned char t) 16785{ 16786 unsigned D = 0x00ff; 16787 unsigned S = ((unsigned)s << 8) | s; 16788 unsigned T = ((unsigned)t << 8) | t; 16789 unsigned stk1; 16790 unsigned stk2; 16791 unsigned stk3; 16792 stk3 = ~D; 16793 stk2 = T & stk3; 16794 stk1 = S ^ stk2; 16795 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 16796} 16797 16798/* DSTDoaxn source/pattern opaque. */ 16799static void rop3_157_0_0 (unsigned char *D, unsigned char S, unsigned char T) 16800{ 16801 unsigned char stk1; 16802 unsigned char stk2; 16803 unsigned char stk3; 16804 stk3 = T | *D; 16805 stk2 = S & stk3; 16806 stk1 = *D ^ stk2; 16807 stk1 = ~stk1; 16808 *D = stk1; 16809} 16810 16811/* DSTDoaxn source opaque/pattern transparent. */ 16812static void rop3_157_0_1 (unsigned char *D, unsigned char S, unsigned char T) 16813{ 16814 unsigned char stk1; 16815 unsigned char stk2; 16816 unsigned char stk3; 16817 stk3 = T | *D; 16818 stk2 = S & stk3; 16819 stk1 = *D ^ stk2; 16820 stk1 = ~stk1; 16821 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 16822} 16823 16824/* DSTDoaxn source transparent/pattern opaque. */ 16825static void rop3_157_1_0 (unsigned char *D, unsigned char S, unsigned char T) 16826{ 16827 unsigned char stk1; 16828 unsigned char stk2; 16829 unsigned char stk3; 16830 stk3 = T | *D; 16831 stk2 = S & stk3; 16832 stk1 = *D ^ stk2; 16833 stk1 = ~stk1; 16834 *D = (stk1 & (~S)) | (*D & S); 16835} 16836 16837/* DSTDoaxn source/pattern transparent. */ 16838static void rop3_157_1_1 (unsigned char *D, unsigned char S, unsigned char T) 16839{ 16840 unsigned char stk1; 16841 unsigned char stk2; 16842 unsigned char stk3; 16843 stk3 = T | *D; 16844 stk2 = S & stk3; 16845 stk1 = *D ^ stk2; 16846 stk1 = ~stk1; 16847 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 16848} 16849 16850/* DSTDoaxn source/pattern opaque. */ 16851static unsigned xrop3_157_0_0 (unsigned char s, unsigned char t) 16852{ 16853 unsigned D = 0x00ff; 16854 unsigned S = ((unsigned)s << 8) | s; 16855 unsigned T = ((unsigned)t << 8) | t; 16856 unsigned stk1; 16857 unsigned stk2; 16858 unsigned stk3; 16859 stk3 = T | D; 16860 stk2 = S & stk3; 16861 stk1 = D ^ stk2; 16862 stk1 = ~stk1; 16863 return stk1; 16864} 16865 16866/* DSTDoaxn source opaque/pattern transparent. */ 16867static unsigned xrop3_157_0_1 (unsigned char s, unsigned char t) 16868{ 16869 unsigned D = 0x00ff; 16870 unsigned S = ((unsigned)s << 8) | s; 16871 unsigned T = ((unsigned)t << 8) | t; 16872 unsigned stk1; 16873 unsigned stk2; 16874 unsigned stk3; 16875 stk3 = T | D; 16876 stk2 = S & stk3; 16877 stk1 = D ^ stk2; 16878 stk1 = ~stk1; 16879 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 16880} 16881 16882/* DSTDoaxn source transparent/pattern opaque. */ 16883static unsigned xrop3_157_1_0 (unsigned char s, unsigned char t) 16884{ 16885 unsigned D = 0x00ff; 16886 unsigned S = ((unsigned)s << 8) | s; 16887 unsigned T = ((unsigned)t << 8) | t; 16888 unsigned stk1; 16889 unsigned stk2; 16890 unsigned stk3; 16891 stk3 = T | D; 16892 stk2 = S & stk3; 16893 stk1 = D ^ stk2; 16894 stk1 = ~stk1; 16895 return (stk1 & (~S)) | (D & S); 16896} 16897 16898/* DSTDoaxn source/pattern transparent. */ 16899static unsigned xrop3_157_1_1 (unsigned char s, unsigned char t) 16900{ 16901 unsigned D = 0x00ff; 16902 unsigned S = ((unsigned)s << 8) | s; 16903 unsigned T = ((unsigned)t << 8) | t; 16904 unsigned stk1; 16905 unsigned stk2; 16906 unsigned stk3; 16907 stk3 = T | D; 16908 stk2 = S & stk3; 16909 stk1 = D ^ stk2; 16910 stk1 = ~stk1; 16911 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 16912} 16913 16914/* DSTDSaoxx source/pattern opaque. */ 16915static void rop3_158_0_0 (unsigned char *D, unsigned char S, unsigned char T) 16916{ 16917 unsigned char stk1; 16918 unsigned char stk2; 16919 unsigned char stk3; 16920 unsigned char stk4; 16921 stk4 = *D & S; 16922 stk3 = T | stk4; 16923 stk2 = S ^ stk3; 16924 stk1 = *D ^ stk2; 16925 *D = stk1; 16926} 16927 16928/* DSTDSaoxx source opaque/pattern transparent. */ 16929static void rop3_158_0_1 (unsigned char *D, unsigned char S, unsigned char T) 16930{ 16931 unsigned char stk1; 16932 unsigned char stk2; 16933 unsigned char stk3; 16934 unsigned char stk4; 16935 stk4 = *D & S; 16936 stk3 = T | stk4; 16937 stk2 = S ^ stk3; 16938 stk1 = *D ^ stk2; 16939 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 16940} 16941 16942/* DSTDSaoxx source transparent/pattern opaque. */ 16943static void rop3_158_1_0 (unsigned char *D, unsigned char S, unsigned char T) 16944{ 16945 unsigned char stk1; 16946 unsigned char stk2; 16947 unsigned char stk3; 16948 unsigned char stk4; 16949 stk4 = *D & S; 16950 stk3 = T | stk4; 16951 stk2 = S ^ stk3; 16952 stk1 = *D ^ stk2; 16953 *D = (stk1 & (~S)) | (*D & S); 16954} 16955 16956/* DSTDSaoxx source/pattern transparent. */ 16957static void rop3_158_1_1 (unsigned char *D, unsigned char S, unsigned char T) 16958{ 16959 unsigned char stk1; 16960 unsigned char stk2; 16961 unsigned char stk3; 16962 unsigned char stk4; 16963 stk4 = *D & S; 16964 stk3 = T | stk4; 16965 stk2 = S ^ stk3; 16966 stk1 = *D ^ stk2; 16967 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 16968} 16969 16970/* DSTDSaoxx source/pattern opaque. */ 16971static unsigned xrop3_158_0_0 (unsigned char s, unsigned char t) 16972{ 16973 unsigned D = 0x00ff; 16974 unsigned S = ((unsigned)s << 8) | s; 16975 unsigned T = ((unsigned)t << 8) | t; 16976 unsigned stk1; 16977 unsigned stk2; 16978 unsigned stk3; 16979 unsigned stk4; 16980 stk4 = D & S; 16981 stk3 = T | stk4; 16982 stk2 = S ^ stk3; 16983 stk1 = D ^ stk2; 16984 return stk1; 16985} 16986 16987/* DSTDSaoxx source opaque/pattern transparent. */ 16988static unsigned xrop3_158_0_1 (unsigned char s, unsigned char t) 16989{ 16990 unsigned D = 0x00ff; 16991 unsigned S = ((unsigned)s << 8) | s; 16992 unsigned T = ((unsigned)t << 8) | t; 16993 unsigned stk1; 16994 unsigned stk2; 16995 unsigned stk3; 16996 unsigned stk4; 16997 stk4 = D & S; 16998 stk3 = T | stk4; 16999 stk2 = S ^ stk3; 17000 stk1 = D ^ stk2; 17001 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 17002} 17003 17004/* DSTDSaoxx source transparent/pattern opaque. */ 17005static unsigned xrop3_158_1_0 (unsigned char s, unsigned char t) 17006{ 17007 unsigned D = 0x00ff; 17008 unsigned S = ((unsigned)s << 8) | s; 17009 unsigned T = ((unsigned)t << 8) | t; 17010 unsigned stk1; 17011 unsigned stk2; 17012 unsigned stk3; 17013 unsigned stk4; 17014 stk4 = D & S; 17015 stk3 = T | stk4; 17016 stk2 = S ^ stk3; 17017 stk1 = D ^ stk2; 17018 return (stk1 & (~S)) | (D & S); 17019} 17020 17021/* DSTDSaoxx source/pattern transparent. */ 17022static unsigned xrop3_158_1_1 (unsigned char s, unsigned char t) 17023{ 17024 unsigned D = 0x00ff; 17025 unsigned S = ((unsigned)s << 8) | s; 17026 unsigned T = ((unsigned)t << 8) | t; 17027 unsigned stk1; 17028 unsigned stk2; 17029 unsigned stk3; 17030 unsigned stk4; 17031 stk4 = D & S; 17032 stk3 = T | stk4; 17033 stk2 = S ^ stk3; 17034 stk1 = D ^ stk2; 17035 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 17036} 17037 17038/* TDSxan source/pattern opaque. */ 17039static void rop3_159_0_0 (unsigned char *D, unsigned char S, unsigned char T) 17040{ 17041 unsigned char stk1; 17042 unsigned char stk2; 17043 stk2 = *D ^ S; 17044 stk1 = T & stk2; 17045 stk1 = ~stk1; 17046 *D = stk1; 17047} 17048 17049/* TDSxan source opaque/pattern transparent. */ 17050static void rop3_159_0_1 (unsigned char *D, unsigned char S, unsigned char T) 17051{ 17052 unsigned char stk1; 17053 unsigned char stk2; 17054 stk2 = *D ^ S; 17055 stk1 = T & stk2; 17056 stk1 = ~stk1; 17057 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 17058} 17059 17060/* TDSxan source transparent/pattern opaque. */ 17061static void rop3_159_1_0 (unsigned char *D, unsigned char S, unsigned char T) 17062{ 17063 unsigned char stk1; 17064 unsigned char stk2; 17065 stk2 = *D ^ S; 17066 stk1 = T & stk2; 17067 stk1 = ~stk1; 17068 *D = (stk1 & (~S)) | (*D & S); 17069} 17070 17071/* TDSxan source/pattern transparent. */ 17072static void rop3_159_1_1 (unsigned char *D, unsigned char S, unsigned char T) 17073{ 17074 unsigned char stk1; 17075 unsigned char stk2; 17076 stk2 = *D ^ S; 17077 stk1 = T & stk2; 17078 stk1 = ~stk1; 17079 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 17080} 17081 17082/* TDSxan source/pattern opaque. */ 17083static unsigned xrop3_159_0_0 (unsigned char s, unsigned char t) 17084{ 17085 unsigned D = 0x00ff; 17086 unsigned S = ((unsigned)s << 8) | s; 17087 unsigned T = ((unsigned)t << 8) | t; 17088 unsigned stk1; 17089 unsigned stk2; 17090 stk2 = D ^ S; 17091 stk1 = T & stk2; 17092 stk1 = ~stk1; 17093 return stk1; 17094} 17095 17096/* TDSxan source opaque/pattern transparent. */ 17097static unsigned xrop3_159_0_1 (unsigned char s, unsigned char t) 17098{ 17099 unsigned D = 0x00ff; 17100 unsigned S = ((unsigned)s << 8) | s; 17101 unsigned T = ((unsigned)t << 8) | t; 17102 unsigned stk1; 17103 unsigned stk2; 17104 stk2 = D ^ S; 17105 stk1 = T & stk2; 17106 stk1 = ~stk1; 17107 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 17108} 17109 17110/* TDSxan source transparent/pattern opaque. */ 17111static unsigned xrop3_159_1_0 (unsigned char s, unsigned char t) 17112{ 17113 unsigned D = 0x00ff; 17114 unsigned S = ((unsigned)s << 8) | s; 17115 unsigned T = ((unsigned)t << 8) | t; 17116 unsigned stk1; 17117 unsigned stk2; 17118 stk2 = D ^ S; 17119 stk1 = T & stk2; 17120 stk1 = ~stk1; 17121 return (stk1 & (~S)) | (D & S); 17122} 17123 17124/* TDSxan source/pattern transparent. */ 17125static unsigned xrop3_159_1_1 (unsigned char s, unsigned char t) 17126{ 17127 unsigned D = 0x00ff; 17128 unsigned S = ((unsigned)s << 8) | s; 17129 unsigned T = ((unsigned)t << 8) | t; 17130 unsigned stk1; 17131 unsigned stk2; 17132 stk2 = D ^ S; 17133 stk1 = T & stk2; 17134 stk1 = ~stk1; 17135 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 17136} 17137 17138/* DTa source/pattern opaque. */ 17139static void rop3_160_0_0 (unsigned char *D, unsigned char S, unsigned char T) 17140{ 17141 unsigned char stk1; 17142 stk1 = *D & T; 17143 *D = stk1; 17144} 17145 17146/* DTa source opaque/pattern transparent. */ 17147static void rop3_160_0_1 (unsigned char *D, unsigned char S, unsigned char T) 17148{ 17149 unsigned char stk1; 17150 stk1 = *D & T; 17151 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 17152} 17153 17154/* DTa source transparent/pattern opaque. */ 17155static void rop3_160_1_0 (unsigned char *D, unsigned char S, unsigned char T) 17156{ 17157 unsigned char stk1; 17158 stk1 = *D & T; 17159 *D = (stk1 & (~S)) | (*D & S); 17160} 17161 17162/* DTa source/pattern transparent. */ 17163static void rop3_160_1_1 (unsigned char *D, unsigned char S, unsigned char T) 17164{ 17165 unsigned char stk1; 17166 stk1 = *D & T; 17167 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 17168} 17169 17170/* DTa source/pattern opaque. */ 17171static unsigned xrop3_160_0_0 (unsigned char s, unsigned char t) 17172{ 17173 unsigned D = 0x00ff; 17174 unsigned T = ((unsigned)t << 8) | t; 17175 unsigned stk1; 17176 stk1 = D & T; 17177 return stk1; 17178} 17179 17180/* DTa source opaque/pattern transparent. */ 17181static unsigned xrop3_160_0_1 (unsigned char s, unsigned char t) 17182{ 17183 unsigned D = 0x00ff; 17184 unsigned S = ((unsigned)s << 8) | s; 17185 unsigned T = ((unsigned)t << 8) | t; 17186 unsigned stk1; 17187 stk1 = D & T; 17188 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 17189} 17190 17191/* DTa source transparent/pattern opaque. */ 17192static unsigned xrop3_160_1_0 (unsigned char s, unsigned char t) 17193{ 17194 unsigned D = 0x00ff; 17195 unsigned S = ((unsigned)s << 8) | s; 17196 unsigned T = ((unsigned)t << 8) | t; 17197 unsigned stk1; 17198 stk1 = D & T; 17199 return (stk1 & (~S)) | (D & S); 17200} 17201 17202/* DTa source/pattern transparent. */ 17203static unsigned xrop3_160_1_1 (unsigned char s, unsigned char t) 17204{ 17205 unsigned D = 0x00ff; 17206 unsigned S = ((unsigned)s << 8) | s; 17207 unsigned T = ((unsigned)t << 8) | t; 17208 unsigned stk1; 17209 stk1 = D & T; 17210 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 17211} 17212 17213/* TDSTnaoxn source/pattern opaque. */ 17214static void rop3_161_0_0 (unsigned char *D, unsigned char S, unsigned char T) 17215{ 17216 unsigned char stk1; 17217 unsigned char stk2; 17218 unsigned char stk3; 17219 unsigned char stk4; 17220 stk4 = ~T; 17221 stk3 = S & stk4; 17222 stk2 = *D | stk3; 17223 stk1 = T ^ stk2; 17224 stk1 = ~stk1; 17225 *D = stk1; 17226} 17227 17228/* TDSTnaoxn source opaque/pattern transparent. */ 17229static void rop3_161_0_1 (unsigned char *D, unsigned char S, unsigned char T) 17230{ 17231 unsigned char stk1; 17232 unsigned char stk2; 17233 unsigned char stk3; 17234 unsigned char stk4; 17235 stk4 = ~T; 17236 stk3 = S & stk4; 17237 stk2 = *D | stk3; 17238 stk1 = T ^ stk2; 17239 stk1 = ~stk1; 17240 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 17241} 17242 17243/* TDSTnaoxn source transparent/pattern opaque. */ 17244static void rop3_161_1_0 (unsigned char *D, unsigned char S, unsigned char T) 17245{ 17246 unsigned char stk1; 17247 unsigned char stk2; 17248 unsigned char stk3; 17249 unsigned char stk4; 17250 stk4 = ~T; 17251 stk3 = S & stk4; 17252 stk2 = *D | stk3; 17253 stk1 = T ^ stk2; 17254 stk1 = ~stk1; 17255 *D = (stk1 & (~S)) | (*D & S); 17256} 17257 17258/* TDSTnaoxn source/pattern transparent. */ 17259static void rop3_161_1_1 (unsigned char *D, unsigned char S, unsigned char T) 17260{ 17261 unsigned char stk1; 17262 unsigned char stk2; 17263 unsigned char stk3; 17264 unsigned char stk4; 17265 stk4 = ~T; 17266 stk3 = S & stk4; 17267 stk2 = *D | stk3; 17268 stk1 = T ^ stk2; 17269 stk1 = ~stk1; 17270 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 17271} 17272 17273/* TDSTnaoxn source/pattern opaque. */ 17274static unsigned xrop3_161_0_0 (unsigned char s, unsigned char t) 17275{ 17276 unsigned D = 0x00ff; 17277 unsigned S = ((unsigned)s << 8) | s; 17278 unsigned T = ((unsigned)t << 8) | t; 17279 unsigned stk1; 17280 unsigned stk2; 17281 unsigned stk3; 17282 unsigned stk4; 17283 stk4 = ~T; 17284 stk3 = S & stk4; 17285 stk2 = D | stk3; 17286 stk1 = T ^ stk2; 17287 stk1 = ~stk1; 17288 return stk1; 17289} 17290 17291/* TDSTnaoxn source opaque/pattern transparent. */ 17292static unsigned xrop3_161_0_1 (unsigned char s, unsigned char t) 17293{ 17294 unsigned D = 0x00ff; 17295 unsigned S = ((unsigned)s << 8) | s; 17296 unsigned T = ((unsigned)t << 8) | t; 17297 unsigned stk1; 17298 unsigned stk2; 17299 unsigned stk3; 17300 unsigned stk4; 17301 stk4 = ~T; 17302 stk3 = S & stk4; 17303 stk2 = D | stk3; 17304 stk1 = T ^ stk2; 17305 stk1 = ~stk1; 17306 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 17307} 17308 17309/* TDSTnaoxn source transparent/pattern opaque. */ 17310static unsigned xrop3_161_1_0 (unsigned char s, unsigned char t) 17311{ 17312 unsigned D = 0x00ff; 17313 unsigned S = ((unsigned)s << 8) | s; 17314 unsigned T = ((unsigned)t << 8) | t; 17315 unsigned stk1; 17316 unsigned stk2; 17317 unsigned stk3; 17318 unsigned stk4; 17319 stk4 = ~T; 17320 stk3 = S & stk4; 17321 stk2 = D | stk3; 17322 stk1 = T ^ stk2; 17323 stk1 = ~stk1; 17324 return (stk1 & (~S)) | (D & S); 17325} 17326 17327/* TDSTnaoxn source/pattern transparent. */ 17328static unsigned xrop3_161_1_1 (unsigned char s, unsigned char t) 17329{ 17330 unsigned D = 0x00ff; 17331 unsigned S = ((unsigned)s << 8) | s; 17332 unsigned T = ((unsigned)t << 8) | t; 17333 unsigned stk1; 17334 unsigned stk2; 17335 unsigned stk3; 17336 unsigned stk4; 17337 stk4 = ~T; 17338 stk3 = S & stk4; 17339 stk2 = D | stk3; 17340 stk1 = T ^ stk2; 17341 stk1 = ~stk1; 17342 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 17343} 17344 17345/* DTSnoa source/pattern opaque. */ 17346static void rop3_162_0_0 (unsigned char *D, unsigned char S, unsigned char T) 17347{ 17348 unsigned char stk1; 17349 unsigned char stk2; 17350 unsigned char stk3; 17351 stk3 = ~S; 17352 stk2 = T | stk3; 17353 stk1 = *D & stk2; 17354 *D = stk1; 17355} 17356 17357/* DTSnoa source opaque/pattern transparent. */ 17358static void rop3_162_0_1 (unsigned char *D, unsigned char S, unsigned char T) 17359{ 17360 unsigned char stk1; 17361 unsigned char stk2; 17362 unsigned char stk3; 17363 stk3 = ~S; 17364 stk2 = T | stk3; 17365 stk1 = *D & stk2; 17366 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 17367} 17368 17369/* DTSnoa source transparent/pattern opaque. */ 17370static void rop3_162_1_0 (unsigned char *D, unsigned char S, unsigned char T) 17371{ 17372 unsigned char stk1; 17373 unsigned char stk2; 17374 unsigned char stk3; 17375 stk3 = ~S; 17376 stk2 = T | stk3; 17377 stk1 = *D & stk2; 17378 *D = (stk1 & (~S)) | (*D & S); 17379} 17380 17381/* DTSnoa source/pattern transparent. */ 17382static void rop3_162_1_1 (unsigned char *D, unsigned char S, unsigned char T) 17383{ 17384 unsigned char stk1; 17385 unsigned char stk2; 17386 unsigned char stk3; 17387 stk3 = ~S; 17388 stk2 = T | stk3; 17389 stk1 = *D & stk2; 17390 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 17391} 17392 17393/* DTSnoa source/pattern opaque. */ 17394static unsigned xrop3_162_0_0 (unsigned char s, unsigned char t) 17395{ 17396 unsigned D = 0x00ff; 17397 unsigned S = ((unsigned)s << 8) | s; 17398 unsigned T = ((unsigned)t << 8) | t; 17399 unsigned stk1; 17400 unsigned stk2; 17401 unsigned stk3; 17402 stk3 = ~S; 17403 stk2 = T | stk3; 17404 stk1 = D & stk2; 17405 return stk1; 17406} 17407 17408/* DTSnoa source opaque/pattern transparent. */ 17409static unsigned xrop3_162_0_1 (unsigned char s, unsigned char t) 17410{ 17411 unsigned D = 0x00ff; 17412 unsigned S = ((unsigned)s << 8) | s; 17413 unsigned T = ((unsigned)t << 8) | t; 17414 unsigned stk1; 17415 unsigned stk2; 17416 unsigned stk3; 17417 stk3 = ~S; 17418 stk2 = T | stk3; 17419 stk1 = D & stk2; 17420 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 17421} 17422 17423/* DTSnoa source transparent/pattern opaque. */ 17424static unsigned xrop3_162_1_0 (unsigned char s, unsigned char t) 17425{ 17426 unsigned D = 0x00ff; 17427 unsigned S = ((unsigned)s << 8) | s; 17428 unsigned T = ((unsigned)t << 8) | t; 17429 unsigned stk1; 17430 unsigned stk2; 17431 unsigned stk3; 17432 stk3 = ~S; 17433 stk2 = T | stk3; 17434 stk1 = D & stk2; 17435 return (stk1 & (~S)) | (D & S); 17436} 17437 17438/* DTSnoa source/pattern transparent. */ 17439static unsigned xrop3_162_1_1 (unsigned char s, unsigned char t) 17440{ 17441 unsigned D = 0x00ff; 17442 unsigned S = ((unsigned)s << 8) | s; 17443 unsigned T = ((unsigned)t << 8) | t; 17444 unsigned stk1; 17445 unsigned stk2; 17446 unsigned stk3; 17447 stk3 = ~S; 17448 stk2 = T | stk3; 17449 stk1 = D & stk2; 17450 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 17451} 17452 17453/* DTSDxoxn source/pattern opaque. */ 17454static void rop3_163_0_0 (unsigned char *D, unsigned char S, unsigned char T) 17455{ 17456 unsigned char stk1; 17457 unsigned char stk2; 17458 unsigned char stk3; 17459 stk3 = S ^ *D; 17460 stk2 = T | stk3; 17461 stk1 = *D ^ stk2; 17462 stk1 = ~stk1; 17463 *D = stk1; 17464} 17465 17466/* DTSDxoxn source opaque/pattern transparent. */ 17467static void rop3_163_0_1 (unsigned char *D, unsigned char S, unsigned char T) 17468{ 17469 unsigned char stk1; 17470 unsigned char stk2; 17471 unsigned char stk3; 17472 stk3 = S ^ *D; 17473 stk2 = T | stk3; 17474 stk1 = *D ^ stk2; 17475 stk1 = ~stk1; 17476 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 17477} 17478 17479/* DTSDxoxn source transparent/pattern opaque. */ 17480static void rop3_163_1_0 (unsigned char *D, unsigned char S, unsigned char T) 17481{ 17482 unsigned char stk1; 17483 unsigned char stk2; 17484 unsigned char stk3; 17485 stk3 = S ^ *D; 17486 stk2 = T | stk3; 17487 stk1 = *D ^ stk2; 17488 stk1 = ~stk1; 17489 *D = (stk1 & (~S)) | (*D & S); 17490} 17491 17492/* DTSDxoxn source/pattern transparent. */ 17493static void rop3_163_1_1 (unsigned char *D, unsigned char S, unsigned char T) 17494{ 17495 unsigned char stk1; 17496 unsigned char stk2; 17497 unsigned char stk3; 17498 stk3 = S ^ *D; 17499 stk2 = T | stk3; 17500 stk1 = *D ^ stk2; 17501 stk1 = ~stk1; 17502 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 17503} 17504 17505/* DTSDxoxn source/pattern opaque. */ 17506static unsigned xrop3_163_0_0 (unsigned char s, unsigned char t) 17507{ 17508 unsigned D = 0x00ff; 17509 unsigned S = ((unsigned)s << 8) | s; 17510 unsigned T = ((unsigned)t << 8) | t; 17511 unsigned stk1; 17512 unsigned stk2; 17513 unsigned stk3; 17514 stk3 = S ^ D; 17515 stk2 = T | stk3; 17516 stk1 = D ^ stk2; 17517 stk1 = ~stk1; 17518 return stk1; 17519} 17520 17521/* DTSDxoxn source opaque/pattern transparent. */ 17522static unsigned xrop3_163_0_1 (unsigned char s, unsigned char t) 17523{ 17524 unsigned D = 0x00ff; 17525 unsigned S = ((unsigned)s << 8) | s; 17526 unsigned T = ((unsigned)t << 8) | t; 17527 unsigned stk1; 17528 unsigned stk2; 17529 unsigned stk3; 17530 stk3 = S ^ D; 17531 stk2 = T | stk3; 17532 stk1 = D ^ stk2; 17533 stk1 = ~stk1; 17534 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 17535} 17536 17537/* DTSDxoxn source transparent/pattern opaque. */ 17538static unsigned xrop3_163_1_0 (unsigned char s, unsigned char t) 17539{ 17540 unsigned D = 0x00ff; 17541 unsigned S = ((unsigned)s << 8) | s; 17542 unsigned T = ((unsigned)t << 8) | t; 17543 unsigned stk1; 17544 unsigned stk2; 17545 unsigned stk3; 17546 stk3 = S ^ D; 17547 stk2 = T | stk3; 17548 stk1 = D ^ stk2; 17549 stk1 = ~stk1; 17550 return (stk1 & (~S)) | (D & S); 17551} 17552 17553/* DTSDxoxn source/pattern transparent. */ 17554static unsigned xrop3_163_1_1 (unsigned char s, unsigned char t) 17555{ 17556 unsigned D = 0x00ff; 17557 unsigned S = ((unsigned)s << 8) | s; 17558 unsigned T = ((unsigned)t << 8) | t; 17559 unsigned stk1; 17560 unsigned stk2; 17561 unsigned stk3; 17562 stk3 = S ^ D; 17563 stk2 = T | stk3; 17564 stk1 = D ^ stk2; 17565 stk1 = ~stk1; 17566 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 17567} 17568 17569/* TDSTonoxn source/pattern opaque. */ 17570static void rop3_164_0_0 (unsigned char *D, unsigned char S, unsigned char T) 17571{ 17572 unsigned char stk1; 17573 unsigned char stk2; 17574 unsigned char stk3; 17575 stk3 = S | T; 17576 stk3 = ~stk3; 17577 stk2 = *D | stk3; 17578 stk1 = T ^ stk2; 17579 stk1 = ~stk1; 17580 *D = stk1; 17581} 17582 17583/* TDSTonoxn source opaque/pattern transparent. */ 17584static void rop3_164_0_1 (unsigned char *D, unsigned char S, unsigned char T) 17585{ 17586 unsigned char stk1; 17587 unsigned char stk2; 17588 unsigned char stk3; 17589 stk3 = S | T; 17590 stk3 = ~stk3; 17591 stk2 = *D | stk3; 17592 stk1 = T ^ stk2; 17593 stk1 = ~stk1; 17594 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 17595} 17596 17597/* TDSTonoxn source transparent/pattern opaque. */ 17598static void rop3_164_1_0 (unsigned char *D, unsigned char S, unsigned char T) 17599{ 17600 unsigned char stk1; 17601 unsigned char stk2; 17602 unsigned char stk3; 17603 stk3 = S | T; 17604 stk3 = ~stk3; 17605 stk2 = *D | stk3; 17606 stk1 = T ^ stk2; 17607 stk1 = ~stk1; 17608 *D = (stk1 & (~S)) | (*D & S); 17609} 17610 17611/* TDSTonoxn source/pattern transparent. */ 17612static void rop3_164_1_1 (unsigned char *D, unsigned char S, unsigned char T) 17613{ 17614 unsigned char stk1; 17615 unsigned char stk2; 17616 unsigned char stk3; 17617 stk3 = S | T; 17618 stk3 = ~stk3; 17619 stk2 = *D | stk3; 17620 stk1 = T ^ stk2; 17621 stk1 = ~stk1; 17622 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 17623} 17624 17625/* TDSTonoxn source/pattern opaque. */ 17626static unsigned xrop3_164_0_0 (unsigned char s, unsigned char t) 17627{ 17628 unsigned D = 0x00ff; 17629 unsigned S = ((unsigned)s << 8) | s; 17630 unsigned T = ((unsigned)t << 8) | t; 17631 unsigned stk1; 17632 unsigned stk2; 17633 unsigned stk3; 17634 stk3 = S | T; 17635 stk3 = ~stk3; 17636 stk2 = D | stk3; 17637 stk1 = T ^ stk2; 17638 stk1 = ~stk1; 17639 return stk1; 17640} 17641 17642/* TDSTonoxn source opaque/pattern transparent. */ 17643static unsigned xrop3_164_0_1 (unsigned char s, unsigned char t) 17644{ 17645 unsigned D = 0x00ff; 17646 unsigned S = ((unsigned)s << 8) | s; 17647 unsigned T = ((unsigned)t << 8) | t; 17648 unsigned stk1; 17649 unsigned stk2; 17650 unsigned stk3; 17651 stk3 = S | T; 17652 stk3 = ~stk3; 17653 stk2 = D | stk3; 17654 stk1 = T ^ stk2; 17655 stk1 = ~stk1; 17656 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 17657} 17658 17659/* TDSTonoxn source transparent/pattern opaque. */ 17660static unsigned xrop3_164_1_0 (unsigned char s, unsigned char t) 17661{ 17662 unsigned D = 0x00ff; 17663 unsigned S = ((unsigned)s << 8) | s; 17664 unsigned T = ((unsigned)t << 8) | t; 17665 unsigned stk1; 17666 unsigned stk2; 17667 unsigned stk3; 17668 stk3 = S | T; 17669 stk3 = ~stk3; 17670 stk2 = D | stk3; 17671 stk1 = T ^ stk2; 17672 stk1 = ~stk1; 17673 return (stk1 & (~S)) | (D & S); 17674} 17675 17676/* TDSTonoxn source/pattern transparent. */ 17677static unsigned xrop3_164_1_1 (unsigned char s, unsigned char t) 17678{ 17679 unsigned D = 0x00ff; 17680 unsigned S = ((unsigned)s << 8) | s; 17681 unsigned T = ((unsigned)t << 8) | t; 17682 unsigned stk1; 17683 unsigned stk2; 17684 unsigned stk3; 17685 stk3 = S | T; 17686 stk3 = ~stk3; 17687 stk2 = D | stk3; 17688 stk1 = T ^ stk2; 17689 stk1 = ~stk1; 17690 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 17691} 17692 17693/* TDxn source/pattern opaque. */ 17694static void rop3_165_0_0 (unsigned char *D, unsigned char S, unsigned char T) 17695{ 17696 unsigned char stk1; 17697 stk1 = T ^ *D; 17698 stk1 = ~stk1; 17699 *D = stk1; 17700} 17701 17702/* TDxn source opaque/pattern transparent. */ 17703static void rop3_165_0_1 (unsigned char *D, unsigned char S, unsigned char T) 17704{ 17705 unsigned char stk1; 17706 stk1 = T ^ *D; 17707 stk1 = ~stk1; 17708 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 17709} 17710 17711/* TDxn source transparent/pattern opaque. */ 17712static void rop3_165_1_0 (unsigned char *D, unsigned char S, unsigned char T) 17713{ 17714 unsigned char stk1; 17715 stk1 = T ^ *D; 17716 stk1 = ~stk1; 17717 *D = (stk1 & (~S)) | (*D & S); 17718} 17719 17720/* TDxn source/pattern transparent. */ 17721static void rop3_165_1_1 (unsigned char *D, unsigned char S, unsigned char T) 17722{ 17723 unsigned char stk1; 17724 stk1 = T ^ *D; 17725 stk1 = ~stk1; 17726 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 17727} 17728 17729/* TDxn source/pattern opaque. */ 17730static unsigned xrop3_165_0_0 (unsigned char s, unsigned char t) 17731{ 17732 unsigned D = 0x00ff; 17733 unsigned T = ((unsigned)t << 8) | t; 17734 unsigned stk1; 17735 stk1 = T ^ D; 17736 stk1 = ~stk1; 17737 return stk1; 17738} 17739 17740/* TDxn source opaque/pattern transparent. */ 17741static unsigned xrop3_165_0_1 (unsigned char s, unsigned char t) 17742{ 17743 unsigned D = 0x00ff; 17744 unsigned S = ((unsigned)s << 8) | s; 17745 unsigned T = ((unsigned)t << 8) | t; 17746 unsigned stk1; 17747 stk1 = T ^ D; 17748 stk1 = ~stk1; 17749 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 17750} 17751 17752/* TDxn source transparent/pattern opaque. */ 17753static unsigned xrop3_165_1_0 (unsigned char s, unsigned char t) 17754{ 17755 unsigned D = 0x00ff; 17756 unsigned S = ((unsigned)s << 8) | s; 17757 unsigned T = ((unsigned)t << 8) | t; 17758 unsigned stk1; 17759 stk1 = T ^ D; 17760 stk1 = ~stk1; 17761 return (stk1 & (~S)) | (D & S); 17762} 17763 17764/* TDxn source/pattern transparent. */ 17765static unsigned xrop3_165_1_1 (unsigned char s, unsigned char t) 17766{ 17767 unsigned D = 0x00ff; 17768 unsigned S = ((unsigned)s << 8) | s; 17769 unsigned T = ((unsigned)t << 8) | t; 17770 unsigned stk1; 17771 stk1 = T ^ D; 17772 stk1 = ~stk1; 17773 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 17774} 17775 17776/* DSTnax source/pattern opaque. */ 17777static void rop3_166_0_0 (unsigned char *D, unsigned char S, unsigned char T) 17778{ 17779 unsigned char stk1; 17780 unsigned char stk2; 17781 unsigned char stk3; 17782 stk3 = ~T; 17783 stk2 = S & stk3; 17784 stk1 = *D ^ stk2; 17785 *D = stk1; 17786} 17787 17788/* DSTnax source opaque/pattern transparent. */ 17789static void rop3_166_0_1 (unsigned char *D, unsigned char S, unsigned char T) 17790{ 17791 unsigned char stk1; 17792 unsigned char stk2; 17793 unsigned char stk3; 17794 stk3 = ~T; 17795 stk2 = S & stk3; 17796 stk1 = *D ^ stk2; 17797 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 17798} 17799 17800/* DSTnax source transparent/pattern opaque. */ 17801static void rop3_166_1_0 (unsigned char *D, unsigned char S, unsigned char T) 17802{ 17803 unsigned char stk1; 17804 unsigned char stk2; 17805 unsigned char stk3; 17806 stk3 = ~T; 17807 stk2 = S & stk3; 17808 stk1 = *D ^ stk2; 17809 *D = (stk1 & (~S)) | (*D & S); 17810} 17811 17812/* DSTnax source/pattern transparent. */ 17813static void rop3_166_1_1 (unsigned char *D, unsigned char S, unsigned char T) 17814{ 17815 unsigned char stk1; 17816 unsigned char stk2; 17817 unsigned char stk3; 17818 stk3 = ~T; 17819 stk2 = S & stk3; 17820 stk1 = *D ^ stk2; 17821 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 17822} 17823 17824/* DSTnax source/pattern opaque. */ 17825static unsigned xrop3_166_0_0 (unsigned char s, unsigned char t) 17826{ 17827 unsigned D = 0x00ff; 17828 unsigned S = ((unsigned)s << 8) | s; 17829 unsigned T = ((unsigned)t << 8) | t; 17830 unsigned stk1; 17831 unsigned stk2; 17832 unsigned stk3; 17833 stk3 = ~T; 17834 stk2 = S & stk3; 17835 stk1 = D ^ stk2; 17836 return stk1; 17837} 17838 17839/* DSTnax source opaque/pattern transparent. */ 17840static unsigned xrop3_166_0_1 (unsigned char s, unsigned char t) 17841{ 17842 unsigned D = 0x00ff; 17843 unsigned S = ((unsigned)s << 8) | s; 17844 unsigned T = ((unsigned)t << 8) | t; 17845 unsigned stk1; 17846 unsigned stk2; 17847 unsigned stk3; 17848 stk3 = ~T; 17849 stk2 = S & stk3; 17850 stk1 = D ^ stk2; 17851 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 17852} 17853 17854/* DSTnax source transparent/pattern opaque. */ 17855static unsigned xrop3_166_1_0 (unsigned char s, unsigned char t) 17856{ 17857 unsigned D = 0x00ff; 17858 unsigned S = ((unsigned)s << 8) | s; 17859 unsigned T = ((unsigned)t << 8) | t; 17860 unsigned stk1; 17861 unsigned stk2; 17862 unsigned stk3; 17863 stk3 = ~T; 17864 stk2 = S & stk3; 17865 stk1 = D ^ stk2; 17866 return (stk1 & (~S)) | (D & S); 17867} 17868 17869/* DSTnax source/pattern transparent. */ 17870static unsigned xrop3_166_1_1 (unsigned char s, unsigned char t) 17871{ 17872 unsigned D = 0x00ff; 17873 unsigned S = ((unsigned)s << 8) | s; 17874 unsigned T = ((unsigned)t << 8) | t; 17875 unsigned stk1; 17876 unsigned stk2; 17877 unsigned stk3; 17878 stk3 = ~T; 17879 stk2 = S & stk3; 17880 stk1 = D ^ stk2; 17881 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 17882} 17883 17884/* TDSToaxn source/pattern opaque. */ 17885static void rop3_167_0_0 (unsigned char *D, unsigned char S, unsigned char T) 17886{ 17887 unsigned char stk1; 17888 unsigned char stk2; 17889 unsigned char stk3; 17890 stk3 = S | T; 17891 stk2 = *D & stk3; 17892 stk1 = T ^ stk2; 17893 stk1 = ~stk1; 17894 *D = stk1; 17895} 17896 17897/* TDSToaxn source opaque/pattern transparent. */ 17898static void rop3_167_0_1 (unsigned char *D, unsigned char S, unsigned char T) 17899{ 17900 unsigned char stk1; 17901 unsigned char stk2; 17902 unsigned char stk3; 17903 stk3 = S | T; 17904 stk2 = *D & stk3; 17905 stk1 = T ^ stk2; 17906 stk1 = ~stk1; 17907 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 17908} 17909 17910/* TDSToaxn source transparent/pattern opaque. */ 17911static void rop3_167_1_0 (unsigned char *D, unsigned char S, unsigned char T) 17912{ 17913 unsigned char stk1; 17914 unsigned char stk2; 17915 unsigned char stk3; 17916 stk3 = S | T; 17917 stk2 = *D & stk3; 17918 stk1 = T ^ stk2; 17919 stk1 = ~stk1; 17920 *D = (stk1 & (~S)) | (*D & S); 17921} 17922 17923/* TDSToaxn source/pattern transparent. */ 17924static void rop3_167_1_1 (unsigned char *D, unsigned char S, unsigned char T) 17925{ 17926 unsigned char stk1; 17927 unsigned char stk2; 17928 unsigned char stk3; 17929 stk3 = S | T; 17930 stk2 = *D & stk3; 17931 stk1 = T ^ stk2; 17932 stk1 = ~stk1; 17933 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 17934} 17935 17936/* TDSToaxn source/pattern opaque. */ 17937static unsigned xrop3_167_0_0 (unsigned char s, unsigned char t) 17938{ 17939 unsigned D = 0x00ff; 17940 unsigned S = ((unsigned)s << 8) | s; 17941 unsigned T = ((unsigned)t << 8) | t; 17942 unsigned stk1; 17943 unsigned stk2; 17944 unsigned stk3; 17945 stk3 = S | T; 17946 stk2 = D & stk3; 17947 stk1 = T ^ stk2; 17948 stk1 = ~stk1; 17949 return stk1; 17950} 17951 17952/* TDSToaxn source opaque/pattern transparent. */ 17953static unsigned xrop3_167_0_1 (unsigned char s, unsigned char t) 17954{ 17955 unsigned D = 0x00ff; 17956 unsigned S = ((unsigned)s << 8) | s; 17957 unsigned T = ((unsigned)t << 8) | t; 17958 unsigned stk1; 17959 unsigned stk2; 17960 unsigned stk3; 17961 stk3 = S | T; 17962 stk2 = D & stk3; 17963 stk1 = T ^ stk2; 17964 stk1 = ~stk1; 17965 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 17966} 17967 17968/* TDSToaxn source transparent/pattern opaque. */ 17969static unsigned xrop3_167_1_0 (unsigned char s, unsigned char t) 17970{ 17971 unsigned D = 0x00ff; 17972 unsigned S = ((unsigned)s << 8) | s; 17973 unsigned T = ((unsigned)t << 8) | t; 17974 unsigned stk1; 17975 unsigned stk2; 17976 unsigned stk3; 17977 stk3 = S | T; 17978 stk2 = D & stk3; 17979 stk1 = T ^ stk2; 17980 stk1 = ~stk1; 17981 return (stk1 & (~S)) | (D & S); 17982} 17983 17984/* TDSToaxn source/pattern transparent. */ 17985static unsigned xrop3_167_1_1 (unsigned char s, unsigned char t) 17986{ 17987 unsigned D = 0x00ff; 17988 unsigned S = ((unsigned)s << 8) | s; 17989 unsigned T = ((unsigned)t << 8) | t; 17990 unsigned stk1; 17991 unsigned stk2; 17992 unsigned stk3; 17993 stk3 = S | T; 17994 stk2 = D & stk3; 17995 stk1 = T ^ stk2; 17996 stk1 = ~stk1; 17997 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 17998} 17999 18000/* DTSoa source/pattern opaque. */ 18001static void rop3_168_0_0 (unsigned char *D, unsigned char S, unsigned char T) 18002{ 18003 unsigned char stk1; 18004 unsigned char stk2; 18005 stk2 = T | S; 18006 stk1 = *D & stk2; 18007 *D = stk1; 18008} 18009 18010/* DTSoa source opaque/pattern transparent. */ 18011static void rop3_168_0_1 (unsigned char *D, unsigned char S, unsigned char T) 18012{ 18013 unsigned char stk1; 18014 unsigned char stk2; 18015 stk2 = T | S; 18016 stk1 = *D & stk2; 18017 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 18018} 18019 18020/* DTSoa source transparent/pattern opaque. */ 18021static void rop3_168_1_0 (unsigned char *D, unsigned char S, unsigned char T) 18022{ 18023 unsigned char stk1; 18024 unsigned char stk2; 18025 stk2 = T | S; 18026 stk1 = *D & stk2; 18027 *D = (stk1 & (~S)) | (*D & S); 18028} 18029 18030/* DTSoa source/pattern transparent. */ 18031static void rop3_168_1_1 (unsigned char *D, unsigned char S, unsigned char T) 18032{ 18033 unsigned char stk1; 18034 unsigned char stk2; 18035 stk2 = T | S; 18036 stk1 = *D & stk2; 18037 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 18038} 18039 18040/* DTSoa source/pattern opaque. */ 18041static unsigned xrop3_168_0_0 (unsigned char s, unsigned char t) 18042{ 18043 unsigned D = 0x00ff; 18044 unsigned S = ((unsigned)s << 8) | s; 18045 unsigned T = ((unsigned)t << 8) | t; 18046 unsigned stk1; 18047 unsigned stk2; 18048 stk2 = T | S; 18049 stk1 = D & stk2; 18050 return stk1; 18051} 18052 18053/* DTSoa source opaque/pattern transparent. */ 18054static unsigned xrop3_168_0_1 (unsigned char s, unsigned char t) 18055{ 18056 unsigned D = 0x00ff; 18057 unsigned S = ((unsigned)s << 8) | s; 18058 unsigned T = ((unsigned)t << 8) | t; 18059 unsigned stk1; 18060 unsigned stk2; 18061 stk2 = T | S; 18062 stk1 = D & stk2; 18063 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 18064} 18065 18066/* DTSoa source transparent/pattern opaque. */ 18067static unsigned xrop3_168_1_0 (unsigned char s, unsigned char t) 18068{ 18069 unsigned D = 0x00ff; 18070 unsigned S = ((unsigned)s << 8) | s; 18071 unsigned T = ((unsigned)t << 8) | t; 18072 unsigned stk1; 18073 unsigned stk2; 18074 stk2 = T | S; 18075 stk1 = D & stk2; 18076 return (stk1 & (~S)) | (D & S); 18077} 18078 18079/* DTSoa source/pattern transparent. */ 18080static unsigned xrop3_168_1_1 (unsigned char s, unsigned char t) 18081{ 18082 unsigned D = 0x00ff; 18083 unsigned S = ((unsigned)s << 8) | s; 18084 unsigned T = ((unsigned)t << 8) | t; 18085 unsigned stk1; 18086 unsigned stk2; 18087 stk2 = T | S; 18088 stk1 = D & stk2; 18089 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 18090} 18091 18092/* DTSoxn source/pattern opaque. */ 18093static void rop3_169_0_0 (unsigned char *D, unsigned char S, unsigned char T) 18094{ 18095 unsigned char stk1; 18096 unsigned char stk2; 18097 stk2 = T | S; 18098 stk1 = *D ^ stk2; 18099 stk1 = ~stk1; 18100 *D = stk1; 18101} 18102 18103/* DTSoxn source opaque/pattern transparent. */ 18104static void rop3_169_0_1 (unsigned char *D, unsigned char S, unsigned char T) 18105{ 18106 unsigned char stk1; 18107 unsigned char stk2; 18108 stk2 = T | S; 18109 stk1 = *D ^ stk2; 18110 stk1 = ~stk1; 18111 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 18112} 18113 18114/* DTSoxn source transparent/pattern opaque. */ 18115static void rop3_169_1_0 (unsigned char *D, unsigned char S, unsigned char T) 18116{ 18117 unsigned char stk1; 18118 unsigned char stk2; 18119 stk2 = T | S; 18120 stk1 = *D ^ stk2; 18121 stk1 = ~stk1; 18122 *D = (stk1 & (~S)) | (*D & S); 18123} 18124 18125/* DTSoxn source/pattern transparent. */ 18126static void rop3_169_1_1 (unsigned char *D, unsigned char S, unsigned char T) 18127{ 18128 unsigned char stk1; 18129 unsigned char stk2; 18130 stk2 = T | S; 18131 stk1 = *D ^ stk2; 18132 stk1 = ~stk1; 18133 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 18134} 18135 18136/* DTSoxn source/pattern opaque. */ 18137static unsigned xrop3_169_0_0 (unsigned char s, unsigned char t) 18138{ 18139 unsigned D = 0x00ff; 18140 unsigned S = ((unsigned)s << 8) | s; 18141 unsigned T = ((unsigned)t << 8) | t; 18142 unsigned stk1; 18143 unsigned stk2; 18144 stk2 = T | S; 18145 stk1 = D ^ stk2; 18146 stk1 = ~stk1; 18147 return stk1; 18148} 18149 18150/* DTSoxn source opaque/pattern transparent. */ 18151static unsigned xrop3_169_0_1 (unsigned char s, unsigned char t) 18152{ 18153 unsigned D = 0x00ff; 18154 unsigned S = ((unsigned)s << 8) | s; 18155 unsigned T = ((unsigned)t << 8) | t; 18156 unsigned stk1; 18157 unsigned stk2; 18158 stk2 = T | S; 18159 stk1 = D ^ stk2; 18160 stk1 = ~stk1; 18161 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 18162} 18163 18164/* DTSoxn source transparent/pattern opaque. */ 18165static unsigned xrop3_169_1_0 (unsigned char s, unsigned char t) 18166{ 18167 unsigned D = 0x00ff; 18168 unsigned S = ((unsigned)s << 8) | s; 18169 unsigned T = ((unsigned)t << 8) | t; 18170 unsigned stk1; 18171 unsigned stk2; 18172 stk2 = T | S; 18173 stk1 = D ^ stk2; 18174 stk1 = ~stk1; 18175 return (stk1 & (~S)) | (D & S); 18176} 18177 18178/* DTSoxn source/pattern transparent. */ 18179static unsigned xrop3_169_1_1 (unsigned char s, unsigned char t) 18180{ 18181 unsigned D = 0x00ff; 18182 unsigned S = ((unsigned)s << 8) | s; 18183 unsigned T = ((unsigned)t << 8) | t; 18184 unsigned stk1; 18185 unsigned stk2; 18186 stk2 = T | S; 18187 stk1 = D ^ stk2; 18188 stk1 = ~stk1; 18189 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 18190} 18191 18192/* D source/pattern opaque. */ 18193static void rop3_170_0_0 (unsigned char *D, unsigned char S, unsigned char T) 18194{ 18195} 18196 18197/* D source opaque/pattern transparent. */ 18198static void rop3_170_0_1 (unsigned char *D, unsigned char S, unsigned char T) 18199{ 18200 *D = (*D & S) | (*D & (~T)) | (T & (~S) & *D); 18201} 18202 18203/* D source transparent/pattern opaque. */ 18204static void rop3_170_1_0 (unsigned char *D, unsigned char S, unsigned char T) 18205{ 18206 *D = (*D & (~S)) | (*D & S); 18207} 18208 18209/* D source/pattern transparent. */ 18210static void rop3_170_1_1 (unsigned char *D, unsigned char S, unsigned char T) 18211{ 18212 *D = (*D & (~S) & (~T)) | (*D & S) | (*D & T); 18213} 18214 18215/* D source/pattern opaque. */ 18216static unsigned xrop3_170_0_0 (unsigned char s, unsigned char t) 18217{ 18218 unsigned D = 0x00ff; 18219 return D; 18220} 18221 18222/* D source opaque/pattern transparent. */ 18223static unsigned xrop3_170_0_1 (unsigned char s, unsigned char t) 18224{ 18225 unsigned D = 0x00ff; 18226 unsigned S = ((unsigned)s << 8) | s; 18227 unsigned T = ((unsigned)t << 8) | t; 18228 return (D & S) | (D & (~T)) | (T & (~S) & D); 18229} 18230 18231/* D source transparent/pattern opaque. */ 18232static unsigned xrop3_170_1_0 (unsigned char s, unsigned char t) 18233{ 18234 unsigned D = 0x00ff; 18235 unsigned S = ((unsigned)s << 8) | s; 18236 return (D & (~S)) | (D & S); 18237} 18238 18239/* D source/pattern transparent. */ 18240static unsigned xrop3_170_1_1 (unsigned char s, unsigned char t) 18241{ 18242 unsigned D = 0x00ff; 18243 unsigned S = ((unsigned)s << 8) | s; 18244 unsigned T = ((unsigned)t << 8) | t; 18245 return (D & (~S) & (~T)) | (D & S) | (D & T); 18246} 18247 18248/* DTSono source/pattern opaque. */ 18249static void rop3_171_0_0 (unsigned char *D, unsigned char S, unsigned char T) 18250{ 18251 unsigned char stk1; 18252 unsigned char stk2; 18253 stk2 = T | S; 18254 stk2 = ~stk2; 18255 stk1 = *D | stk2; 18256 *D = stk1; 18257} 18258 18259/* DTSono source opaque/pattern transparent. */ 18260static void rop3_171_0_1 (unsigned char *D, unsigned char S, unsigned char T) 18261{ 18262 unsigned char stk1; 18263 unsigned char stk2; 18264 stk2 = T | S; 18265 stk2 = ~stk2; 18266 stk1 = *D | stk2; 18267 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 18268} 18269 18270/* DTSono source transparent/pattern opaque. */ 18271static void rop3_171_1_0 (unsigned char *D, unsigned char S, unsigned char T) 18272{ 18273 unsigned char stk1; 18274 unsigned char stk2; 18275 stk2 = T | S; 18276 stk2 = ~stk2; 18277 stk1 = *D | stk2; 18278 *D = (stk1 & (~S)) | (*D & S); 18279} 18280 18281/* DTSono source/pattern transparent. */ 18282static void rop3_171_1_1 (unsigned char *D, unsigned char S, unsigned char T) 18283{ 18284 unsigned char stk1; 18285 unsigned char stk2; 18286 stk2 = T | S; 18287 stk2 = ~stk2; 18288 stk1 = *D | stk2; 18289 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 18290} 18291 18292/* DTSono source/pattern opaque. */ 18293static unsigned xrop3_171_0_0 (unsigned char s, unsigned char t) 18294{ 18295 unsigned D = 0x00ff; 18296 unsigned S = ((unsigned)s << 8) | s; 18297 unsigned T = ((unsigned)t << 8) | t; 18298 unsigned stk1; 18299 unsigned stk2; 18300 stk2 = T | S; 18301 stk2 = ~stk2; 18302 stk1 = D | stk2; 18303 return stk1; 18304} 18305 18306/* DTSono source opaque/pattern transparent. */ 18307static unsigned xrop3_171_0_1 (unsigned char s, unsigned char t) 18308{ 18309 unsigned D = 0x00ff; 18310 unsigned S = ((unsigned)s << 8) | s; 18311 unsigned T = ((unsigned)t << 8) | t; 18312 unsigned stk1; 18313 unsigned stk2; 18314 stk2 = T | S; 18315 stk2 = ~stk2; 18316 stk1 = D | stk2; 18317 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 18318} 18319 18320/* DTSono source transparent/pattern opaque. */ 18321static unsigned xrop3_171_1_0 (unsigned char s, unsigned char t) 18322{ 18323 unsigned D = 0x00ff; 18324 unsigned S = ((unsigned)s << 8) | s; 18325 unsigned T = ((unsigned)t << 8) | t; 18326 unsigned stk1; 18327 unsigned stk2; 18328 stk2 = T | S; 18329 stk2 = ~stk2; 18330 stk1 = D | stk2; 18331 return (stk1 & (~S)) | (D & S); 18332} 18333 18334/* DTSono source/pattern transparent. */ 18335static unsigned xrop3_171_1_1 (unsigned char s, unsigned char t) 18336{ 18337 unsigned D = 0x00ff; 18338 unsigned S = ((unsigned)s << 8) | s; 18339 unsigned T = ((unsigned)t << 8) | t; 18340 unsigned stk1; 18341 unsigned stk2; 18342 stk2 = T | S; 18343 stk2 = ~stk2; 18344 stk1 = D | stk2; 18345 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 18346} 18347 18348/* STDSxax source/pattern opaque. */ 18349static void rop3_172_0_0 (unsigned char *D, unsigned char S, unsigned char T) 18350{ 18351 unsigned char stk1; 18352 unsigned char stk2; 18353 unsigned char stk3; 18354 stk3 = *D ^ S; 18355 stk2 = T & stk3; 18356 stk1 = S ^ stk2; 18357 *D = stk1; 18358} 18359 18360/* STDSxax source opaque/pattern transparent. */ 18361static void rop3_172_0_1 (unsigned char *D, unsigned char S, unsigned char T) 18362{ 18363 unsigned char stk1; 18364 unsigned char stk2; 18365 unsigned char stk3; 18366 stk3 = *D ^ S; 18367 stk2 = T & stk3; 18368 stk1 = S ^ stk2; 18369 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 18370} 18371 18372/* STDSxax source transparent/pattern opaque. */ 18373static void rop3_172_1_0 (unsigned char *D, unsigned char S, unsigned char T) 18374{ 18375 unsigned char stk1; 18376 unsigned char stk2; 18377 unsigned char stk3; 18378 stk3 = *D ^ S; 18379 stk2 = T & stk3; 18380 stk1 = S ^ stk2; 18381 *D = (stk1 & (~S)) | (*D & S); 18382} 18383 18384/* STDSxax source/pattern transparent. */ 18385static void rop3_172_1_1 (unsigned char *D, unsigned char S, unsigned char T) 18386{ 18387 unsigned char stk1; 18388 unsigned char stk2; 18389 unsigned char stk3; 18390 stk3 = *D ^ S; 18391 stk2 = T & stk3; 18392 stk1 = S ^ stk2; 18393 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 18394} 18395 18396/* STDSxax source/pattern opaque. */ 18397static unsigned xrop3_172_0_0 (unsigned char s, unsigned char t) 18398{ 18399 unsigned D = 0x00ff; 18400 unsigned S = ((unsigned)s << 8) | s; 18401 unsigned T = ((unsigned)t << 8) | t; 18402 unsigned stk1; 18403 unsigned stk2; 18404 unsigned stk3; 18405 stk3 = D ^ S; 18406 stk2 = T & stk3; 18407 stk1 = S ^ stk2; 18408 return stk1; 18409} 18410 18411/* STDSxax source opaque/pattern transparent. */ 18412static unsigned xrop3_172_0_1 (unsigned char s, unsigned char t) 18413{ 18414 unsigned D = 0x00ff; 18415 unsigned S = ((unsigned)s << 8) | s; 18416 unsigned T = ((unsigned)t << 8) | t; 18417 unsigned stk1; 18418 unsigned stk2; 18419 unsigned stk3; 18420 stk3 = D ^ S; 18421 stk2 = T & stk3; 18422 stk1 = S ^ stk2; 18423 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 18424} 18425 18426/* STDSxax source transparent/pattern opaque. */ 18427static unsigned xrop3_172_1_0 (unsigned char s, unsigned char t) 18428{ 18429 unsigned D = 0x00ff; 18430 unsigned S = ((unsigned)s << 8) | s; 18431 unsigned T = ((unsigned)t << 8) | t; 18432 unsigned stk1; 18433 unsigned stk2; 18434 unsigned stk3; 18435 stk3 = D ^ S; 18436 stk2 = T & stk3; 18437 stk1 = S ^ stk2; 18438 return (stk1 & (~S)) | (D & S); 18439} 18440 18441/* STDSxax source/pattern transparent. */ 18442static unsigned xrop3_172_1_1 (unsigned char s, unsigned char t) 18443{ 18444 unsigned D = 0x00ff; 18445 unsigned S = ((unsigned)s << 8) | s; 18446 unsigned T = ((unsigned)t << 8) | t; 18447 unsigned stk1; 18448 unsigned stk2; 18449 unsigned stk3; 18450 stk3 = D ^ S; 18451 stk2 = T & stk3; 18452 stk1 = S ^ stk2; 18453 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 18454} 18455 18456/* DTSDaoxn source/pattern opaque. */ 18457static void rop3_173_0_0 (unsigned char *D, unsigned char S, unsigned char T) 18458{ 18459 unsigned char stk1; 18460 unsigned char stk2; 18461 unsigned char stk3; 18462 stk3 = S & *D; 18463 stk2 = T | stk3; 18464 stk1 = *D ^ stk2; 18465 stk1 = ~stk1; 18466 *D = stk1; 18467} 18468 18469/* DTSDaoxn source opaque/pattern transparent. */ 18470static void rop3_173_0_1 (unsigned char *D, unsigned char S, unsigned char T) 18471{ 18472 unsigned char stk1; 18473 unsigned char stk2; 18474 unsigned char stk3; 18475 stk3 = S & *D; 18476 stk2 = T | stk3; 18477 stk1 = *D ^ stk2; 18478 stk1 = ~stk1; 18479 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 18480} 18481 18482/* DTSDaoxn source transparent/pattern opaque. */ 18483static void rop3_173_1_0 (unsigned char *D, unsigned char S, unsigned char T) 18484{ 18485 unsigned char stk1; 18486 unsigned char stk2; 18487 unsigned char stk3; 18488 stk3 = S & *D; 18489 stk2 = T | stk3; 18490 stk1 = *D ^ stk2; 18491 stk1 = ~stk1; 18492 *D = (stk1 & (~S)) | (*D & S); 18493} 18494 18495/* DTSDaoxn source/pattern transparent. */ 18496static void rop3_173_1_1 (unsigned char *D, unsigned char S, unsigned char T) 18497{ 18498 unsigned char stk1; 18499 unsigned char stk2; 18500 unsigned char stk3; 18501 stk3 = S & *D; 18502 stk2 = T | stk3; 18503 stk1 = *D ^ stk2; 18504 stk1 = ~stk1; 18505 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 18506} 18507 18508/* DTSDaoxn source/pattern opaque. */ 18509static unsigned xrop3_173_0_0 (unsigned char s, unsigned char t) 18510{ 18511 unsigned D = 0x00ff; 18512 unsigned S = ((unsigned)s << 8) | s; 18513 unsigned T = ((unsigned)t << 8) | t; 18514 unsigned stk1; 18515 unsigned stk2; 18516 unsigned stk3; 18517 stk3 = S & D; 18518 stk2 = T | stk3; 18519 stk1 = D ^ stk2; 18520 stk1 = ~stk1; 18521 return stk1; 18522} 18523 18524/* DTSDaoxn source opaque/pattern transparent. */ 18525static unsigned xrop3_173_0_1 (unsigned char s, unsigned char t) 18526{ 18527 unsigned D = 0x00ff; 18528 unsigned S = ((unsigned)s << 8) | s; 18529 unsigned T = ((unsigned)t << 8) | t; 18530 unsigned stk1; 18531 unsigned stk2; 18532 unsigned stk3; 18533 stk3 = S & D; 18534 stk2 = T | stk3; 18535 stk1 = D ^ stk2; 18536 stk1 = ~stk1; 18537 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 18538} 18539 18540/* DTSDaoxn source transparent/pattern opaque. */ 18541static unsigned xrop3_173_1_0 (unsigned char s, unsigned char t) 18542{ 18543 unsigned D = 0x00ff; 18544 unsigned S = ((unsigned)s << 8) | s; 18545 unsigned T = ((unsigned)t << 8) | t; 18546 unsigned stk1; 18547 unsigned stk2; 18548 unsigned stk3; 18549 stk3 = S & D; 18550 stk2 = T | stk3; 18551 stk1 = D ^ stk2; 18552 stk1 = ~stk1; 18553 return (stk1 & (~S)) | (D & S); 18554} 18555 18556/* DTSDaoxn source/pattern transparent. */ 18557static unsigned xrop3_173_1_1 (unsigned char s, unsigned char t) 18558{ 18559 unsigned D = 0x00ff; 18560 unsigned S = ((unsigned)s << 8) | s; 18561 unsigned T = ((unsigned)t << 8) | t; 18562 unsigned stk1; 18563 unsigned stk2; 18564 unsigned stk3; 18565 stk3 = S & D; 18566 stk2 = T | stk3; 18567 stk1 = D ^ stk2; 18568 stk1 = ~stk1; 18569 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 18570} 18571 18572/* DSTnao source/pattern opaque. */ 18573static void rop3_174_0_0 (unsigned char *D, unsigned char S, unsigned char T) 18574{ 18575 unsigned char stk1; 18576 unsigned char stk2; 18577 unsigned char stk3; 18578 stk3 = ~T; 18579 stk2 = S & stk3; 18580 stk1 = *D | stk2; 18581 *D = stk1; 18582} 18583 18584/* DSTnao source opaque/pattern transparent. */ 18585static void rop3_174_0_1 (unsigned char *D, unsigned char S, unsigned char T) 18586{ 18587 unsigned char stk1; 18588 unsigned char stk2; 18589 unsigned char stk3; 18590 stk3 = ~T; 18591 stk2 = S & stk3; 18592 stk1 = *D | stk2; 18593 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 18594} 18595 18596/* DSTnao source transparent/pattern opaque. */ 18597static void rop3_174_1_0 (unsigned char *D, unsigned char S, unsigned char T) 18598{ 18599 unsigned char stk1; 18600 unsigned char stk2; 18601 unsigned char stk3; 18602 stk3 = ~T; 18603 stk2 = S & stk3; 18604 stk1 = *D | stk2; 18605 *D = (stk1 & (~S)) | (*D & S); 18606} 18607 18608/* DSTnao source/pattern transparent. */ 18609static void rop3_174_1_1 (unsigned char *D, unsigned char S, unsigned char T) 18610{ 18611 unsigned char stk1; 18612 unsigned char stk2; 18613 unsigned char stk3; 18614 stk3 = ~T; 18615 stk2 = S & stk3; 18616 stk1 = *D | stk2; 18617 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 18618} 18619 18620/* DSTnao source/pattern opaque. */ 18621static unsigned xrop3_174_0_0 (unsigned char s, unsigned char t) 18622{ 18623 unsigned D = 0x00ff; 18624 unsigned S = ((unsigned)s << 8) | s; 18625 unsigned T = ((unsigned)t << 8) | t; 18626 unsigned stk1; 18627 unsigned stk2; 18628 unsigned stk3; 18629 stk3 = ~T; 18630 stk2 = S & stk3; 18631 stk1 = D | stk2; 18632 return stk1; 18633} 18634 18635/* DSTnao source opaque/pattern transparent. */ 18636static unsigned xrop3_174_0_1 (unsigned char s, unsigned char t) 18637{ 18638 unsigned D = 0x00ff; 18639 unsigned S = ((unsigned)s << 8) | s; 18640 unsigned T = ((unsigned)t << 8) | t; 18641 unsigned stk1; 18642 unsigned stk2; 18643 unsigned stk3; 18644 stk3 = ~T; 18645 stk2 = S & stk3; 18646 stk1 = D | stk2; 18647 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 18648} 18649 18650/* DSTnao source transparent/pattern opaque. */ 18651static unsigned xrop3_174_1_0 (unsigned char s, unsigned char t) 18652{ 18653 unsigned D = 0x00ff; 18654 unsigned S = ((unsigned)s << 8) | s; 18655 unsigned T = ((unsigned)t << 8) | t; 18656 unsigned stk1; 18657 unsigned stk2; 18658 unsigned stk3; 18659 stk3 = ~T; 18660 stk2 = S & stk3; 18661 stk1 = D | stk2; 18662 return (stk1 & (~S)) | (D & S); 18663} 18664 18665/* DSTnao source/pattern transparent. */ 18666static unsigned xrop3_174_1_1 (unsigned char s, unsigned char t) 18667{ 18668 unsigned D = 0x00ff; 18669 unsigned S = ((unsigned)s << 8) | s; 18670 unsigned T = ((unsigned)t << 8) | t; 18671 unsigned stk1; 18672 unsigned stk2; 18673 unsigned stk3; 18674 stk3 = ~T; 18675 stk2 = S & stk3; 18676 stk1 = D | stk2; 18677 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 18678} 18679 18680/* DTno source/pattern opaque. */ 18681static void rop3_175_0_0 (unsigned char *D, unsigned char S, unsigned char T) 18682{ 18683 unsigned char stk1; 18684 unsigned char stk2; 18685 stk2 = ~T; 18686 stk1 = *D | stk2; 18687 *D = stk1; 18688} 18689 18690/* DTno source opaque/pattern transparent. */ 18691static void rop3_175_0_1 (unsigned char *D, unsigned char S, unsigned char T) 18692{ 18693 unsigned char stk1; 18694 unsigned char stk2; 18695 stk2 = ~T; 18696 stk1 = *D | stk2; 18697 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 18698} 18699 18700/* DTno source transparent/pattern opaque. */ 18701static void rop3_175_1_0 (unsigned char *D, unsigned char S, unsigned char T) 18702{ 18703 unsigned char stk1; 18704 unsigned char stk2; 18705 stk2 = ~T; 18706 stk1 = *D | stk2; 18707 *D = (stk1 & (~S)) | (*D & S); 18708} 18709 18710/* DTno source/pattern transparent. */ 18711static void rop3_175_1_1 (unsigned char *D, unsigned char S, unsigned char T) 18712{ 18713 unsigned char stk1; 18714 unsigned char stk2; 18715 stk2 = ~T; 18716 stk1 = *D | stk2; 18717 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 18718} 18719 18720/* DTno source/pattern opaque. */ 18721static unsigned xrop3_175_0_0 (unsigned char s, unsigned char t) 18722{ 18723 unsigned D = 0x00ff; 18724 unsigned T = ((unsigned)t << 8) | t; 18725 unsigned stk1; 18726 unsigned stk2; 18727 stk2 = ~T; 18728 stk1 = D | stk2; 18729 return stk1; 18730} 18731 18732/* DTno source opaque/pattern transparent. */ 18733static unsigned xrop3_175_0_1 (unsigned char s, unsigned char t) 18734{ 18735 unsigned D = 0x00ff; 18736 unsigned S = ((unsigned)s << 8) | s; 18737 unsigned T = ((unsigned)t << 8) | t; 18738 unsigned stk1; 18739 unsigned stk2; 18740 stk2 = ~T; 18741 stk1 = D | stk2; 18742 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 18743} 18744 18745/* DTno source transparent/pattern opaque. */ 18746static unsigned xrop3_175_1_0 (unsigned char s, unsigned char t) 18747{ 18748 unsigned D = 0x00ff; 18749 unsigned S = ((unsigned)s << 8) | s; 18750 unsigned T = ((unsigned)t << 8) | t; 18751 unsigned stk1; 18752 unsigned stk2; 18753 stk2 = ~T; 18754 stk1 = D | stk2; 18755 return (stk1 & (~S)) | (D & S); 18756} 18757 18758/* DTno source/pattern transparent. */ 18759static unsigned xrop3_175_1_1 (unsigned char s, unsigned char t) 18760{ 18761 unsigned D = 0x00ff; 18762 unsigned S = ((unsigned)s << 8) | s; 18763 unsigned T = ((unsigned)t << 8) | t; 18764 unsigned stk1; 18765 unsigned stk2; 18766 stk2 = ~T; 18767 stk1 = D | stk2; 18768 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 18769} 18770 18771/* TDSnoa source/pattern opaque. */ 18772static void rop3_176_0_0 (unsigned char *D, unsigned char S, unsigned char T) 18773{ 18774 unsigned char stk1; 18775 unsigned char stk2; 18776 unsigned char stk3; 18777 stk3 = ~S; 18778 stk2 = *D | stk3; 18779 stk1 = T & stk2; 18780 *D = stk1; 18781} 18782 18783/* TDSnoa source opaque/pattern transparent. */ 18784static void rop3_176_0_1 (unsigned char *D, unsigned char S, unsigned char T) 18785{ 18786 unsigned char stk1; 18787 unsigned char stk2; 18788 unsigned char stk3; 18789 stk3 = ~S; 18790 stk2 = *D | stk3; 18791 stk1 = T & stk2; 18792 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 18793} 18794 18795/* TDSnoa source transparent/pattern opaque. */ 18796static void rop3_176_1_0 (unsigned char *D, unsigned char S, unsigned char T) 18797{ 18798 unsigned char stk1; 18799 unsigned char stk2; 18800 unsigned char stk3; 18801 stk3 = ~S; 18802 stk2 = *D | stk3; 18803 stk1 = T & stk2; 18804 *D = (stk1 & (~S)) | (*D & S); 18805} 18806 18807/* TDSnoa source/pattern transparent. */ 18808static void rop3_176_1_1 (unsigned char *D, unsigned char S, unsigned char T) 18809{ 18810 unsigned char stk1; 18811 unsigned char stk2; 18812 unsigned char stk3; 18813 stk3 = ~S; 18814 stk2 = *D | stk3; 18815 stk1 = T & stk2; 18816 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 18817} 18818 18819/* TDSnoa source/pattern opaque. */ 18820static unsigned xrop3_176_0_0 (unsigned char s, unsigned char t) 18821{ 18822 unsigned D = 0x00ff; 18823 unsigned S = ((unsigned)s << 8) | s; 18824 unsigned T = ((unsigned)t << 8) | t; 18825 unsigned stk1; 18826 unsigned stk2; 18827 unsigned stk3; 18828 stk3 = ~S; 18829 stk2 = D | stk3; 18830 stk1 = T & stk2; 18831 return stk1; 18832} 18833 18834/* TDSnoa source opaque/pattern transparent. */ 18835static unsigned xrop3_176_0_1 (unsigned char s, unsigned char t) 18836{ 18837 unsigned D = 0x00ff; 18838 unsigned S = ((unsigned)s << 8) | s; 18839 unsigned T = ((unsigned)t << 8) | t; 18840 unsigned stk1; 18841 unsigned stk2; 18842 unsigned stk3; 18843 stk3 = ~S; 18844 stk2 = D | stk3; 18845 stk1 = T & stk2; 18846 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 18847} 18848 18849/* TDSnoa source transparent/pattern opaque. */ 18850static unsigned xrop3_176_1_0 (unsigned char s, unsigned char t) 18851{ 18852 unsigned D = 0x00ff; 18853 unsigned S = ((unsigned)s << 8) | s; 18854 unsigned T = ((unsigned)t << 8) | t; 18855 unsigned stk1; 18856 unsigned stk2; 18857 unsigned stk3; 18858 stk3 = ~S; 18859 stk2 = D | stk3; 18860 stk1 = T & stk2; 18861 return (stk1 & (~S)) | (D & S); 18862} 18863 18864/* TDSnoa source/pattern transparent. */ 18865static unsigned xrop3_176_1_1 (unsigned char s, unsigned char t) 18866{ 18867 unsigned D = 0x00ff; 18868 unsigned S = ((unsigned)s << 8) | s; 18869 unsigned T = ((unsigned)t << 8) | t; 18870 unsigned stk1; 18871 unsigned stk2; 18872 unsigned stk3; 18873 stk3 = ~S; 18874 stk2 = D | stk3; 18875 stk1 = T & stk2; 18876 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 18877} 18878 18879/* TDSTxoxn source/pattern opaque. */ 18880static void rop3_177_0_0 (unsigned char *D, unsigned char S, unsigned char T) 18881{ 18882 unsigned char stk1; 18883 unsigned char stk2; 18884 unsigned char stk3; 18885 stk3 = S ^ T; 18886 stk2 = *D | stk3; 18887 stk1 = T ^ stk2; 18888 stk1 = ~stk1; 18889 *D = stk1; 18890} 18891 18892/* TDSTxoxn source opaque/pattern transparent. */ 18893static void rop3_177_0_1 (unsigned char *D, unsigned char S, unsigned char T) 18894{ 18895 unsigned char stk1; 18896 unsigned char stk2; 18897 unsigned char stk3; 18898 stk3 = S ^ T; 18899 stk2 = *D | stk3; 18900 stk1 = T ^ stk2; 18901 stk1 = ~stk1; 18902 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 18903} 18904 18905/* TDSTxoxn source transparent/pattern opaque. */ 18906static void rop3_177_1_0 (unsigned char *D, unsigned char S, unsigned char T) 18907{ 18908 unsigned char stk1; 18909 unsigned char stk2; 18910 unsigned char stk3; 18911 stk3 = S ^ T; 18912 stk2 = *D | stk3; 18913 stk1 = T ^ stk2; 18914 stk1 = ~stk1; 18915 *D = (stk1 & (~S)) | (*D & S); 18916} 18917 18918/* TDSTxoxn source/pattern transparent. */ 18919static void rop3_177_1_1 (unsigned char *D, unsigned char S, unsigned char T) 18920{ 18921 unsigned char stk1; 18922 unsigned char stk2; 18923 unsigned char stk3; 18924 stk3 = S ^ T; 18925 stk2 = *D | stk3; 18926 stk1 = T ^ stk2; 18927 stk1 = ~stk1; 18928 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 18929} 18930 18931/* TDSTxoxn source/pattern opaque. */ 18932static unsigned xrop3_177_0_0 (unsigned char s, unsigned char t) 18933{ 18934 unsigned D = 0x00ff; 18935 unsigned S = ((unsigned)s << 8) | s; 18936 unsigned T = ((unsigned)t << 8) | t; 18937 unsigned stk1; 18938 unsigned stk2; 18939 unsigned stk3; 18940 stk3 = S ^ T; 18941 stk2 = D | stk3; 18942 stk1 = T ^ stk2; 18943 stk1 = ~stk1; 18944 return stk1; 18945} 18946 18947/* TDSTxoxn source opaque/pattern transparent. */ 18948static unsigned xrop3_177_0_1 (unsigned char s, unsigned char t) 18949{ 18950 unsigned D = 0x00ff; 18951 unsigned S = ((unsigned)s << 8) | s; 18952 unsigned T = ((unsigned)t << 8) | t; 18953 unsigned stk1; 18954 unsigned stk2; 18955 unsigned stk3; 18956 stk3 = S ^ T; 18957 stk2 = D | stk3; 18958 stk1 = T ^ stk2; 18959 stk1 = ~stk1; 18960 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 18961} 18962 18963/* TDSTxoxn source transparent/pattern opaque. */ 18964static unsigned xrop3_177_1_0 (unsigned char s, unsigned char t) 18965{ 18966 unsigned D = 0x00ff; 18967 unsigned S = ((unsigned)s << 8) | s; 18968 unsigned T = ((unsigned)t << 8) | t; 18969 unsigned stk1; 18970 unsigned stk2; 18971 unsigned stk3; 18972 stk3 = S ^ T; 18973 stk2 = D | stk3; 18974 stk1 = T ^ stk2; 18975 stk1 = ~stk1; 18976 return (stk1 & (~S)) | (D & S); 18977} 18978 18979/* TDSTxoxn source/pattern transparent. */ 18980static unsigned xrop3_177_1_1 (unsigned char s, unsigned char t) 18981{ 18982 unsigned D = 0x00ff; 18983 unsigned S = ((unsigned)s << 8) | s; 18984 unsigned T = ((unsigned)t << 8) | t; 18985 unsigned stk1; 18986 unsigned stk2; 18987 unsigned stk3; 18988 stk3 = S ^ T; 18989 stk2 = D | stk3; 18990 stk1 = T ^ stk2; 18991 stk1 = ~stk1; 18992 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 18993} 18994 18995/* SSTxDSxox source/pattern opaque. */ 18996static void rop3_178_0_0 (unsigned char *D, unsigned char S, unsigned char T) 18997{ 18998 unsigned char stk1; 18999 unsigned char stk2; 19000 unsigned char stk3; 19001 stk2 = S ^ T; 19002 stk3 = *D ^ S; 19003 stk2 = stk2 | stk3; 19004 stk1 = S ^ stk2; 19005 *D = stk1; 19006} 19007 19008/* SSTxDSxox source opaque/pattern transparent. */ 19009static void rop3_178_0_1 (unsigned char *D, unsigned char S, unsigned char T) 19010{ 19011 unsigned char stk1; 19012 unsigned char stk2; 19013 unsigned char stk3; 19014 stk2 = S ^ T; 19015 stk3 = *D ^ S; 19016 stk2 = stk2 | stk3; 19017 stk1 = S ^ stk2; 19018 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 19019} 19020 19021/* SSTxDSxox source transparent/pattern opaque. */ 19022static void rop3_178_1_0 (unsigned char *D, unsigned char S, unsigned char T) 19023{ 19024 unsigned char stk1; 19025 unsigned char stk2; 19026 unsigned char stk3; 19027 stk2 = S ^ T; 19028 stk3 = *D ^ S; 19029 stk2 = stk2 | stk3; 19030 stk1 = S ^ stk2; 19031 *D = (stk1 & (~S)) | (*D & S); 19032} 19033 19034/* SSTxDSxox source/pattern transparent. */ 19035static void rop3_178_1_1 (unsigned char *D, unsigned char S, unsigned char T) 19036{ 19037 unsigned char stk1; 19038 unsigned char stk2; 19039 unsigned char stk3; 19040 stk2 = S ^ T; 19041 stk3 = *D ^ S; 19042 stk2 = stk2 | stk3; 19043 stk1 = S ^ stk2; 19044 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 19045} 19046 19047/* SSTxDSxox source/pattern opaque. */ 19048static unsigned xrop3_178_0_0 (unsigned char s, unsigned char t) 19049{ 19050 unsigned D = 0x00ff; 19051 unsigned S = ((unsigned)s << 8) | s; 19052 unsigned T = ((unsigned)t << 8) | t; 19053 unsigned stk1; 19054 unsigned stk2; 19055 unsigned stk3; 19056 stk2 = S ^ T; 19057 stk3 = D ^ S; 19058 stk2 = stk2 | stk3; 19059 stk1 = S ^ stk2; 19060 return stk1; 19061} 19062 19063/* SSTxDSxox source opaque/pattern transparent. */ 19064static unsigned xrop3_178_0_1 (unsigned char s, unsigned char t) 19065{ 19066 unsigned D = 0x00ff; 19067 unsigned S = ((unsigned)s << 8) | s; 19068 unsigned T = ((unsigned)t << 8) | t; 19069 unsigned stk1; 19070 unsigned stk2; 19071 unsigned stk3; 19072 stk2 = S ^ T; 19073 stk3 = D ^ S; 19074 stk2 = stk2 | stk3; 19075 stk1 = S ^ stk2; 19076 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 19077} 19078 19079/* SSTxDSxox source transparent/pattern opaque. */ 19080static unsigned xrop3_178_1_0 (unsigned char s, unsigned char t) 19081{ 19082 unsigned D = 0x00ff; 19083 unsigned S = ((unsigned)s << 8) | s; 19084 unsigned T = ((unsigned)t << 8) | t; 19085 unsigned stk1; 19086 unsigned stk2; 19087 unsigned stk3; 19088 stk2 = S ^ T; 19089 stk3 = D ^ S; 19090 stk2 = stk2 | stk3; 19091 stk1 = S ^ stk2; 19092 return (stk1 & (~S)) | (D & S); 19093} 19094 19095/* SSTxDSxox source/pattern transparent. */ 19096static unsigned xrop3_178_1_1 (unsigned char s, unsigned char t) 19097{ 19098 unsigned D = 0x00ff; 19099 unsigned S = ((unsigned)s << 8) | s; 19100 unsigned T = ((unsigned)t << 8) | t; 19101 unsigned stk1; 19102 unsigned stk2; 19103 unsigned stk3; 19104 stk2 = S ^ T; 19105 stk3 = D ^ S; 19106 stk2 = stk2 | stk3; 19107 stk1 = S ^ stk2; 19108 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 19109} 19110 19111/* SDTanan source/pattern opaque. */ 19112static void rop3_179_0_0 (unsigned char *D, unsigned char S, unsigned char T) 19113{ 19114 unsigned char stk1; 19115 unsigned char stk2; 19116 stk2 = *D & T; 19117 stk2 = ~stk2; 19118 stk1 = S & stk2; 19119 stk1 = ~stk1; 19120 *D = stk1; 19121} 19122 19123/* SDTanan source opaque/pattern transparent. */ 19124static void rop3_179_0_1 (unsigned char *D, unsigned char S, unsigned char T) 19125{ 19126 unsigned char stk1; 19127 unsigned char stk2; 19128 stk2 = *D & T; 19129 stk2 = ~stk2; 19130 stk1 = S & stk2; 19131 stk1 = ~stk1; 19132 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 19133} 19134 19135/* SDTanan source transparent/pattern opaque. */ 19136static void rop3_179_1_0 (unsigned char *D, unsigned char S, unsigned char T) 19137{ 19138 unsigned char stk1; 19139 unsigned char stk2; 19140 stk2 = *D & T; 19141 stk2 = ~stk2; 19142 stk1 = S & stk2; 19143 stk1 = ~stk1; 19144 *D = (stk1 & (~S)) | (*D & S); 19145} 19146 19147/* SDTanan source/pattern transparent. */ 19148static void rop3_179_1_1 (unsigned char *D, unsigned char S, unsigned char T) 19149{ 19150 unsigned char stk1; 19151 unsigned char stk2; 19152 stk2 = *D & T; 19153 stk2 = ~stk2; 19154 stk1 = S & stk2; 19155 stk1 = ~stk1; 19156 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 19157} 19158 19159/* SDTanan source/pattern opaque. */ 19160static unsigned xrop3_179_0_0 (unsigned char s, unsigned char t) 19161{ 19162 unsigned D = 0x00ff; 19163 unsigned S = ((unsigned)s << 8) | s; 19164 unsigned T = ((unsigned)t << 8) | t; 19165 unsigned stk1; 19166 unsigned stk2; 19167 stk2 = D & T; 19168 stk2 = ~stk2; 19169 stk1 = S & stk2; 19170 stk1 = ~stk1; 19171 return stk1; 19172} 19173 19174/* SDTanan source opaque/pattern transparent. */ 19175static unsigned xrop3_179_0_1 (unsigned char s, unsigned char t) 19176{ 19177 unsigned D = 0x00ff; 19178 unsigned S = ((unsigned)s << 8) | s; 19179 unsigned T = ((unsigned)t << 8) | t; 19180 unsigned stk1; 19181 unsigned stk2; 19182 stk2 = D & T; 19183 stk2 = ~stk2; 19184 stk1 = S & stk2; 19185 stk1 = ~stk1; 19186 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 19187} 19188 19189/* SDTanan source transparent/pattern opaque. */ 19190static unsigned xrop3_179_1_0 (unsigned char s, unsigned char t) 19191{ 19192 unsigned D = 0x00ff; 19193 unsigned S = ((unsigned)s << 8) | s; 19194 unsigned T = ((unsigned)t << 8) | t; 19195 unsigned stk1; 19196 unsigned stk2; 19197 stk2 = D & T; 19198 stk2 = ~stk2; 19199 stk1 = S & stk2; 19200 stk1 = ~stk1; 19201 return (stk1 & (~S)) | (D & S); 19202} 19203 19204/* SDTanan source/pattern transparent. */ 19205static unsigned xrop3_179_1_1 (unsigned char s, unsigned char t) 19206{ 19207 unsigned D = 0x00ff; 19208 unsigned S = ((unsigned)s << 8) | s; 19209 unsigned T = ((unsigned)t << 8) | t; 19210 unsigned stk1; 19211 unsigned stk2; 19212 stk2 = D & T; 19213 stk2 = ~stk2; 19214 stk1 = S & stk2; 19215 stk1 = ~stk1; 19216 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 19217} 19218 19219/* TSDnax source/pattern opaque. */ 19220static void rop3_180_0_0 (unsigned char *D, unsigned char S, unsigned char T) 19221{ 19222 unsigned char stk1; 19223 unsigned char stk2; 19224 unsigned char stk3; 19225 stk3 = ~*D; 19226 stk2 = S & stk3; 19227 stk1 = T ^ stk2; 19228 *D = stk1; 19229} 19230 19231/* TSDnax source opaque/pattern transparent. */ 19232static void rop3_180_0_1 (unsigned char *D, unsigned char S, unsigned char T) 19233{ 19234 unsigned char stk1; 19235 unsigned char stk2; 19236 unsigned char stk3; 19237 stk3 = ~*D; 19238 stk2 = S & stk3; 19239 stk1 = T ^ stk2; 19240 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 19241} 19242 19243/* TSDnax source transparent/pattern opaque. */ 19244static void rop3_180_1_0 (unsigned char *D, unsigned char S, unsigned char T) 19245{ 19246 unsigned char stk1; 19247 unsigned char stk2; 19248 unsigned char stk3; 19249 stk3 = ~*D; 19250 stk2 = S & stk3; 19251 stk1 = T ^ stk2; 19252 *D = (stk1 & (~S)) | (*D & S); 19253} 19254 19255/* TSDnax source/pattern transparent. */ 19256static void rop3_180_1_1 (unsigned char *D, unsigned char S, unsigned char T) 19257{ 19258 unsigned char stk1; 19259 unsigned char stk2; 19260 unsigned char stk3; 19261 stk3 = ~*D; 19262 stk2 = S & stk3; 19263 stk1 = T ^ stk2; 19264 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 19265} 19266 19267/* TSDnax source/pattern opaque. */ 19268static unsigned xrop3_180_0_0 (unsigned char s, unsigned char t) 19269{ 19270 unsigned D = 0x00ff; 19271 unsigned S = ((unsigned)s << 8) | s; 19272 unsigned T = ((unsigned)t << 8) | t; 19273 unsigned stk1; 19274 unsigned stk2; 19275 unsigned stk3; 19276 stk3 = ~D; 19277 stk2 = S & stk3; 19278 stk1 = T ^ stk2; 19279 return stk1; 19280} 19281 19282/* TSDnax source opaque/pattern transparent. */ 19283static unsigned xrop3_180_0_1 (unsigned char s, unsigned char t) 19284{ 19285 unsigned D = 0x00ff; 19286 unsigned S = ((unsigned)s << 8) | s; 19287 unsigned T = ((unsigned)t << 8) | t; 19288 unsigned stk1; 19289 unsigned stk2; 19290 unsigned stk3; 19291 stk3 = ~D; 19292 stk2 = S & stk3; 19293 stk1 = T ^ stk2; 19294 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 19295} 19296 19297/* TSDnax source transparent/pattern opaque. */ 19298static unsigned xrop3_180_1_0 (unsigned char s, unsigned char t) 19299{ 19300 unsigned D = 0x00ff; 19301 unsigned S = ((unsigned)s << 8) | s; 19302 unsigned T = ((unsigned)t << 8) | t; 19303 unsigned stk1; 19304 unsigned stk2; 19305 unsigned stk3; 19306 stk3 = ~D; 19307 stk2 = S & stk3; 19308 stk1 = T ^ stk2; 19309 return (stk1 & (~S)) | (D & S); 19310} 19311 19312/* TSDnax source/pattern transparent. */ 19313static unsigned xrop3_180_1_1 (unsigned char s, unsigned char t) 19314{ 19315 unsigned D = 0x00ff; 19316 unsigned S = ((unsigned)s << 8) | s; 19317 unsigned T = ((unsigned)t << 8) | t; 19318 unsigned stk1; 19319 unsigned stk2; 19320 unsigned stk3; 19321 stk3 = ~D; 19322 stk2 = S & stk3; 19323 stk1 = T ^ stk2; 19324 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 19325} 19326 19327/* DTSDoaxn source/pattern opaque. */ 19328static void rop3_181_0_0 (unsigned char *D, unsigned char S, unsigned char T) 19329{ 19330 unsigned char stk1; 19331 unsigned char stk2; 19332 unsigned char stk3; 19333 stk3 = S | *D; 19334 stk2 = T & stk3; 19335 stk1 = *D ^ stk2; 19336 stk1 = ~stk1; 19337 *D = stk1; 19338} 19339 19340/* DTSDoaxn source opaque/pattern transparent. */ 19341static void rop3_181_0_1 (unsigned char *D, unsigned char S, unsigned char T) 19342{ 19343 unsigned char stk1; 19344 unsigned char stk2; 19345 unsigned char stk3; 19346 stk3 = S | *D; 19347 stk2 = T & stk3; 19348 stk1 = *D ^ stk2; 19349 stk1 = ~stk1; 19350 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 19351} 19352 19353/* DTSDoaxn source transparent/pattern opaque. */ 19354static void rop3_181_1_0 (unsigned char *D, unsigned char S, unsigned char T) 19355{ 19356 unsigned char stk1; 19357 unsigned char stk2; 19358 unsigned char stk3; 19359 stk3 = S | *D; 19360 stk2 = T & stk3; 19361 stk1 = *D ^ stk2; 19362 stk1 = ~stk1; 19363 *D = (stk1 & (~S)) | (*D & S); 19364} 19365 19366/* DTSDoaxn source/pattern transparent. */ 19367static void rop3_181_1_1 (unsigned char *D, unsigned char S, unsigned char T) 19368{ 19369 unsigned char stk1; 19370 unsigned char stk2; 19371 unsigned char stk3; 19372 stk3 = S | *D; 19373 stk2 = T & stk3; 19374 stk1 = *D ^ stk2; 19375 stk1 = ~stk1; 19376 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 19377} 19378 19379/* DTSDoaxn source/pattern opaque. */ 19380static unsigned xrop3_181_0_0 (unsigned char s, unsigned char t) 19381{ 19382 unsigned D = 0x00ff; 19383 unsigned S = ((unsigned)s << 8) | s; 19384 unsigned T = ((unsigned)t << 8) | t; 19385 unsigned stk1; 19386 unsigned stk2; 19387 unsigned stk3; 19388 stk3 = S | D; 19389 stk2 = T & stk3; 19390 stk1 = D ^ stk2; 19391 stk1 = ~stk1; 19392 return stk1; 19393} 19394 19395/* DTSDoaxn source opaque/pattern transparent. */ 19396static unsigned xrop3_181_0_1 (unsigned char s, unsigned char t) 19397{ 19398 unsigned D = 0x00ff; 19399 unsigned S = ((unsigned)s << 8) | s; 19400 unsigned T = ((unsigned)t << 8) | t; 19401 unsigned stk1; 19402 unsigned stk2; 19403 unsigned stk3; 19404 stk3 = S | D; 19405 stk2 = T & stk3; 19406 stk1 = D ^ stk2; 19407 stk1 = ~stk1; 19408 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 19409} 19410 19411/* DTSDoaxn source transparent/pattern opaque. */ 19412static unsigned xrop3_181_1_0 (unsigned char s, unsigned char t) 19413{ 19414 unsigned D = 0x00ff; 19415 unsigned S = ((unsigned)s << 8) | s; 19416 unsigned T = ((unsigned)t << 8) | t; 19417 unsigned stk1; 19418 unsigned stk2; 19419 unsigned stk3; 19420 stk3 = S | D; 19421 stk2 = T & stk3; 19422 stk1 = D ^ stk2; 19423 stk1 = ~stk1; 19424 return (stk1 & (~S)) | (D & S); 19425} 19426 19427/* DTSDoaxn source/pattern transparent. */ 19428static unsigned xrop3_181_1_1 (unsigned char s, unsigned char t) 19429{ 19430 unsigned D = 0x00ff; 19431 unsigned S = ((unsigned)s << 8) | s; 19432 unsigned T = ((unsigned)t << 8) | t; 19433 unsigned stk1; 19434 unsigned stk2; 19435 unsigned stk3; 19436 stk3 = S | D; 19437 stk2 = T & stk3; 19438 stk1 = D ^ stk2; 19439 stk1 = ~stk1; 19440 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 19441} 19442 19443/* DTSDTaoxx source/pattern opaque. */ 19444static void rop3_182_0_0 (unsigned char *D, unsigned char S, unsigned char T) 19445{ 19446 unsigned char stk1; 19447 unsigned char stk2; 19448 unsigned char stk3; 19449 unsigned char stk4; 19450 stk4 = *D & T; 19451 stk3 = S | stk4; 19452 stk2 = T ^ stk3; 19453 stk1 = *D ^ stk2; 19454 *D = stk1; 19455} 19456 19457/* DTSDTaoxx source opaque/pattern transparent. */ 19458static void rop3_182_0_1 (unsigned char *D, unsigned char S, unsigned char T) 19459{ 19460 unsigned char stk1; 19461 unsigned char stk2; 19462 unsigned char stk3; 19463 unsigned char stk4; 19464 stk4 = *D & T; 19465 stk3 = S | stk4; 19466 stk2 = T ^ stk3; 19467 stk1 = *D ^ stk2; 19468 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 19469} 19470 19471/* DTSDTaoxx source transparent/pattern opaque. */ 19472static void rop3_182_1_0 (unsigned char *D, unsigned char S, unsigned char T) 19473{ 19474 unsigned char stk1; 19475 unsigned char stk2; 19476 unsigned char stk3; 19477 unsigned char stk4; 19478 stk4 = *D & T; 19479 stk3 = S | stk4; 19480 stk2 = T ^ stk3; 19481 stk1 = *D ^ stk2; 19482 *D = (stk1 & (~S)) | (*D & S); 19483} 19484 19485/* DTSDTaoxx source/pattern transparent. */ 19486static void rop3_182_1_1 (unsigned char *D, unsigned char S, unsigned char T) 19487{ 19488 unsigned char stk1; 19489 unsigned char stk2; 19490 unsigned char stk3; 19491 unsigned char stk4; 19492 stk4 = *D & T; 19493 stk3 = S | stk4; 19494 stk2 = T ^ stk3; 19495 stk1 = *D ^ stk2; 19496 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 19497} 19498 19499/* DTSDTaoxx source/pattern opaque. */ 19500static unsigned xrop3_182_0_0 (unsigned char s, unsigned char t) 19501{ 19502 unsigned D = 0x00ff; 19503 unsigned S = ((unsigned)s << 8) | s; 19504 unsigned T = ((unsigned)t << 8) | t; 19505 unsigned stk1; 19506 unsigned stk2; 19507 unsigned stk3; 19508 unsigned stk4; 19509 stk4 = D & T; 19510 stk3 = S | stk4; 19511 stk2 = T ^ stk3; 19512 stk1 = D ^ stk2; 19513 return stk1; 19514} 19515 19516/* DTSDTaoxx source opaque/pattern transparent. */ 19517static unsigned xrop3_182_0_1 (unsigned char s, unsigned char t) 19518{ 19519 unsigned D = 0x00ff; 19520 unsigned S = ((unsigned)s << 8) | s; 19521 unsigned T = ((unsigned)t << 8) | t; 19522 unsigned stk1; 19523 unsigned stk2; 19524 unsigned stk3; 19525 unsigned stk4; 19526 stk4 = D & T; 19527 stk3 = S | stk4; 19528 stk2 = T ^ stk3; 19529 stk1 = D ^ stk2; 19530 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 19531} 19532 19533/* DTSDTaoxx source transparent/pattern opaque. */ 19534static unsigned xrop3_182_1_0 (unsigned char s, unsigned char t) 19535{ 19536 unsigned D = 0x00ff; 19537 unsigned S = ((unsigned)s << 8) | s; 19538 unsigned T = ((unsigned)t << 8) | t; 19539 unsigned stk1; 19540 unsigned stk2; 19541 unsigned stk3; 19542 unsigned stk4; 19543 stk4 = D & T; 19544 stk3 = S | stk4; 19545 stk2 = T ^ stk3; 19546 stk1 = D ^ stk2; 19547 return (stk1 & (~S)) | (D & S); 19548} 19549 19550/* DTSDTaoxx source/pattern transparent. */ 19551static unsigned xrop3_182_1_1 (unsigned char s, unsigned char t) 19552{ 19553 unsigned D = 0x00ff; 19554 unsigned S = ((unsigned)s << 8) | s; 19555 unsigned T = ((unsigned)t << 8) | t; 19556 unsigned stk1; 19557 unsigned stk2; 19558 unsigned stk3; 19559 unsigned stk4; 19560 stk4 = D & T; 19561 stk3 = S | stk4; 19562 stk2 = T ^ stk3; 19563 stk1 = D ^ stk2; 19564 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 19565} 19566 19567/* SDTxan source/pattern opaque. */ 19568static void rop3_183_0_0 (unsigned char *D, unsigned char S, unsigned char T) 19569{ 19570 unsigned char stk1; 19571 unsigned char stk2; 19572 stk2 = *D ^ T; 19573 stk1 = S & stk2; 19574 stk1 = ~stk1; 19575 *D = stk1; 19576} 19577 19578/* SDTxan source opaque/pattern transparent. */ 19579static void rop3_183_0_1 (unsigned char *D, unsigned char S, unsigned char T) 19580{ 19581 unsigned char stk1; 19582 unsigned char stk2; 19583 stk2 = *D ^ T; 19584 stk1 = S & stk2; 19585 stk1 = ~stk1; 19586 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 19587} 19588 19589/* SDTxan source transparent/pattern opaque. */ 19590static void rop3_183_1_0 (unsigned char *D, unsigned char S, unsigned char T) 19591{ 19592 unsigned char stk1; 19593 unsigned char stk2; 19594 stk2 = *D ^ T; 19595 stk1 = S & stk2; 19596 stk1 = ~stk1; 19597 *D = (stk1 & (~S)) | (*D & S); 19598} 19599 19600/* SDTxan source/pattern transparent. */ 19601static void rop3_183_1_1 (unsigned char *D, unsigned char S, unsigned char T) 19602{ 19603 unsigned char stk1; 19604 unsigned char stk2; 19605 stk2 = *D ^ T; 19606 stk1 = S & stk2; 19607 stk1 = ~stk1; 19608 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 19609} 19610 19611/* SDTxan source/pattern opaque. */ 19612static unsigned xrop3_183_0_0 (unsigned char s, unsigned char t) 19613{ 19614 unsigned D = 0x00ff; 19615 unsigned S = ((unsigned)s << 8) | s; 19616 unsigned T = ((unsigned)t << 8) | t; 19617 unsigned stk1; 19618 unsigned stk2; 19619 stk2 = D ^ T; 19620 stk1 = S & stk2; 19621 stk1 = ~stk1; 19622 return stk1; 19623} 19624 19625/* SDTxan source opaque/pattern transparent. */ 19626static unsigned xrop3_183_0_1 (unsigned char s, unsigned char t) 19627{ 19628 unsigned D = 0x00ff; 19629 unsigned S = ((unsigned)s << 8) | s; 19630 unsigned T = ((unsigned)t << 8) | t; 19631 unsigned stk1; 19632 unsigned stk2; 19633 stk2 = D ^ T; 19634 stk1 = S & stk2; 19635 stk1 = ~stk1; 19636 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 19637} 19638 19639/* SDTxan source transparent/pattern opaque. */ 19640static unsigned xrop3_183_1_0 (unsigned char s, unsigned char t) 19641{ 19642 unsigned D = 0x00ff; 19643 unsigned S = ((unsigned)s << 8) | s; 19644 unsigned T = ((unsigned)t << 8) | t; 19645 unsigned stk1; 19646 unsigned stk2; 19647 stk2 = D ^ T; 19648 stk1 = S & stk2; 19649 stk1 = ~stk1; 19650 return (stk1 & (~S)) | (D & S); 19651} 19652 19653/* SDTxan source/pattern transparent. */ 19654static unsigned xrop3_183_1_1 (unsigned char s, unsigned char t) 19655{ 19656 unsigned D = 0x00ff; 19657 unsigned S = ((unsigned)s << 8) | s; 19658 unsigned T = ((unsigned)t << 8) | t; 19659 unsigned stk1; 19660 unsigned stk2; 19661 stk2 = D ^ T; 19662 stk1 = S & stk2; 19663 stk1 = ~stk1; 19664 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 19665} 19666 19667/* TSDTxax source/pattern opaque. */ 19668static void rop3_184_0_0 (unsigned char *D, unsigned char S, unsigned char T) 19669{ 19670 unsigned char stk1; 19671 unsigned char stk2; 19672 unsigned char stk3; 19673 stk3 = *D ^ T; 19674 stk2 = S & stk3; 19675 stk1 = T ^ stk2; 19676 *D = stk1; 19677} 19678 19679/* TSDTxax source opaque/pattern transparent. */ 19680static void rop3_184_0_1 (unsigned char *D, unsigned char S, unsigned char T) 19681{ 19682 unsigned char stk1; 19683 unsigned char stk2; 19684 unsigned char stk3; 19685 stk3 = *D ^ T; 19686 stk2 = S & stk3; 19687 stk1 = T ^ stk2; 19688 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 19689} 19690 19691/* TSDTxax source transparent/pattern opaque. */ 19692static void rop3_184_1_0 (unsigned char *D, unsigned char S, unsigned char T) 19693{ 19694 unsigned char stk1; 19695 unsigned char stk2; 19696 unsigned char stk3; 19697 stk3 = *D ^ T; 19698 stk2 = S & stk3; 19699 stk1 = T ^ stk2; 19700 *D = (stk1 & (~S)) | (*D & S); 19701} 19702 19703/* TSDTxax source/pattern transparent. */ 19704static void rop3_184_1_1 (unsigned char *D, unsigned char S, unsigned char T) 19705{ 19706 unsigned char stk1; 19707 unsigned char stk2; 19708 unsigned char stk3; 19709 stk3 = *D ^ T; 19710 stk2 = S & stk3; 19711 stk1 = T ^ stk2; 19712 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 19713} 19714 19715/* TSDTxax source/pattern opaque. */ 19716static unsigned xrop3_184_0_0 (unsigned char s, unsigned char t) 19717{ 19718 unsigned D = 0x00ff; 19719 unsigned S = ((unsigned)s << 8) | s; 19720 unsigned T = ((unsigned)t << 8) | t; 19721 unsigned stk1; 19722 unsigned stk2; 19723 unsigned stk3; 19724 stk3 = D ^ T; 19725 stk2 = S & stk3; 19726 stk1 = T ^ stk2; 19727 return stk1; 19728} 19729 19730/* TSDTxax source opaque/pattern transparent. */ 19731static unsigned xrop3_184_0_1 (unsigned char s, unsigned char t) 19732{ 19733 unsigned D = 0x00ff; 19734 unsigned S = ((unsigned)s << 8) | s; 19735 unsigned T = ((unsigned)t << 8) | t; 19736 unsigned stk1; 19737 unsigned stk2; 19738 unsigned stk3; 19739 stk3 = D ^ T; 19740 stk2 = S & stk3; 19741 stk1 = T ^ stk2; 19742 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 19743} 19744 19745/* TSDTxax source transparent/pattern opaque. */ 19746static unsigned xrop3_184_1_0 (unsigned char s, unsigned char t) 19747{ 19748 unsigned D = 0x00ff; 19749 unsigned S = ((unsigned)s << 8) | s; 19750 unsigned T = ((unsigned)t << 8) | t; 19751 unsigned stk1; 19752 unsigned stk2; 19753 unsigned stk3; 19754 stk3 = D ^ T; 19755 stk2 = S & stk3; 19756 stk1 = T ^ stk2; 19757 return (stk1 & (~S)) | (D & S); 19758} 19759 19760/* TSDTxax source/pattern transparent. */ 19761static unsigned xrop3_184_1_1 (unsigned char s, unsigned char t) 19762{ 19763 unsigned D = 0x00ff; 19764 unsigned S = ((unsigned)s << 8) | s; 19765 unsigned T = ((unsigned)t << 8) | t; 19766 unsigned stk1; 19767 unsigned stk2; 19768 unsigned stk3; 19769 stk3 = D ^ T; 19770 stk2 = S & stk3; 19771 stk1 = T ^ stk2; 19772 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 19773} 19774 19775/* DSTDaoxn source/pattern opaque. */ 19776static void rop3_185_0_0 (unsigned char *D, unsigned char S, unsigned char T) 19777{ 19778 unsigned char stk1; 19779 unsigned char stk2; 19780 unsigned char stk3; 19781 stk3 = T & *D; 19782 stk2 = S | stk3; 19783 stk1 = *D ^ stk2; 19784 stk1 = ~stk1; 19785 *D = stk1; 19786} 19787 19788/* DSTDaoxn source opaque/pattern transparent. */ 19789static void rop3_185_0_1 (unsigned char *D, unsigned char S, unsigned char T) 19790{ 19791 unsigned char stk1; 19792 unsigned char stk2; 19793 unsigned char stk3; 19794 stk3 = T & *D; 19795 stk2 = S | stk3; 19796 stk1 = *D ^ stk2; 19797 stk1 = ~stk1; 19798 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 19799} 19800 19801/* DSTDaoxn source transparent/pattern opaque. */ 19802static void rop3_185_1_0 (unsigned char *D, unsigned char S, unsigned char T) 19803{ 19804 unsigned char stk1; 19805 unsigned char stk2; 19806 unsigned char stk3; 19807 stk3 = T & *D; 19808 stk2 = S | stk3; 19809 stk1 = *D ^ stk2; 19810 stk1 = ~stk1; 19811 *D = (stk1 & (~S)) | (*D & S); 19812} 19813 19814/* DSTDaoxn source/pattern transparent. */ 19815static void rop3_185_1_1 (unsigned char *D, unsigned char S, unsigned char T) 19816{ 19817 unsigned char stk1; 19818 unsigned char stk2; 19819 unsigned char stk3; 19820 stk3 = T & *D; 19821 stk2 = S | stk3; 19822 stk1 = *D ^ stk2; 19823 stk1 = ~stk1; 19824 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 19825} 19826 19827/* DSTDaoxn source/pattern opaque. */ 19828static unsigned xrop3_185_0_0 (unsigned char s, unsigned char t) 19829{ 19830 unsigned D = 0x00ff; 19831 unsigned S = ((unsigned)s << 8) | s; 19832 unsigned T = ((unsigned)t << 8) | t; 19833 unsigned stk1; 19834 unsigned stk2; 19835 unsigned stk3; 19836 stk3 = T & D; 19837 stk2 = S | stk3; 19838 stk1 = D ^ stk2; 19839 stk1 = ~stk1; 19840 return stk1; 19841} 19842 19843/* DSTDaoxn source opaque/pattern transparent. */ 19844static unsigned xrop3_185_0_1 (unsigned char s, unsigned char t) 19845{ 19846 unsigned D = 0x00ff; 19847 unsigned S = ((unsigned)s << 8) | s; 19848 unsigned T = ((unsigned)t << 8) | t; 19849 unsigned stk1; 19850 unsigned stk2; 19851 unsigned stk3; 19852 stk3 = T & D; 19853 stk2 = S | stk3; 19854 stk1 = D ^ stk2; 19855 stk1 = ~stk1; 19856 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 19857} 19858 19859/* DSTDaoxn source transparent/pattern opaque. */ 19860static unsigned xrop3_185_1_0 (unsigned char s, unsigned char t) 19861{ 19862 unsigned D = 0x00ff; 19863 unsigned S = ((unsigned)s << 8) | s; 19864 unsigned T = ((unsigned)t << 8) | t; 19865 unsigned stk1; 19866 unsigned stk2; 19867 unsigned stk3; 19868 stk3 = T & D; 19869 stk2 = S | stk3; 19870 stk1 = D ^ stk2; 19871 stk1 = ~stk1; 19872 return (stk1 & (~S)) | (D & S); 19873} 19874 19875/* DSTDaoxn source/pattern transparent. */ 19876static unsigned xrop3_185_1_1 (unsigned char s, unsigned char t) 19877{ 19878 unsigned D = 0x00ff; 19879 unsigned S = ((unsigned)s << 8) | s; 19880 unsigned T = ((unsigned)t << 8) | t; 19881 unsigned stk1; 19882 unsigned stk2; 19883 unsigned stk3; 19884 stk3 = T & D; 19885 stk2 = S | stk3; 19886 stk1 = D ^ stk2; 19887 stk1 = ~stk1; 19888 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 19889} 19890 19891/* DTSnao source/pattern opaque. */ 19892static void rop3_186_0_0 (unsigned char *D, unsigned char S, unsigned char T) 19893{ 19894 unsigned char stk1; 19895 unsigned char stk2; 19896 unsigned char stk3; 19897 stk3 = ~S; 19898 stk2 = T & stk3; 19899 stk1 = *D | stk2; 19900 *D = stk1; 19901} 19902 19903/* DTSnao source opaque/pattern transparent. */ 19904static void rop3_186_0_1 (unsigned char *D, unsigned char S, unsigned char T) 19905{ 19906 unsigned char stk1; 19907 unsigned char stk2; 19908 unsigned char stk3; 19909 stk3 = ~S; 19910 stk2 = T & stk3; 19911 stk1 = *D | stk2; 19912 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 19913} 19914 19915/* DTSnao source transparent/pattern opaque. */ 19916static void rop3_186_1_0 (unsigned char *D, unsigned char S, unsigned char T) 19917{ 19918 unsigned char stk1; 19919 unsigned char stk2; 19920 unsigned char stk3; 19921 stk3 = ~S; 19922 stk2 = T & stk3; 19923 stk1 = *D | stk2; 19924 *D = (stk1 & (~S)) | (*D & S); 19925} 19926 19927/* DTSnao source/pattern transparent. */ 19928static void rop3_186_1_1 (unsigned char *D, unsigned char S, unsigned char T) 19929{ 19930 unsigned char stk1; 19931 unsigned char stk2; 19932 unsigned char stk3; 19933 stk3 = ~S; 19934 stk2 = T & stk3; 19935 stk1 = *D | stk2; 19936 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 19937} 19938 19939/* DTSnao source/pattern opaque. */ 19940static unsigned xrop3_186_0_0 (unsigned char s, unsigned char t) 19941{ 19942 unsigned D = 0x00ff; 19943 unsigned S = ((unsigned)s << 8) | s; 19944 unsigned T = ((unsigned)t << 8) | t; 19945 unsigned stk1; 19946 unsigned stk2; 19947 unsigned stk3; 19948 stk3 = ~S; 19949 stk2 = T & stk3; 19950 stk1 = D | stk2; 19951 return stk1; 19952} 19953 19954/* DTSnao source opaque/pattern transparent. */ 19955static unsigned xrop3_186_0_1 (unsigned char s, unsigned char t) 19956{ 19957 unsigned D = 0x00ff; 19958 unsigned S = ((unsigned)s << 8) | s; 19959 unsigned T = ((unsigned)t << 8) | t; 19960 unsigned stk1; 19961 unsigned stk2; 19962 unsigned stk3; 19963 stk3 = ~S; 19964 stk2 = T & stk3; 19965 stk1 = D | stk2; 19966 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 19967} 19968 19969/* DTSnao source transparent/pattern opaque. */ 19970static unsigned xrop3_186_1_0 (unsigned char s, unsigned char t) 19971{ 19972 unsigned D = 0x00ff; 19973 unsigned S = ((unsigned)s << 8) | s; 19974 unsigned T = ((unsigned)t << 8) | t; 19975 unsigned stk1; 19976 unsigned stk2; 19977 unsigned stk3; 19978 stk3 = ~S; 19979 stk2 = T & stk3; 19980 stk1 = D | stk2; 19981 return (stk1 & (~S)) | (D & S); 19982} 19983 19984/* DTSnao source/pattern transparent. */ 19985static unsigned xrop3_186_1_1 (unsigned char s, unsigned char t) 19986{ 19987 unsigned D = 0x00ff; 19988 unsigned S = ((unsigned)s << 8) | s; 19989 unsigned T = ((unsigned)t << 8) | t; 19990 unsigned stk1; 19991 unsigned stk2; 19992 unsigned stk3; 19993 stk3 = ~S; 19994 stk2 = T & stk3; 19995 stk1 = D | stk2; 19996 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 19997} 19998 19999/* DSno source/pattern opaque. */ 20000static void rop3_187_0_0 (unsigned char *D, unsigned char S, unsigned char T) 20001{ 20002 unsigned char stk1; 20003 unsigned char stk2; 20004 stk2 = ~S; 20005 stk1 = *D | stk2; 20006 *D = stk1; 20007} 20008 20009/* DSno source opaque/pattern transparent. */ 20010static void rop3_187_0_1 (unsigned char *D, unsigned char S, unsigned char T) 20011{ 20012 unsigned char stk1; 20013 unsigned char stk2; 20014 stk2 = ~S; 20015 stk1 = *D | stk2; 20016 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 20017} 20018 20019/* DSno source transparent/pattern opaque. */ 20020static void rop3_187_1_0 (unsigned char *D, unsigned char S, unsigned char T) 20021{ 20022 unsigned char stk1; 20023 unsigned char stk2; 20024 stk2 = ~S; 20025 stk1 = *D | stk2; 20026 *D = (stk1 & (~S)) | (*D & S); 20027} 20028 20029/* DSno source/pattern transparent. */ 20030static void rop3_187_1_1 (unsigned char *D, unsigned char S, unsigned char T) 20031{ 20032 unsigned char stk1; 20033 unsigned char stk2; 20034 stk2 = ~S; 20035 stk1 = *D | stk2; 20036 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 20037} 20038 20039/* DSno source/pattern opaque. */ 20040static unsigned xrop3_187_0_0 (unsigned char s, unsigned char t) 20041{ 20042 unsigned D = 0x00ff; 20043 unsigned S = ((unsigned)s << 8) | s; 20044 unsigned stk1; 20045 unsigned stk2; 20046 stk2 = ~S; 20047 stk1 = D | stk2; 20048 return stk1; 20049} 20050 20051/* DSno source opaque/pattern transparent. */ 20052static unsigned xrop3_187_0_1 (unsigned char s, unsigned char t) 20053{ 20054 unsigned D = 0x00ff; 20055 unsigned S = ((unsigned)s << 8) | s; 20056 unsigned T = ((unsigned)t << 8) | t; 20057 unsigned stk1; 20058 unsigned stk2; 20059 stk2 = ~S; 20060 stk1 = D | stk2; 20061 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 20062} 20063 20064/* DSno source transparent/pattern opaque. */ 20065static unsigned xrop3_187_1_0 (unsigned char s, unsigned char t) 20066{ 20067 unsigned D = 0x00ff; 20068 unsigned S = ((unsigned)s << 8) | s; 20069 unsigned stk1; 20070 unsigned stk2; 20071 stk2 = ~S; 20072 stk1 = D | stk2; 20073 return (stk1 & (~S)) | (D & S); 20074} 20075 20076/* DSno source/pattern transparent. */ 20077static unsigned xrop3_187_1_1 (unsigned char s, unsigned char t) 20078{ 20079 unsigned D = 0x00ff; 20080 unsigned S = ((unsigned)s << 8) | s; 20081 unsigned T = ((unsigned)t << 8) | t; 20082 unsigned stk1; 20083 unsigned stk2; 20084 stk2 = ~S; 20085 stk1 = D | stk2; 20086 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 20087} 20088 20089/* STDSanax source/pattern opaque. */ 20090static void rop3_188_0_0 (unsigned char *D, unsigned char S, unsigned char T) 20091{ 20092 unsigned char stk1; 20093 unsigned char stk2; 20094 unsigned char stk3; 20095 stk3 = *D & S; 20096 stk3 = ~stk3; 20097 stk2 = T & stk3; 20098 stk1 = S ^ stk2; 20099 *D = stk1; 20100} 20101 20102/* STDSanax source opaque/pattern transparent. */ 20103static void rop3_188_0_1 (unsigned char *D, unsigned char S, unsigned char T) 20104{ 20105 unsigned char stk1; 20106 unsigned char stk2; 20107 unsigned char stk3; 20108 stk3 = *D & S; 20109 stk3 = ~stk3; 20110 stk2 = T & stk3; 20111 stk1 = S ^ stk2; 20112 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 20113} 20114 20115/* STDSanax source transparent/pattern opaque. */ 20116static void rop3_188_1_0 (unsigned char *D, unsigned char S, unsigned char T) 20117{ 20118 unsigned char stk1; 20119 unsigned char stk2; 20120 unsigned char stk3; 20121 stk3 = *D & S; 20122 stk3 = ~stk3; 20123 stk2 = T & stk3; 20124 stk1 = S ^ stk2; 20125 *D = (stk1 & (~S)) | (*D & S); 20126} 20127 20128/* STDSanax source/pattern transparent. */ 20129static void rop3_188_1_1 (unsigned char *D, unsigned char S, unsigned char T) 20130{ 20131 unsigned char stk1; 20132 unsigned char stk2; 20133 unsigned char stk3; 20134 stk3 = *D & S; 20135 stk3 = ~stk3; 20136 stk2 = T & stk3; 20137 stk1 = S ^ stk2; 20138 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 20139} 20140 20141/* STDSanax source/pattern opaque. */ 20142static unsigned xrop3_188_0_0 (unsigned char s, unsigned char t) 20143{ 20144 unsigned D = 0x00ff; 20145 unsigned S = ((unsigned)s << 8) | s; 20146 unsigned T = ((unsigned)t << 8) | t; 20147 unsigned stk1; 20148 unsigned stk2; 20149 unsigned stk3; 20150 stk3 = D & S; 20151 stk3 = ~stk3; 20152 stk2 = T & stk3; 20153 stk1 = S ^ stk2; 20154 return stk1; 20155} 20156 20157/* STDSanax source opaque/pattern transparent. */ 20158static unsigned xrop3_188_0_1 (unsigned char s, unsigned char t) 20159{ 20160 unsigned D = 0x00ff; 20161 unsigned S = ((unsigned)s << 8) | s; 20162 unsigned T = ((unsigned)t << 8) | t; 20163 unsigned stk1; 20164 unsigned stk2; 20165 unsigned stk3; 20166 stk3 = D & S; 20167 stk3 = ~stk3; 20168 stk2 = T & stk3; 20169 stk1 = S ^ stk2; 20170 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 20171} 20172 20173/* STDSanax source transparent/pattern opaque. */ 20174static unsigned xrop3_188_1_0 (unsigned char s, unsigned char t) 20175{ 20176 unsigned D = 0x00ff; 20177 unsigned S = ((unsigned)s << 8) | s; 20178 unsigned T = ((unsigned)t << 8) | t; 20179 unsigned stk1; 20180 unsigned stk2; 20181 unsigned stk3; 20182 stk3 = D & S; 20183 stk3 = ~stk3; 20184 stk2 = T & stk3; 20185 stk1 = S ^ stk2; 20186 return (stk1 & (~S)) | (D & S); 20187} 20188 20189/* STDSanax source/pattern transparent. */ 20190static unsigned xrop3_188_1_1 (unsigned char s, unsigned char t) 20191{ 20192 unsigned D = 0x00ff; 20193 unsigned S = ((unsigned)s << 8) | s; 20194 unsigned T = ((unsigned)t << 8) | t; 20195 unsigned stk1; 20196 unsigned stk2; 20197 unsigned stk3; 20198 stk3 = D & S; 20199 stk3 = ~stk3; 20200 stk2 = T & stk3; 20201 stk1 = S ^ stk2; 20202 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 20203} 20204 20205/* SDxTDxan source/pattern opaque. */ 20206static void rop3_189_0_0 (unsigned char *D, unsigned char S, unsigned char T) 20207{ 20208 unsigned char stk1; 20209 unsigned char stk2; 20210 stk1 = S ^ *D; 20211 stk2 = T ^ *D; 20212 stk1 = stk1 & stk2; 20213 stk1 = ~stk1; 20214 *D = stk1; 20215} 20216 20217/* SDxTDxan source opaque/pattern transparent. */ 20218static void rop3_189_0_1 (unsigned char *D, unsigned char S, unsigned char T) 20219{ 20220 unsigned char stk1; 20221 unsigned char stk2; 20222 stk1 = S ^ *D; 20223 stk2 = T ^ *D; 20224 stk1 = stk1 & stk2; 20225 stk1 = ~stk1; 20226 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 20227} 20228 20229/* SDxTDxan source transparent/pattern opaque. */ 20230static void rop3_189_1_0 (unsigned char *D, unsigned char S, unsigned char T) 20231{ 20232 unsigned char stk1; 20233 unsigned char stk2; 20234 stk1 = S ^ *D; 20235 stk2 = T ^ *D; 20236 stk1 = stk1 & stk2; 20237 stk1 = ~stk1; 20238 *D = (stk1 & (~S)) | (*D & S); 20239} 20240 20241/* SDxTDxan source/pattern transparent. */ 20242static void rop3_189_1_1 (unsigned char *D, unsigned char S, unsigned char T) 20243{ 20244 unsigned char stk1; 20245 unsigned char stk2; 20246 stk1 = S ^ *D; 20247 stk2 = T ^ *D; 20248 stk1 = stk1 & stk2; 20249 stk1 = ~stk1; 20250 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 20251} 20252 20253/* SDxTDxan source/pattern opaque. */ 20254static unsigned xrop3_189_0_0 (unsigned char s, unsigned char t) 20255{ 20256 unsigned D = 0x00ff; 20257 unsigned S = ((unsigned)s << 8) | s; 20258 unsigned T = ((unsigned)t << 8) | t; 20259 unsigned stk1; 20260 unsigned stk2; 20261 stk1 = S ^ D; 20262 stk2 = T ^ D; 20263 stk1 = stk1 & stk2; 20264 stk1 = ~stk1; 20265 return stk1; 20266} 20267 20268/* SDxTDxan source opaque/pattern transparent. */ 20269static unsigned xrop3_189_0_1 (unsigned char s, unsigned char t) 20270{ 20271 unsigned D = 0x00ff; 20272 unsigned S = ((unsigned)s << 8) | s; 20273 unsigned T = ((unsigned)t << 8) | t; 20274 unsigned stk1; 20275 unsigned stk2; 20276 stk1 = S ^ D; 20277 stk2 = T ^ D; 20278 stk1 = stk1 & stk2; 20279 stk1 = ~stk1; 20280 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 20281} 20282 20283/* SDxTDxan source transparent/pattern opaque. */ 20284static unsigned xrop3_189_1_0 (unsigned char s, unsigned char t) 20285{ 20286 unsigned D = 0x00ff; 20287 unsigned S = ((unsigned)s << 8) | s; 20288 unsigned T = ((unsigned)t << 8) | t; 20289 unsigned stk1; 20290 unsigned stk2; 20291 stk1 = S ^ D; 20292 stk2 = T ^ D; 20293 stk1 = stk1 & stk2; 20294 stk1 = ~stk1; 20295 return (stk1 & (~S)) | (D & S); 20296} 20297 20298/* SDxTDxan source/pattern transparent. */ 20299static unsigned xrop3_189_1_1 (unsigned char s, unsigned char t) 20300{ 20301 unsigned D = 0x00ff; 20302 unsigned S = ((unsigned)s << 8) | s; 20303 unsigned T = ((unsigned)t << 8) | t; 20304 unsigned stk1; 20305 unsigned stk2; 20306 stk1 = S ^ D; 20307 stk2 = T ^ D; 20308 stk1 = stk1 & stk2; 20309 stk1 = ~stk1; 20310 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 20311} 20312 20313/* DTSxo source/pattern opaque. */ 20314static void rop3_190_0_0 (unsigned char *D, unsigned char S, unsigned char T) 20315{ 20316 unsigned char stk1; 20317 unsigned char stk2; 20318 stk2 = T ^ S; 20319 stk1 = *D | stk2; 20320 *D = stk1; 20321} 20322 20323/* DTSxo source opaque/pattern transparent. */ 20324static void rop3_190_0_1 (unsigned char *D, unsigned char S, unsigned char T) 20325{ 20326 unsigned char stk1; 20327 unsigned char stk2; 20328 stk2 = T ^ S; 20329 stk1 = *D | stk2; 20330 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 20331} 20332 20333/* DTSxo source transparent/pattern opaque. */ 20334static void rop3_190_1_0 (unsigned char *D, unsigned char S, unsigned char T) 20335{ 20336 unsigned char stk1; 20337 unsigned char stk2; 20338 stk2 = T ^ S; 20339 stk1 = *D | stk2; 20340 *D = (stk1 & (~S)) | (*D & S); 20341} 20342 20343/* DTSxo source/pattern transparent. */ 20344static void rop3_190_1_1 (unsigned char *D, unsigned char S, unsigned char T) 20345{ 20346 unsigned char stk1; 20347 unsigned char stk2; 20348 stk2 = T ^ S; 20349 stk1 = *D | stk2; 20350 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 20351} 20352 20353/* DTSxo source/pattern opaque. */ 20354static unsigned xrop3_190_0_0 (unsigned char s, unsigned char t) 20355{ 20356 unsigned D = 0x00ff; 20357 unsigned S = ((unsigned)s << 8) | s; 20358 unsigned T = ((unsigned)t << 8) | t; 20359 unsigned stk1; 20360 unsigned stk2; 20361 stk2 = T ^ S; 20362 stk1 = D | stk2; 20363 return stk1; 20364} 20365 20366/* DTSxo source opaque/pattern transparent. */ 20367static unsigned xrop3_190_0_1 (unsigned char s, unsigned char t) 20368{ 20369 unsigned D = 0x00ff; 20370 unsigned S = ((unsigned)s << 8) | s; 20371 unsigned T = ((unsigned)t << 8) | t; 20372 unsigned stk1; 20373 unsigned stk2; 20374 stk2 = T ^ S; 20375 stk1 = D | stk2; 20376 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 20377} 20378 20379/* DTSxo source transparent/pattern opaque. */ 20380static unsigned xrop3_190_1_0 (unsigned char s, unsigned char t) 20381{ 20382 unsigned D = 0x00ff; 20383 unsigned S = ((unsigned)s << 8) | s; 20384 unsigned T = ((unsigned)t << 8) | t; 20385 unsigned stk1; 20386 unsigned stk2; 20387 stk2 = T ^ S; 20388 stk1 = D | stk2; 20389 return (stk1 & (~S)) | (D & S); 20390} 20391 20392/* DTSxo source/pattern transparent. */ 20393static unsigned xrop3_190_1_1 (unsigned char s, unsigned char t) 20394{ 20395 unsigned D = 0x00ff; 20396 unsigned S = ((unsigned)s << 8) | s; 20397 unsigned T = ((unsigned)t << 8) | t; 20398 unsigned stk1; 20399 unsigned stk2; 20400 stk2 = T ^ S; 20401 stk1 = D | stk2; 20402 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 20403} 20404 20405/* DTSano source/pattern opaque. */ 20406static void rop3_191_0_0 (unsigned char *D, unsigned char S, unsigned char T) 20407{ 20408 unsigned char stk1; 20409 unsigned char stk2; 20410 stk2 = T & S; 20411 stk2 = ~stk2; 20412 stk1 = *D | stk2; 20413 *D = stk1; 20414} 20415 20416/* DTSano source opaque/pattern transparent. */ 20417static void rop3_191_0_1 (unsigned char *D, unsigned char S, unsigned char T) 20418{ 20419 unsigned char stk1; 20420 unsigned char stk2; 20421 stk2 = T & S; 20422 stk2 = ~stk2; 20423 stk1 = *D | stk2; 20424 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 20425} 20426 20427/* DTSano source transparent/pattern opaque. */ 20428static void rop3_191_1_0 (unsigned char *D, unsigned char S, unsigned char T) 20429{ 20430 unsigned char stk1; 20431 unsigned char stk2; 20432 stk2 = T & S; 20433 stk2 = ~stk2; 20434 stk1 = *D | stk2; 20435 *D = (stk1 & (~S)) | (*D & S); 20436} 20437 20438/* DTSano source/pattern transparent. */ 20439static void rop3_191_1_1 (unsigned char *D, unsigned char S, unsigned char T) 20440{ 20441 unsigned char stk1; 20442 unsigned char stk2; 20443 stk2 = T & S; 20444 stk2 = ~stk2; 20445 stk1 = *D | stk2; 20446 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 20447} 20448 20449/* DTSano source/pattern opaque. */ 20450static unsigned xrop3_191_0_0 (unsigned char s, unsigned char t) 20451{ 20452 unsigned D = 0x00ff; 20453 unsigned S = ((unsigned)s << 8) | s; 20454 unsigned T = ((unsigned)t << 8) | t; 20455 unsigned stk1; 20456 unsigned stk2; 20457 stk2 = T & S; 20458 stk2 = ~stk2; 20459 stk1 = D | stk2; 20460 return stk1; 20461} 20462 20463/* DTSano source opaque/pattern transparent. */ 20464static unsigned xrop3_191_0_1 (unsigned char s, unsigned char t) 20465{ 20466 unsigned D = 0x00ff; 20467 unsigned S = ((unsigned)s << 8) | s; 20468 unsigned T = ((unsigned)t << 8) | t; 20469 unsigned stk1; 20470 unsigned stk2; 20471 stk2 = T & S; 20472 stk2 = ~stk2; 20473 stk1 = D | stk2; 20474 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 20475} 20476 20477/* DTSano source transparent/pattern opaque. */ 20478static unsigned xrop3_191_1_0 (unsigned char s, unsigned char t) 20479{ 20480 unsigned D = 0x00ff; 20481 unsigned S = ((unsigned)s << 8) | s; 20482 unsigned T = ((unsigned)t << 8) | t; 20483 unsigned stk1; 20484 unsigned stk2; 20485 stk2 = T & S; 20486 stk2 = ~stk2; 20487 stk1 = D | stk2; 20488 return (stk1 & (~S)) | (D & S); 20489} 20490 20491/* DTSano source/pattern transparent. */ 20492static unsigned xrop3_191_1_1 (unsigned char s, unsigned char t) 20493{ 20494 unsigned D = 0x00ff; 20495 unsigned S = ((unsigned)s << 8) | s; 20496 unsigned T = ((unsigned)t << 8) | t; 20497 unsigned stk1; 20498 unsigned stk2; 20499 stk2 = T & S; 20500 stk2 = ~stk2; 20501 stk1 = D | stk2; 20502 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 20503} 20504 20505/* TSa source/pattern opaque. */ 20506static void rop3_192_0_0 (unsigned char *D, unsigned char S, unsigned char T) 20507{ 20508 unsigned char stk1; 20509 stk1 = T & S; 20510 *D = stk1; 20511} 20512 20513/* TSa source opaque/pattern transparent. */ 20514static void rop3_192_0_1 (unsigned char *D, unsigned char S, unsigned char T) 20515{ 20516 unsigned char stk1; 20517 stk1 = T & S; 20518 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 20519} 20520 20521/* TSa source transparent/pattern opaque. */ 20522static void rop3_192_1_0 (unsigned char *D, unsigned char S, unsigned char T) 20523{ 20524 unsigned char stk1; 20525 stk1 = T & S; 20526 *D = (stk1 & (~S)) | (*D & S); 20527} 20528 20529/* TSa source/pattern transparent. */ 20530static void rop3_192_1_1 (unsigned char *D, unsigned char S, unsigned char T) 20531{ 20532 unsigned char stk1; 20533 stk1 = T & S; 20534 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 20535} 20536 20537/* TSa source/pattern opaque. */ 20538static unsigned xrop3_192_0_0 (unsigned char s, unsigned char t) 20539{ 20540 unsigned S = ((unsigned)s << 8) | s; 20541 unsigned T = ((unsigned)t << 8) | t; 20542 unsigned stk1; 20543 stk1 = T & S; 20544 return stk1; 20545} 20546 20547/* TSa source opaque/pattern transparent. */ 20548static unsigned xrop3_192_0_1 (unsigned char s, unsigned char t) 20549{ 20550 unsigned D = 0x00ff; 20551 unsigned S = ((unsigned)s << 8) | s; 20552 unsigned T = ((unsigned)t << 8) | t; 20553 unsigned stk1; 20554 stk1 = T & S; 20555 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 20556} 20557 20558/* TSa source transparent/pattern opaque. */ 20559static unsigned xrop3_192_1_0 (unsigned char s, unsigned char t) 20560{ 20561 unsigned D = 0x00ff; 20562 unsigned S = ((unsigned)s << 8) | s; 20563 unsigned T = ((unsigned)t << 8) | t; 20564 unsigned stk1; 20565 stk1 = T & S; 20566 return (stk1 & (~S)) | (D & S); 20567} 20568 20569/* TSa source/pattern transparent. */ 20570static unsigned xrop3_192_1_1 (unsigned char s, unsigned char t) 20571{ 20572 unsigned D = 0x00ff; 20573 unsigned S = ((unsigned)s << 8) | s; 20574 unsigned T = ((unsigned)t << 8) | t; 20575 unsigned stk1; 20576 stk1 = T & S; 20577 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 20578} 20579 20580/* STDSnaoxn source/pattern opaque. */ 20581static void rop3_193_0_0 (unsigned char *D, unsigned char S, unsigned char T) 20582{ 20583 unsigned char stk1; 20584 unsigned char stk2; 20585 unsigned char stk3; 20586 unsigned char stk4; 20587 stk4 = ~S; 20588 stk3 = *D & stk4; 20589 stk2 = T | stk3; 20590 stk1 = S ^ stk2; 20591 stk1 = ~stk1; 20592 *D = stk1; 20593} 20594 20595/* STDSnaoxn source opaque/pattern transparent. */ 20596static void rop3_193_0_1 (unsigned char *D, unsigned char S, unsigned char T) 20597{ 20598 unsigned char stk1; 20599 unsigned char stk2; 20600 unsigned char stk3; 20601 unsigned char stk4; 20602 stk4 = ~S; 20603 stk3 = *D & stk4; 20604 stk2 = T | stk3; 20605 stk1 = S ^ stk2; 20606 stk1 = ~stk1; 20607 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 20608} 20609 20610/* STDSnaoxn source transparent/pattern opaque. */ 20611static void rop3_193_1_0 (unsigned char *D, unsigned char S, unsigned char T) 20612{ 20613 unsigned char stk1; 20614 unsigned char stk2; 20615 unsigned char stk3; 20616 unsigned char stk4; 20617 stk4 = ~S; 20618 stk3 = *D & stk4; 20619 stk2 = T | stk3; 20620 stk1 = S ^ stk2; 20621 stk1 = ~stk1; 20622 *D = (stk1 & (~S)) | (*D & S); 20623} 20624 20625/* STDSnaoxn source/pattern transparent. */ 20626static void rop3_193_1_1 (unsigned char *D, unsigned char S, unsigned char T) 20627{ 20628 unsigned char stk1; 20629 unsigned char stk2; 20630 unsigned char stk3; 20631 unsigned char stk4; 20632 stk4 = ~S; 20633 stk3 = *D & stk4; 20634 stk2 = T | stk3; 20635 stk1 = S ^ stk2; 20636 stk1 = ~stk1; 20637 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 20638} 20639 20640/* STDSnaoxn source/pattern opaque. */ 20641static unsigned xrop3_193_0_0 (unsigned char s, unsigned char t) 20642{ 20643 unsigned D = 0x00ff; 20644 unsigned S = ((unsigned)s << 8) | s; 20645 unsigned T = ((unsigned)t << 8) | t; 20646 unsigned stk1; 20647 unsigned stk2; 20648 unsigned stk3; 20649 unsigned stk4; 20650 stk4 = ~S; 20651 stk3 = D & stk4; 20652 stk2 = T | stk3; 20653 stk1 = S ^ stk2; 20654 stk1 = ~stk1; 20655 return stk1; 20656} 20657 20658/* STDSnaoxn source opaque/pattern transparent. */ 20659static unsigned xrop3_193_0_1 (unsigned char s, unsigned char t) 20660{ 20661 unsigned D = 0x00ff; 20662 unsigned S = ((unsigned)s << 8) | s; 20663 unsigned T = ((unsigned)t << 8) | t; 20664 unsigned stk1; 20665 unsigned stk2; 20666 unsigned stk3; 20667 unsigned stk4; 20668 stk4 = ~S; 20669 stk3 = D & stk4; 20670 stk2 = T | stk3; 20671 stk1 = S ^ stk2; 20672 stk1 = ~stk1; 20673 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 20674} 20675 20676/* STDSnaoxn source transparent/pattern opaque. */ 20677static unsigned xrop3_193_1_0 (unsigned char s, unsigned char t) 20678{ 20679 unsigned D = 0x00ff; 20680 unsigned S = ((unsigned)s << 8) | s; 20681 unsigned T = ((unsigned)t << 8) | t; 20682 unsigned stk1; 20683 unsigned stk2; 20684 unsigned stk3; 20685 unsigned stk4; 20686 stk4 = ~S; 20687 stk3 = D & stk4; 20688 stk2 = T | stk3; 20689 stk1 = S ^ stk2; 20690 stk1 = ~stk1; 20691 return (stk1 & (~S)) | (D & S); 20692} 20693 20694/* STDSnaoxn source/pattern transparent. */ 20695static unsigned xrop3_193_1_1 (unsigned char s, unsigned char t) 20696{ 20697 unsigned D = 0x00ff; 20698 unsigned S = ((unsigned)s << 8) | s; 20699 unsigned T = ((unsigned)t << 8) | t; 20700 unsigned stk1; 20701 unsigned stk2; 20702 unsigned stk3; 20703 unsigned stk4; 20704 stk4 = ~S; 20705 stk3 = D & stk4; 20706 stk2 = T | stk3; 20707 stk1 = S ^ stk2; 20708 stk1 = ~stk1; 20709 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 20710} 20711 20712/* STDSonoxn source/pattern opaque. */ 20713static void rop3_194_0_0 (unsigned char *D, unsigned char S, unsigned char T) 20714{ 20715 unsigned char stk1; 20716 unsigned char stk2; 20717 unsigned char stk3; 20718 stk3 = *D | S; 20719 stk3 = ~stk3; 20720 stk2 = T | stk3; 20721 stk1 = S ^ stk2; 20722 stk1 = ~stk1; 20723 *D = stk1; 20724} 20725 20726/* STDSonoxn source opaque/pattern transparent. */ 20727static void rop3_194_0_1 (unsigned char *D, unsigned char S, unsigned char T) 20728{ 20729 unsigned char stk1; 20730 unsigned char stk2; 20731 unsigned char stk3; 20732 stk3 = *D | S; 20733 stk3 = ~stk3; 20734 stk2 = T | stk3; 20735 stk1 = S ^ stk2; 20736 stk1 = ~stk1; 20737 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 20738} 20739 20740/* STDSonoxn source transparent/pattern opaque. */ 20741static void rop3_194_1_0 (unsigned char *D, unsigned char S, unsigned char T) 20742{ 20743 unsigned char stk1; 20744 unsigned char stk2; 20745 unsigned char stk3; 20746 stk3 = *D | S; 20747 stk3 = ~stk3; 20748 stk2 = T | stk3; 20749 stk1 = S ^ stk2; 20750 stk1 = ~stk1; 20751 *D = (stk1 & (~S)) | (*D & S); 20752} 20753 20754/* STDSonoxn source/pattern transparent. */ 20755static void rop3_194_1_1 (unsigned char *D, unsigned char S, unsigned char T) 20756{ 20757 unsigned char stk1; 20758 unsigned char stk2; 20759 unsigned char stk3; 20760 stk3 = *D | S; 20761 stk3 = ~stk3; 20762 stk2 = T | stk3; 20763 stk1 = S ^ stk2; 20764 stk1 = ~stk1; 20765 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 20766} 20767 20768/* STDSonoxn source/pattern opaque. */ 20769static unsigned xrop3_194_0_0 (unsigned char s, unsigned char t) 20770{ 20771 unsigned D = 0x00ff; 20772 unsigned S = ((unsigned)s << 8) | s; 20773 unsigned T = ((unsigned)t << 8) | t; 20774 unsigned stk1; 20775 unsigned stk2; 20776 unsigned stk3; 20777 stk3 = D | S; 20778 stk3 = ~stk3; 20779 stk2 = T | stk3; 20780 stk1 = S ^ stk2; 20781 stk1 = ~stk1; 20782 return stk1; 20783} 20784 20785/* STDSonoxn source opaque/pattern transparent. */ 20786static unsigned xrop3_194_0_1 (unsigned char s, unsigned char t) 20787{ 20788 unsigned D = 0x00ff; 20789 unsigned S = ((unsigned)s << 8) | s; 20790 unsigned T = ((unsigned)t << 8) | t; 20791 unsigned stk1; 20792 unsigned stk2; 20793 unsigned stk3; 20794 stk3 = D | S; 20795 stk3 = ~stk3; 20796 stk2 = T | stk3; 20797 stk1 = S ^ stk2; 20798 stk1 = ~stk1; 20799 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 20800} 20801 20802/* STDSonoxn source transparent/pattern opaque. */ 20803static unsigned xrop3_194_1_0 (unsigned char s, unsigned char t) 20804{ 20805 unsigned D = 0x00ff; 20806 unsigned S = ((unsigned)s << 8) | s; 20807 unsigned T = ((unsigned)t << 8) | t; 20808 unsigned stk1; 20809 unsigned stk2; 20810 unsigned stk3; 20811 stk3 = D | S; 20812 stk3 = ~stk3; 20813 stk2 = T | stk3; 20814 stk1 = S ^ stk2; 20815 stk1 = ~stk1; 20816 return (stk1 & (~S)) | (D & S); 20817} 20818 20819/* STDSonoxn source/pattern transparent. */ 20820static unsigned xrop3_194_1_1 (unsigned char s, unsigned char t) 20821{ 20822 unsigned D = 0x00ff; 20823 unsigned S = ((unsigned)s << 8) | s; 20824 unsigned T = ((unsigned)t << 8) | t; 20825 unsigned stk1; 20826 unsigned stk2; 20827 unsigned stk3; 20828 stk3 = D | S; 20829 stk3 = ~stk3; 20830 stk2 = T | stk3; 20831 stk1 = S ^ stk2; 20832 stk1 = ~stk1; 20833 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 20834} 20835 20836/* TSxn source/pattern opaque. */ 20837static void rop3_195_0_0 (unsigned char *D, unsigned char S, unsigned char T) 20838{ 20839 unsigned char stk1; 20840 stk1 = T ^ S; 20841 stk1 = ~stk1; 20842 *D = stk1; 20843} 20844 20845/* TSxn source opaque/pattern transparent. */ 20846static void rop3_195_0_1 (unsigned char *D, unsigned char S, unsigned char T) 20847{ 20848 unsigned char stk1; 20849 stk1 = T ^ S; 20850 stk1 = ~stk1; 20851 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 20852} 20853 20854/* TSxn source transparent/pattern opaque. */ 20855static void rop3_195_1_0 (unsigned char *D, unsigned char S, unsigned char T) 20856{ 20857 unsigned char stk1; 20858 stk1 = T ^ S; 20859 stk1 = ~stk1; 20860 *D = (stk1 & (~S)) | (*D & S); 20861} 20862 20863/* TSxn source/pattern transparent. */ 20864static void rop3_195_1_1 (unsigned char *D, unsigned char S, unsigned char T) 20865{ 20866 unsigned char stk1; 20867 stk1 = T ^ S; 20868 stk1 = ~stk1; 20869 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 20870} 20871 20872/* TSxn source/pattern opaque. */ 20873static unsigned xrop3_195_0_0 (unsigned char s, unsigned char t) 20874{ 20875 unsigned S = ((unsigned)s << 8) | s; 20876 unsigned T = ((unsigned)t << 8) | t; 20877 unsigned stk1; 20878 stk1 = T ^ S; 20879 stk1 = ~stk1; 20880 return stk1; 20881} 20882 20883/* TSxn source opaque/pattern transparent. */ 20884static unsigned xrop3_195_0_1 (unsigned char s, unsigned char t) 20885{ 20886 unsigned D = 0x00ff; 20887 unsigned S = ((unsigned)s << 8) | s; 20888 unsigned T = ((unsigned)t << 8) | t; 20889 unsigned stk1; 20890 stk1 = T ^ S; 20891 stk1 = ~stk1; 20892 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 20893} 20894 20895/* TSxn source transparent/pattern opaque. */ 20896static unsigned xrop3_195_1_0 (unsigned char s, unsigned char t) 20897{ 20898 unsigned D = 0x00ff; 20899 unsigned S = ((unsigned)s << 8) | s; 20900 unsigned T = ((unsigned)t << 8) | t; 20901 unsigned stk1; 20902 stk1 = T ^ S; 20903 stk1 = ~stk1; 20904 return (stk1 & (~S)) | (D & S); 20905} 20906 20907/* TSxn source/pattern transparent. */ 20908static unsigned xrop3_195_1_1 (unsigned char s, unsigned char t) 20909{ 20910 unsigned D = 0x00ff; 20911 unsigned S = ((unsigned)s << 8) | s; 20912 unsigned T = ((unsigned)t << 8) | t; 20913 unsigned stk1; 20914 stk1 = T ^ S; 20915 stk1 = ~stk1; 20916 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 20917} 20918 20919/* STDnoa source/pattern opaque. */ 20920static void rop3_196_0_0 (unsigned char *D, unsigned char S, unsigned char T) 20921{ 20922 unsigned char stk1; 20923 unsigned char stk2; 20924 unsigned char stk3; 20925 stk3 = ~*D; 20926 stk2 = T | stk3; 20927 stk1 = S & stk2; 20928 *D = stk1; 20929} 20930 20931/* STDnoa source opaque/pattern transparent. */ 20932static void rop3_196_0_1 (unsigned char *D, unsigned char S, unsigned char T) 20933{ 20934 unsigned char stk1; 20935 unsigned char stk2; 20936 unsigned char stk3; 20937 stk3 = ~*D; 20938 stk2 = T | stk3; 20939 stk1 = S & stk2; 20940 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 20941} 20942 20943/* STDnoa source transparent/pattern opaque. */ 20944static void rop3_196_1_0 (unsigned char *D, unsigned char S, unsigned char T) 20945{ 20946 unsigned char stk1; 20947 unsigned char stk2; 20948 unsigned char stk3; 20949 stk3 = ~*D; 20950 stk2 = T | stk3; 20951 stk1 = S & stk2; 20952 *D = (stk1 & (~S)) | (*D & S); 20953} 20954 20955/* STDnoa source/pattern transparent. */ 20956static void rop3_196_1_1 (unsigned char *D, unsigned char S, unsigned char T) 20957{ 20958 unsigned char stk1; 20959 unsigned char stk2; 20960 unsigned char stk3; 20961 stk3 = ~*D; 20962 stk2 = T | stk3; 20963 stk1 = S & stk2; 20964 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 20965} 20966 20967/* STDnoa source/pattern opaque. */ 20968static unsigned xrop3_196_0_0 (unsigned char s, unsigned char t) 20969{ 20970 unsigned D = 0x00ff; 20971 unsigned S = ((unsigned)s << 8) | s; 20972 unsigned T = ((unsigned)t << 8) | t; 20973 unsigned stk1; 20974 unsigned stk2; 20975 unsigned stk3; 20976 stk3 = ~D; 20977 stk2 = T | stk3; 20978 stk1 = S & stk2; 20979 return stk1; 20980} 20981 20982/* STDnoa source opaque/pattern transparent. */ 20983static unsigned xrop3_196_0_1 (unsigned char s, unsigned char t) 20984{ 20985 unsigned D = 0x00ff; 20986 unsigned S = ((unsigned)s << 8) | s; 20987 unsigned T = ((unsigned)t << 8) | t; 20988 unsigned stk1; 20989 unsigned stk2; 20990 unsigned stk3; 20991 stk3 = ~D; 20992 stk2 = T | stk3; 20993 stk1 = S & stk2; 20994 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 20995} 20996 20997/* STDnoa source transparent/pattern opaque. */ 20998static unsigned xrop3_196_1_0 (unsigned char s, unsigned char t) 20999{ 21000 unsigned D = 0x00ff; 21001 unsigned S = ((unsigned)s << 8) | s; 21002 unsigned T = ((unsigned)t << 8) | t; 21003 unsigned stk1; 21004 unsigned stk2; 21005 unsigned stk3; 21006 stk3 = ~D; 21007 stk2 = T | stk3; 21008 stk1 = S & stk2; 21009 return (stk1 & (~S)) | (D & S); 21010} 21011 21012/* STDnoa source/pattern transparent. */ 21013static unsigned xrop3_196_1_1 (unsigned char s, unsigned char t) 21014{ 21015 unsigned D = 0x00ff; 21016 unsigned S = ((unsigned)s << 8) | s; 21017 unsigned T = ((unsigned)t << 8) | t; 21018 unsigned stk1; 21019 unsigned stk2; 21020 unsigned stk3; 21021 stk3 = ~D; 21022 stk2 = T | stk3; 21023 stk1 = S & stk2; 21024 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 21025} 21026 21027/* STDSxoxn source/pattern opaque. */ 21028static void rop3_197_0_0 (unsigned char *D, unsigned char S, unsigned char T) 21029{ 21030 unsigned char stk1; 21031 unsigned char stk2; 21032 unsigned char stk3; 21033 stk3 = *D ^ S; 21034 stk2 = T | stk3; 21035 stk1 = S ^ stk2; 21036 stk1 = ~stk1; 21037 *D = stk1; 21038} 21039 21040/* STDSxoxn source opaque/pattern transparent. */ 21041static void rop3_197_0_1 (unsigned char *D, unsigned char S, unsigned char T) 21042{ 21043 unsigned char stk1; 21044 unsigned char stk2; 21045 unsigned char stk3; 21046 stk3 = *D ^ S; 21047 stk2 = T | stk3; 21048 stk1 = S ^ stk2; 21049 stk1 = ~stk1; 21050 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 21051} 21052 21053/* STDSxoxn source transparent/pattern opaque. */ 21054static void rop3_197_1_0 (unsigned char *D, unsigned char S, unsigned char T) 21055{ 21056 unsigned char stk1; 21057 unsigned char stk2; 21058 unsigned char stk3; 21059 stk3 = *D ^ S; 21060 stk2 = T | stk3; 21061 stk1 = S ^ stk2; 21062 stk1 = ~stk1; 21063 *D = (stk1 & (~S)) | (*D & S); 21064} 21065 21066/* STDSxoxn source/pattern transparent. */ 21067static void rop3_197_1_1 (unsigned char *D, unsigned char S, unsigned char T) 21068{ 21069 unsigned char stk1; 21070 unsigned char stk2; 21071 unsigned char stk3; 21072 stk3 = *D ^ S; 21073 stk2 = T | stk3; 21074 stk1 = S ^ stk2; 21075 stk1 = ~stk1; 21076 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 21077} 21078 21079/* STDSxoxn source/pattern opaque. */ 21080static unsigned xrop3_197_0_0 (unsigned char s, unsigned char t) 21081{ 21082 unsigned D = 0x00ff; 21083 unsigned S = ((unsigned)s << 8) | s; 21084 unsigned T = ((unsigned)t << 8) | t; 21085 unsigned stk1; 21086 unsigned stk2; 21087 unsigned stk3; 21088 stk3 = D ^ S; 21089 stk2 = T | stk3; 21090 stk1 = S ^ stk2; 21091 stk1 = ~stk1; 21092 return stk1; 21093} 21094 21095/* STDSxoxn source opaque/pattern transparent. */ 21096static unsigned xrop3_197_0_1 (unsigned char s, unsigned char t) 21097{ 21098 unsigned D = 0x00ff; 21099 unsigned S = ((unsigned)s << 8) | s; 21100 unsigned T = ((unsigned)t << 8) | t; 21101 unsigned stk1; 21102 unsigned stk2; 21103 unsigned stk3; 21104 stk3 = D ^ S; 21105 stk2 = T | stk3; 21106 stk1 = S ^ stk2; 21107 stk1 = ~stk1; 21108 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 21109} 21110 21111/* STDSxoxn source transparent/pattern opaque. */ 21112static unsigned xrop3_197_1_0 (unsigned char s, unsigned char t) 21113{ 21114 unsigned D = 0x00ff; 21115 unsigned S = ((unsigned)s << 8) | s; 21116 unsigned T = ((unsigned)t << 8) | t; 21117 unsigned stk1; 21118 unsigned stk2; 21119 unsigned stk3; 21120 stk3 = D ^ S; 21121 stk2 = T | stk3; 21122 stk1 = S ^ stk2; 21123 stk1 = ~stk1; 21124 return (stk1 & (~S)) | (D & S); 21125} 21126 21127/* STDSxoxn source/pattern transparent. */ 21128static unsigned xrop3_197_1_1 (unsigned char s, unsigned char t) 21129{ 21130 unsigned D = 0x00ff; 21131 unsigned S = ((unsigned)s << 8) | s; 21132 unsigned T = ((unsigned)t << 8) | t; 21133 unsigned stk1; 21134 unsigned stk2; 21135 unsigned stk3; 21136 stk3 = D ^ S; 21137 stk2 = T | stk3; 21138 stk1 = S ^ stk2; 21139 stk1 = ~stk1; 21140 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 21141} 21142 21143/* SDTnax source/pattern opaque. */ 21144static void rop3_198_0_0 (unsigned char *D, unsigned char S, unsigned char T) 21145{ 21146 unsigned char stk1; 21147 unsigned char stk2; 21148 unsigned char stk3; 21149 stk3 = ~T; 21150 stk2 = *D & stk3; 21151 stk1 = S ^ stk2; 21152 *D = stk1; 21153} 21154 21155/* SDTnax source opaque/pattern transparent. */ 21156static void rop3_198_0_1 (unsigned char *D, unsigned char S, unsigned char T) 21157{ 21158 unsigned char stk1; 21159 unsigned char stk2; 21160 unsigned char stk3; 21161 stk3 = ~T; 21162 stk2 = *D & stk3; 21163 stk1 = S ^ stk2; 21164 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 21165} 21166 21167/* SDTnax source transparent/pattern opaque. */ 21168static void rop3_198_1_0 (unsigned char *D, unsigned char S, unsigned char T) 21169{ 21170 unsigned char stk1; 21171 unsigned char stk2; 21172 unsigned char stk3; 21173 stk3 = ~T; 21174 stk2 = *D & stk3; 21175 stk1 = S ^ stk2; 21176 *D = (stk1 & (~S)) | (*D & S); 21177} 21178 21179/* SDTnax source/pattern transparent. */ 21180static void rop3_198_1_1 (unsigned char *D, unsigned char S, unsigned char T) 21181{ 21182 unsigned char stk1; 21183 unsigned char stk2; 21184 unsigned char stk3; 21185 stk3 = ~T; 21186 stk2 = *D & stk3; 21187 stk1 = S ^ stk2; 21188 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 21189} 21190 21191/* SDTnax source/pattern opaque. */ 21192static unsigned xrop3_198_0_0 (unsigned char s, unsigned char t) 21193{ 21194 unsigned D = 0x00ff; 21195 unsigned S = ((unsigned)s << 8) | s; 21196 unsigned T = ((unsigned)t << 8) | t; 21197 unsigned stk1; 21198 unsigned stk2; 21199 unsigned stk3; 21200 stk3 = ~T; 21201 stk2 = D & stk3; 21202 stk1 = S ^ stk2; 21203 return stk1; 21204} 21205 21206/* SDTnax source opaque/pattern transparent. */ 21207static unsigned xrop3_198_0_1 (unsigned char s, unsigned char t) 21208{ 21209 unsigned D = 0x00ff; 21210 unsigned S = ((unsigned)s << 8) | s; 21211 unsigned T = ((unsigned)t << 8) | t; 21212 unsigned stk1; 21213 unsigned stk2; 21214 unsigned stk3; 21215 stk3 = ~T; 21216 stk2 = D & stk3; 21217 stk1 = S ^ stk2; 21218 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 21219} 21220 21221/* SDTnax source transparent/pattern opaque. */ 21222static unsigned xrop3_198_1_0 (unsigned char s, unsigned char t) 21223{ 21224 unsigned D = 0x00ff; 21225 unsigned S = ((unsigned)s << 8) | s; 21226 unsigned T = ((unsigned)t << 8) | t; 21227 unsigned stk1; 21228 unsigned stk2; 21229 unsigned stk3; 21230 stk3 = ~T; 21231 stk2 = D & stk3; 21232 stk1 = S ^ stk2; 21233 return (stk1 & (~S)) | (D & S); 21234} 21235 21236/* SDTnax source/pattern transparent. */ 21237static unsigned xrop3_198_1_1 (unsigned char s, unsigned char t) 21238{ 21239 unsigned D = 0x00ff; 21240 unsigned S = ((unsigned)s << 8) | s; 21241 unsigned T = ((unsigned)t << 8) | t; 21242 unsigned stk1; 21243 unsigned stk2; 21244 unsigned stk3; 21245 stk3 = ~T; 21246 stk2 = D & stk3; 21247 stk1 = S ^ stk2; 21248 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 21249} 21250 21251/* TSDToaxn source/pattern opaque. */ 21252static void rop3_199_0_0 (unsigned char *D, unsigned char S, unsigned char T) 21253{ 21254 unsigned char stk1; 21255 unsigned char stk2; 21256 unsigned char stk3; 21257 stk3 = *D | T; 21258 stk2 = S & stk3; 21259 stk1 = T ^ stk2; 21260 stk1 = ~stk1; 21261 *D = stk1; 21262} 21263 21264/* TSDToaxn source opaque/pattern transparent. */ 21265static void rop3_199_0_1 (unsigned char *D, unsigned char S, unsigned char T) 21266{ 21267 unsigned char stk1; 21268 unsigned char stk2; 21269 unsigned char stk3; 21270 stk3 = *D | T; 21271 stk2 = S & stk3; 21272 stk1 = T ^ stk2; 21273 stk1 = ~stk1; 21274 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 21275} 21276 21277/* TSDToaxn source transparent/pattern opaque. */ 21278static void rop3_199_1_0 (unsigned char *D, unsigned char S, unsigned char T) 21279{ 21280 unsigned char stk1; 21281 unsigned char stk2; 21282 unsigned char stk3; 21283 stk3 = *D | T; 21284 stk2 = S & stk3; 21285 stk1 = T ^ stk2; 21286 stk1 = ~stk1; 21287 *D = (stk1 & (~S)) | (*D & S); 21288} 21289 21290/* TSDToaxn source/pattern transparent. */ 21291static void rop3_199_1_1 (unsigned char *D, unsigned char S, unsigned char T) 21292{ 21293 unsigned char stk1; 21294 unsigned char stk2; 21295 unsigned char stk3; 21296 stk3 = *D | T; 21297 stk2 = S & stk3; 21298 stk1 = T ^ stk2; 21299 stk1 = ~stk1; 21300 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 21301} 21302 21303/* TSDToaxn source/pattern opaque. */ 21304static unsigned xrop3_199_0_0 (unsigned char s, unsigned char t) 21305{ 21306 unsigned D = 0x00ff; 21307 unsigned S = ((unsigned)s << 8) | s; 21308 unsigned T = ((unsigned)t << 8) | t; 21309 unsigned stk1; 21310 unsigned stk2; 21311 unsigned stk3; 21312 stk3 = D | T; 21313 stk2 = S & stk3; 21314 stk1 = T ^ stk2; 21315 stk1 = ~stk1; 21316 return stk1; 21317} 21318 21319/* TSDToaxn source opaque/pattern transparent. */ 21320static unsigned xrop3_199_0_1 (unsigned char s, unsigned char t) 21321{ 21322 unsigned D = 0x00ff; 21323 unsigned S = ((unsigned)s << 8) | s; 21324 unsigned T = ((unsigned)t << 8) | t; 21325 unsigned stk1; 21326 unsigned stk2; 21327 unsigned stk3; 21328 stk3 = D | T; 21329 stk2 = S & stk3; 21330 stk1 = T ^ stk2; 21331 stk1 = ~stk1; 21332 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 21333} 21334 21335/* TSDToaxn source transparent/pattern opaque. */ 21336static unsigned xrop3_199_1_0 (unsigned char s, unsigned char t) 21337{ 21338 unsigned D = 0x00ff; 21339 unsigned S = ((unsigned)s << 8) | s; 21340 unsigned T = ((unsigned)t << 8) | t; 21341 unsigned stk1; 21342 unsigned stk2; 21343 unsigned stk3; 21344 stk3 = D | T; 21345 stk2 = S & stk3; 21346 stk1 = T ^ stk2; 21347 stk1 = ~stk1; 21348 return (stk1 & (~S)) | (D & S); 21349} 21350 21351/* TSDToaxn source/pattern transparent. */ 21352static unsigned xrop3_199_1_1 (unsigned char s, unsigned char t) 21353{ 21354 unsigned D = 0x00ff; 21355 unsigned S = ((unsigned)s << 8) | s; 21356 unsigned T = ((unsigned)t << 8) | t; 21357 unsigned stk1; 21358 unsigned stk2; 21359 unsigned stk3; 21360 stk3 = D | T; 21361 stk2 = S & stk3; 21362 stk1 = T ^ stk2; 21363 stk1 = ~stk1; 21364 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 21365} 21366 21367/* SDToa source/pattern opaque. */ 21368static void rop3_200_0_0 (unsigned char *D, unsigned char S, unsigned char T) 21369{ 21370 unsigned char stk1; 21371 unsigned char stk2; 21372 stk2 = *D | T; 21373 stk1 = S & stk2; 21374 *D = stk1; 21375} 21376 21377/* SDToa source opaque/pattern transparent. */ 21378static void rop3_200_0_1 (unsigned char *D, unsigned char S, unsigned char T) 21379{ 21380 unsigned char stk1; 21381 unsigned char stk2; 21382 stk2 = *D | T; 21383 stk1 = S & stk2; 21384 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 21385} 21386 21387/* SDToa source transparent/pattern opaque. */ 21388static void rop3_200_1_0 (unsigned char *D, unsigned char S, unsigned char T) 21389{ 21390 unsigned char stk1; 21391 unsigned char stk2; 21392 stk2 = *D | T; 21393 stk1 = S & stk2; 21394 *D = (stk1 & (~S)) | (*D & S); 21395} 21396 21397/* SDToa source/pattern transparent. */ 21398static void rop3_200_1_1 (unsigned char *D, unsigned char S, unsigned char T) 21399{ 21400 unsigned char stk1; 21401 unsigned char stk2; 21402 stk2 = *D | T; 21403 stk1 = S & stk2; 21404 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 21405} 21406 21407/* SDToa source/pattern opaque. */ 21408static unsigned xrop3_200_0_0 (unsigned char s, unsigned char t) 21409{ 21410 unsigned D = 0x00ff; 21411 unsigned S = ((unsigned)s << 8) | s; 21412 unsigned T = ((unsigned)t << 8) | t; 21413 unsigned stk1; 21414 unsigned stk2; 21415 stk2 = D | T; 21416 stk1 = S & stk2; 21417 return stk1; 21418} 21419 21420/* SDToa source opaque/pattern transparent. */ 21421static unsigned xrop3_200_0_1 (unsigned char s, unsigned char t) 21422{ 21423 unsigned D = 0x00ff; 21424 unsigned S = ((unsigned)s << 8) | s; 21425 unsigned T = ((unsigned)t << 8) | t; 21426 unsigned stk1; 21427 unsigned stk2; 21428 stk2 = D | T; 21429 stk1 = S & stk2; 21430 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 21431} 21432 21433/* SDToa source transparent/pattern opaque. */ 21434static unsigned xrop3_200_1_0 (unsigned char s, unsigned char t) 21435{ 21436 unsigned D = 0x00ff; 21437 unsigned S = ((unsigned)s << 8) | s; 21438 unsigned T = ((unsigned)t << 8) | t; 21439 unsigned stk1; 21440 unsigned stk2; 21441 stk2 = D | T; 21442 stk1 = S & stk2; 21443 return (stk1 & (~S)) | (D & S); 21444} 21445 21446/* SDToa source/pattern transparent. */ 21447static unsigned xrop3_200_1_1 (unsigned char s, unsigned char t) 21448{ 21449 unsigned D = 0x00ff; 21450 unsigned S = ((unsigned)s << 8) | s; 21451 unsigned T = ((unsigned)t << 8) | t; 21452 unsigned stk1; 21453 unsigned stk2; 21454 stk2 = D | T; 21455 stk1 = S & stk2; 21456 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 21457} 21458 21459/* STDoxn source/pattern opaque. */ 21460static void rop3_201_0_0 (unsigned char *D, unsigned char S, unsigned char T) 21461{ 21462 unsigned char stk1; 21463 unsigned char stk2; 21464 stk2 = T | *D; 21465 stk1 = S ^ stk2; 21466 stk1 = ~stk1; 21467 *D = stk1; 21468} 21469 21470/* STDoxn source opaque/pattern transparent. */ 21471static void rop3_201_0_1 (unsigned char *D, unsigned char S, unsigned char T) 21472{ 21473 unsigned char stk1; 21474 unsigned char stk2; 21475 stk2 = T | *D; 21476 stk1 = S ^ stk2; 21477 stk1 = ~stk1; 21478 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 21479} 21480 21481/* STDoxn source transparent/pattern opaque. */ 21482static void rop3_201_1_0 (unsigned char *D, unsigned char S, unsigned char T) 21483{ 21484 unsigned char stk1; 21485 unsigned char stk2; 21486 stk2 = T | *D; 21487 stk1 = S ^ stk2; 21488 stk1 = ~stk1; 21489 *D = (stk1 & (~S)) | (*D & S); 21490} 21491 21492/* STDoxn source/pattern transparent. */ 21493static void rop3_201_1_1 (unsigned char *D, unsigned char S, unsigned char T) 21494{ 21495 unsigned char stk1; 21496 unsigned char stk2; 21497 stk2 = T | *D; 21498 stk1 = S ^ stk2; 21499 stk1 = ~stk1; 21500 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 21501} 21502 21503/* STDoxn source/pattern opaque. */ 21504static unsigned xrop3_201_0_0 (unsigned char s, unsigned char t) 21505{ 21506 unsigned D = 0x00ff; 21507 unsigned S = ((unsigned)s << 8) | s; 21508 unsigned T = ((unsigned)t << 8) | t; 21509 unsigned stk1; 21510 unsigned stk2; 21511 stk2 = T | D; 21512 stk1 = S ^ stk2; 21513 stk1 = ~stk1; 21514 return stk1; 21515} 21516 21517/* STDoxn source opaque/pattern transparent. */ 21518static unsigned xrop3_201_0_1 (unsigned char s, unsigned char t) 21519{ 21520 unsigned D = 0x00ff; 21521 unsigned S = ((unsigned)s << 8) | s; 21522 unsigned T = ((unsigned)t << 8) | t; 21523 unsigned stk1; 21524 unsigned stk2; 21525 stk2 = T | D; 21526 stk1 = S ^ stk2; 21527 stk1 = ~stk1; 21528 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 21529} 21530 21531/* STDoxn source transparent/pattern opaque. */ 21532static unsigned xrop3_201_1_0 (unsigned char s, unsigned char t) 21533{ 21534 unsigned D = 0x00ff; 21535 unsigned S = ((unsigned)s << 8) | s; 21536 unsigned T = ((unsigned)t << 8) | t; 21537 unsigned stk1; 21538 unsigned stk2; 21539 stk2 = T | D; 21540 stk1 = S ^ stk2; 21541 stk1 = ~stk1; 21542 return (stk1 & (~S)) | (D & S); 21543} 21544 21545/* STDoxn source/pattern transparent. */ 21546static unsigned xrop3_201_1_1 (unsigned char s, unsigned char t) 21547{ 21548 unsigned D = 0x00ff; 21549 unsigned S = ((unsigned)s << 8) | s; 21550 unsigned T = ((unsigned)t << 8) | t; 21551 unsigned stk1; 21552 unsigned stk2; 21553 stk2 = T | D; 21554 stk1 = S ^ stk2; 21555 stk1 = ~stk1; 21556 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 21557} 21558 21559/* DTSDxax source/pattern opaque. */ 21560static void rop3_202_0_0 (unsigned char *D, unsigned char S, unsigned char T) 21561{ 21562 unsigned char stk1; 21563 unsigned char stk2; 21564 unsigned char stk3; 21565 stk3 = S ^ *D; 21566 stk2 = T & stk3; 21567 stk1 = *D ^ stk2; 21568 *D = stk1; 21569} 21570 21571/* DTSDxax source opaque/pattern transparent. */ 21572static void rop3_202_0_1 (unsigned char *D, unsigned char S, unsigned char T) 21573{ 21574 unsigned char stk1; 21575 unsigned char stk2; 21576 unsigned char stk3; 21577 stk3 = S ^ *D; 21578 stk2 = T & stk3; 21579 stk1 = *D ^ stk2; 21580 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 21581} 21582 21583/* DTSDxax source transparent/pattern opaque. */ 21584static void rop3_202_1_0 (unsigned char *D, unsigned char S, unsigned char T) 21585{ 21586 unsigned char stk1; 21587 unsigned char stk2; 21588 unsigned char stk3; 21589 stk3 = S ^ *D; 21590 stk2 = T & stk3; 21591 stk1 = *D ^ stk2; 21592 *D = (stk1 & (~S)) | (*D & S); 21593} 21594 21595/* DTSDxax source/pattern transparent. */ 21596static void rop3_202_1_1 (unsigned char *D, unsigned char S, unsigned char T) 21597{ 21598 unsigned char stk1; 21599 unsigned char stk2; 21600 unsigned char stk3; 21601 stk3 = S ^ *D; 21602 stk2 = T & stk3; 21603 stk1 = *D ^ stk2; 21604 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 21605} 21606 21607/* DTSDxax source/pattern opaque. */ 21608static unsigned xrop3_202_0_0 (unsigned char s, unsigned char t) 21609{ 21610 unsigned D = 0x00ff; 21611 unsigned S = ((unsigned)s << 8) | s; 21612 unsigned T = ((unsigned)t << 8) | t; 21613 unsigned stk1; 21614 unsigned stk2; 21615 unsigned stk3; 21616 stk3 = S ^ D; 21617 stk2 = T & stk3; 21618 stk1 = D ^ stk2; 21619 return stk1; 21620} 21621 21622/* DTSDxax source opaque/pattern transparent. */ 21623static unsigned xrop3_202_0_1 (unsigned char s, unsigned char t) 21624{ 21625 unsigned D = 0x00ff; 21626 unsigned S = ((unsigned)s << 8) | s; 21627 unsigned T = ((unsigned)t << 8) | t; 21628 unsigned stk1; 21629 unsigned stk2; 21630 unsigned stk3; 21631 stk3 = S ^ D; 21632 stk2 = T & stk3; 21633 stk1 = D ^ stk2; 21634 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 21635} 21636 21637/* DTSDxax source transparent/pattern opaque. */ 21638static unsigned xrop3_202_1_0 (unsigned char s, unsigned char t) 21639{ 21640 unsigned D = 0x00ff; 21641 unsigned S = ((unsigned)s << 8) | s; 21642 unsigned T = ((unsigned)t << 8) | t; 21643 unsigned stk1; 21644 unsigned stk2; 21645 unsigned stk3; 21646 stk3 = S ^ D; 21647 stk2 = T & stk3; 21648 stk1 = D ^ stk2; 21649 return (stk1 & (~S)) | (D & S); 21650} 21651 21652/* DTSDxax source/pattern transparent. */ 21653static unsigned xrop3_202_1_1 (unsigned char s, unsigned char t) 21654{ 21655 unsigned D = 0x00ff; 21656 unsigned S = ((unsigned)s << 8) | s; 21657 unsigned T = ((unsigned)t << 8) | t; 21658 unsigned stk1; 21659 unsigned stk2; 21660 unsigned stk3; 21661 stk3 = S ^ D; 21662 stk2 = T & stk3; 21663 stk1 = D ^ stk2; 21664 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 21665} 21666 21667/* STDSaoxn source/pattern opaque. */ 21668static void rop3_203_0_0 (unsigned char *D, unsigned char S, unsigned char T) 21669{ 21670 unsigned char stk1; 21671 unsigned char stk2; 21672 unsigned char stk3; 21673 stk3 = *D & S; 21674 stk2 = T | stk3; 21675 stk1 = S ^ stk2; 21676 stk1 = ~stk1; 21677 *D = stk1; 21678} 21679 21680/* STDSaoxn source opaque/pattern transparent. */ 21681static void rop3_203_0_1 (unsigned char *D, unsigned char S, unsigned char T) 21682{ 21683 unsigned char stk1; 21684 unsigned char stk2; 21685 unsigned char stk3; 21686 stk3 = *D & S; 21687 stk2 = T | stk3; 21688 stk1 = S ^ stk2; 21689 stk1 = ~stk1; 21690 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 21691} 21692 21693/* STDSaoxn source transparent/pattern opaque. */ 21694static void rop3_203_1_0 (unsigned char *D, unsigned char S, unsigned char T) 21695{ 21696 unsigned char stk1; 21697 unsigned char stk2; 21698 unsigned char stk3; 21699 stk3 = *D & S; 21700 stk2 = T | stk3; 21701 stk1 = S ^ stk2; 21702 stk1 = ~stk1; 21703 *D = (stk1 & (~S)) | (*D & S); 21704} 21705 21706/* STDSaoxn source/pattern transparent. */ 21707static void rop3_203_1_1 (unsigned char *D, unsigned char S, unsigned char T) 21708{ 21709 unsigned char stk1; 21710 unsigned char stk2; 21711 unsigned char stk3; 21712 stk3 = *D & S; 21713 stk2 = T | stk3; 21714 stk1 = S ^ stk2; 21715 stk1 = ~stk1; 21716 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 21717} 21718 21719/* STDSaoxn source/pattern opaque. */ 21720static unsigned xrop3_203_0_0 (unsigned char s, unsigned char t) 21721{ 21722 unsigned D = 0x00ff; 21723 unsigned S = ((unsigned)s << 8) | s; 21724 unsigned T = ((unsigned)t << 8) | t; 21725 unsigned stk1; 21726 unsigned stk2; 21727 unsigned stk3; 21728 stk3 = D & S; 21729 stk2 = T | stk3; 21730 stk1 = S ^ stk2; 21731 stk1 = ~stk1; 21732 return stk1; 21733} 21734 21735/* STDSaoxn source opaque/pattern transparent. */ 21736static unsigned xrop3_203_0_1 (unsigned char s, unsigned char t) 21737{ 21738 unsigned D = 0x00ff; 21739 unsigned S = ((unsigned)s << 8) | s; 21740 unsigned T = ((unsigned)t << 8) | t; 21741 unsigned stk1; 21742 unsigned stk2; 21743 unsigned stk3; 21744 stk3 = D & S; 21745 stk2 = T | stk3; 21746 stk1 = S ^ stk2; 21747 stk1 = ~stk1; 21748 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 21749} 21750 21751/* STDSaoxn source transparent/pattern opaque. */ 21752static unsigned xrop3_203_1_0 (unsigned char s, unsigned char t) 21753{ 21754 unsigned D = 0x00ff; 21755 unsigned S = ((unsigned)s << 8) | s; 21756 unsigned T = ((unsigned)t << 8) | t; 21757 unsigned stk1; 21758 unsigned stk2; 21759 unsigned stk3; 21760 stk3 = D & S; 21761 stk2 = T | stk3; 21762 stk1 = S ^ stk2; 21763 stk1 = ~stk1; 21764 return (stk1 & (~S)) | (D & S); 21765} 21766 21767/* STDSaoxn source/pattern transparent. */ 21768static unsigned xrop3_203_1_1 (unsigned char s, unsigned char t) 21769{ 21770 unsigned D = 0x00ff; 21771 unsigned S = ((unsigned)s << 8) | s; 21772 unsigned T = ((unsigned)t << 8) | t; 21773 unsigned stk1; 21774 unsigned stk2; 21775 unsigned stk3; 21776 stk3 = D & S; 21777 stk2 = T | stk3; 21778 stk1 = S ^ stk2; 21779 stk1 = ~stk1; 21780 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 21781} 21782 21783/* S source/pattern opaque. */ 21784static void rop3_204_0_0 (unsigned char *D, unsigned char S, unsigned char T) 21785{ 21786 *D = S; 21787} 21788 21789/* S source opaque/pattern transparent. */ 21790static void rop3_204_0_1 (unsigned char *D, unsigned char S, unsigned char T) 21791{ 21792 *D = (S & S) | (S & (~T)) | (T & (~S) & *D); 21793} 21794 21795/* S source transparent/pattern opaque. */ 21796static void rop3_204_1_0 (unsigned char *D, unsigned char S, unsigned char T) 21797{ 21798 *D = (S & (~S)) | (*D & S); 21799} 21800 21801/* S source/pattern transparent. */ 21802static void rop3_204_1_1 (unsigned char *D, unsigned char S, unsigned char T) 21803{ 21804 *D = (S & (~S) & (~T)) | (*D & S) | (*D & T); 21805} 21806 21807/* S source/pattern opaque. */ 21808static unsigned xrop3_204_0_0 (unsigned char s, unsigned char t) 21809{ 21810 unsigned S = ((unsigned)s << 8) | s; 21811 return S; 21812} 21813 21814/* S source opaque/pattern transparent. */ 21815static unsigned xrop3_204_0_1 (unsigned char s, unsigned char t) 21816{ 21817 unsigned D = 0x00ff; 21818 unsigned S = ((unsigned)s << 8) | s; 21819 unsigned T = ((unsigned)t << 8) | t; 21820 return (S & S) | (S & (~T)) | (T & (~S) & D); 21821} 21822 21823/* S source transparent/pattern opaque. */ 21824static unsigned xrop3_204_1_0 (unsigned char s, unsigned char t) 21825{ 21826 unsigned D = 0x00ff; 21827 unsigned S = ((unsigned)s << 8) | s; 21828 return (S & (~S)) | (D & S); 21829} 21830 21831/* S source/pattern transparent. */ 21832static unsigned xrop3_204_1_1 (unsigned char s, unsigned char t) 21833{ 21834 unsigned D = 0x00ff; 21835 unsigned S = ((unsigned)s << 8) | s; 21836 unsigned T = ((unsigned)t << 8) | t; 21837 return (S & (~S) & (~T)) | (D & S) | (D & T); 21838} 21839 21840/* SDTono source/pattern opaque. */ 21841static void rop3_205_0_0 (unsigned char *D, unsigned char S, unsigned char T) 21842{ 21843 unsigned char stk1; 21844 unsigned char stk2; 21845 stk2 = *D | T; 21846 stk2 = ~stk2; 21847 stk1 = S | stk2; 21848 *D = stk1; 21849} 21850 21851/* SDTono source opaque/pattern transparent. */ 21852static void rop3_205_0_1 (unsigned char *D, unsigned char S, unsigned char T) 21853{ 21854 unsigned char stk1; 21855 unsigned char stk2; 21856 stk2 = *D | T; 21857 stk2 = ~stk2; 21858 stk1 = S | stk2; 21859 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 21860} 21861 21862/* SDTono source transparent/pattern opaque. */ 21863static void rop3_205_1_0 (unsigned char *D, unsigned char S, unsigned char T) 21864{ 21865 unsigned char stk1; 21866 unsigned char stk2; 21867 stk2 = *D | T; 21868 stk2 = ~stk2; 21869 stk1 = S | stk2; 21870 *D = (stk1 & (~S)) | (*D & S); 21871} 21872 21873/* SDTono source/pattern transparent. */ 21874static void rop3_205_1_1 (unsigned char *D, unsigned char S, unsigned char T) 21875{ 21876 unsigned char stk1; 21877 unsigned char stk2; 21878 stk2 = *D | T; 21879 stk2 = ~stk2; 21880 stk1 = S | stk2; 21881 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 21882} 21883 21884/* SDTono source/pattern opaque. */ 21885static unsigned xrop3_205_0_0 (unsigned char s, unsigned char t) 21886{ 21887 unsigned D = 0x00ff; 21888 unsigned S = ((unsigned)s << 8) | s; 21889 unsigned T = ((unsigned)t << 8) | t; 21890 unsigned stk1; 21891 unsigned stk2; 21892 stk2 = D | T; 21893 stk2 = ~stk2; 21894 stk1 = S | stk2; 21895 return stk1; 21896} 21897 21898/* SDTono source opaque/pattern transparent. */ 21899static unsigned xrop3_205_0_1 (unsigned char s, unsigned char t) 21900{ 21901 unsigned D = 0x00ff; 21902 unsigned S = ((unsigned)s << 8) | s; 21903 unsigned T = ((unsigned)t << 8) | t; 21904 unsigned stk1; 21905 unsigned stk2; 21906 stk2 = D | T; 21907 stk2 = ~stk2; 21908 stk1 = S | stk2; 21909 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 21910} 21911 21912/* SDTono source transparent/pattern opaque. */ 21913static unsigned xrop3_205_1_0 (unsigned char s, unsigned char t) 21914{ 21915 unsigned D = 0x00ff; 21916 unsigned S = ((unsigned)s << 8) | s; 21917 unsigned T = ((unsigned)t << 8) | t; 21918 unsigned stk1; 21919 unsigned stk2; 21920 stk2 = D | T; 21921 stk2 = ~stk2; 21922 stk1 = S | stk2; 21923 return (stk1 & (~S)) | (D & S); 21924} 21925 21926/* SDTono source/pattern transparent. */ 21927static unsigned xrop3_205_1_1 (unsigned char s, unsigned char t) 21928{ 21929 unsigned D = 0x00ff; 21930 unsigned S = ((unsigned)s << 8) | s; 21931 unsigned T = ((unsigned)t << 8) | t; 21932 unsigned stk1; 21933 unsigned stk2; 21934 stk2 = D | T; 21935 stk2 = ~stk2; 21936 stk1 = S | stk2; 21937 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 21938} 21939 21940/* SDTnao source/pattern opaque. */ 21941static void rop3_206_0_0 (unsigned char *D, unsigned char S, unsigned char T) 21942{ 21943 unsigned char stk1; 21944 unsigned char stk2; 21945 unsigned char stk3; 21946 stk3 = ~T; 21947 stk2 = *D & stk3; 21948 stk1 = S | stk2; 21949 *D = stk1; 21950} 21951 21952/* SDTnao source opaque/pattern transparent. */ 21953static void rop3_206_0_1 (unsigned char *D, unsigned char S, unsigned char T) 21954{ 21955 unsigned char stk1; 21956 unsigned char stk2; 21957 unsigned char stk3; 21958 stk3 = ~T; 21959 stk2 = *D & stk3; 21960 stk1 = S | stk2; 21961 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 21962} 21963 21964/* SDTnao source transparent/pattern opaque. */ 21965static void rop3_206_1_0 (unsigned char *D, unsigned char S, unsigned char T) 21966{ 21967 unsigned char stk1; 21968 unsigned char stk2; 21969 unsigned char stk3; 21970 stk3 = ~T; 21971 stk2 = *D & stk3; 21972 stk1 = S | stk2; 21973 *D = (stk1 & (~S)) | (*D & S); 21974} 21975 21976/* SDTnao source/pattern transparent. */ 21977static void rop3_206_1_1 (unsigned char *D, unsigned char S, unsigned char T) 21978{ 21979 unsigned char stk1; 21980 unsigned char stk2; 21981 unsigned char stk3; 21982 stk3 = ~T; 21983 stk2 = *D & stk3; 21984 stk1 = S | stk2; 21985 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 21986} 21987 21988/* SDTnao source/pattern opaque. */ 21989static unsigned xrop3_206_0_0 (unsigned char s, unsigned char t) 21990{ 21991 unsigned D = 0x00ff; 21992 unsigned S = ((unsigned)s << 8) | s; 21993 unsigned T = ((unsigned)t << 8) | t; 21994 unsigned stk1; 21995 unsigned stk2; 21996 unsigned stk3; 21997 stk3 = ~T; 21998 stk2 = D & stk3; 21999 stk1 = S | stk2; 22000 return stk1; 22001} 22002 22003/* SDTnao source opaque/pattern transparent. */ 22004static unsigned xrop3_206_0_1 (unsigned char s, unsigned char t) 22005{ 22006 unsigned D = 0x00ff; 22007 unsigned S = ((unsigned)s << 8) | s; 22008 unsigned T = ((unsigned)t << 8) | t; 22009 unsigned stk1; 22010 unsigned stk2; 22011 unsigned stk3; 22012 stk3 = ~T; 22013 stk2 = D & stk3; 22014 stk1 = S | stk2; 22015 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 22016} 22017 22018/* SDTnao source transparent/pattern opaque. */ 22019static unsigned xrop3_206_1_0 (unsigned char s, unsigned char t) 22020{ 22021 unsigned D = 0x00ff; 22022 unsigned S = ((unsigned)s << 8) | s; 22023 unsigned T = ((unsigned)t << 8) | t; 22024 unsigned stk1; 22025 unsigned stk2; 22026 unsigned stk3; 22027 stk3 = ~T; 22028 stk2 = D & stk3; 22029 stk1 = S | stk2; 22030 return (stk1 & (~S)) | (D & S); 22031} 22032 22033/* SDTnao source/pattern transparent. */ 22034static unsigned xrop3_206_1_1 (unsigned char s, unsigned char t) 22035{ 22036 unsigned D = 0x00ff; 22037 unsigned S = ((unsigned)s << 8) | s; 22038 unsigned T = ((unsigned)t << 8) | t; 22039 unsigned stk1; 22040 unsigned stk2; 22041 unsigned stk3; 22042 stk3 = ~T; 22043 stk2 = D & stk3; 22044 stk1 = S | stk2; 22045 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 22046} 22047 22048/* STno source/pattern opaque. */ 22049static void rop3_207_0_0 (unsigned char *D, unsigned char S, unsigned char T) 22050{ 22051 unsigned char stk1; 22052 unsigned char stk2; 22053 stk2 = ~T; 22054 stk1 = S | stk2; 22055 *D = stk1; 22056} 22057 22058/* STno source opaque/pattern transparent. */ 22059static void rop3_207_0_1 (unsigned char *D, unsigned char S, unsigned char T) 22060{ 22061 unsigned char stk1; 22062 unsigned char stk2; 22063 stk2 = ~T; 22064 stk1 = S | stk2; 22065 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 22066} 22067 22068/* STno source transparent/pattern opaque. */ 22069static void rop3_207_1_0 (unsigned char *D, unsigned char S, unsigned char T) 22070{ 22071 unsigned char stk1; 22072 unsigned char stk2; 22073 stk2 = ~T; 22074 stk1 = S | stk2; 22075 *D = (stk1 & (~S)) | (*D & S); 22076} 22077 22078/* STno source/pattern transparent. */ 22079static void rop3_207_1_1 (unsigned char *D, unsigned char S, unsigned char T) 22080{ 22081 unsigned char stk1; 22082 unsigned char stk2; 22083 stk2 = ~T; 22084 stk1 = S | stk2; 22085 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 22086} 22087 22088/* STno source/pattern opaque. */ 22089static unsigned xrop3_207_0_0 (unsigned char s, unsigned char t) 22090{ 22091 unsigned S = ((unsigned)s << 8) | s; 22092 unsigned T = ((unsigned)t << 8) | t; 22093 unsigned stk1; 22094 unsigned stk2; 22095 stk2 = ~T; 22096 stk1 = S | stk2; 22097 return stk1; 22098} 22099 22100/* STno source opaque/pattern transparent. */ 22101static unsigned xrop3_207_0_1 (unsigned char s, unsigned char t) 22102{ 22103 unsigned D = 0x00ff; 22104 unsigned S = ((unsigned)s << 8) | s; 22105 unsigned T = ((unsigned)t << 8) | t; 22106 unsigned stk1; 22107 unsigned stk2; 22108 stk2 = ~T; 22109 stk1 = S | stk2; 22110 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 22111} 22112 22113/* STno source transparent/pattern opaque. */ 22114static unsigned xrop3_207_1_0 (unsigned char s, unsigned char t) 22115{ 22116 unsigned D = 0x00ff; 22117 unsigned S = ((unsigned)s << 8) | s; 22118 unsigned T = ((unsigned)t << 8) | t; 22119 unsigned stk1; 22120 unsigned stk2; 22121 stk2 = ~T; 22122 stk1 = S | stk2; 22123 return (stk1 & (~S)) | (D & S); 22124} 22125 22126/* STno source/pattern transparent. */ 22127static unsigned xrop3_207_1_1 (unsigned char s, unsigned char t) 22128{ 22129 unsigned D = 0x00ff; 22130 unsigned S = ((unsigned)s << 8) | s; 22131 unsigned T = ((unsigned)t << 8) | t; 22132 unsigned stk1; 22133 unsigned stk2; 22134 stk2 = ~T; 22135 stk1 = S | stk2; 22136 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 22137} 22138 22139/* TSDnoa source/pattern opaque. */ 22140static void rop3_208_0_0 (unsigned char *D, unsigned char S, unsigned char T) 22141{ 22142 unsigned char stk1; 22143 unsigned char stk2; 22144 unsigned char stk3; 22145 stk3 = ~*D; 22146 stk2 = S | stk3; 22147 stk1 = T & stk2; 22148 *D = stk1; 22149} 22150 22151/* TSDnoa source opaque/pattern transparent. */ 22152static void rop3_208_0_1 (unsigned char *D, unsigned char S, unsigned char T) 22153{ 22154 unsigned char stk1; 22155 unsigned char stk2; 22156 unsigned char stk3; 22157 stk3 = ~*D; 22158 stk2 = S | stk3; 22159 stk1 = T & stk2; 22160 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 22161} 22162 22163/* TSDnoa source transparent/pattern opaque. */ 22164static void rop3_208_1_0 (unsigned char *D, unsigned char S, unsigned char T) 22165{ 22166 unsigned char stk1; 22167 unsigned char stk2; 22168 unsigned char stk3; 22169 stk3 = ~*D; 22170 stk2 = S | stk3; 22171 stk1 = T & stk2; 22172 *D = (stk1 & (~S)) | (*D & S); 22173} 22174 22175/* TSDnoa source/pattern transparent. */ 22176static void rop3_208_1_1 (unsigned char *D, unsigned char S, unsigned char T) 22177{ 22178 unsigned char stk1; 22179 unsigned char stk2; 22180 unsigned char stk3; 22181 stk3 = ~*D; 22182 stk2 = S | stk3; 22183 stk1 = T & stk2; 22184 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 22185} 22186 22187/* TSDnoa source/pattern opaque. */ 22188static unsigned xrop3_208_0_0 (unsigned char s, unsigned char t) 22189{ 22190 unsigned D = 0x00ff; 22191 unsigned S = ((unsigned)s << 8) | s; 22192 unsigned T = ((unsigned)t << 8) | t; 22193 unsigned stk1; 22194 unsigned stk2; 22195 unsigned stk3; 22196 stk3 = ~D; 22197 stk2 = S | stk3; 22198 stk1 = T & stk2; 22199 return stk1; 22200} 22201 22202/* TSDnoa source opaque/pattern transparent. */ 22203static unsigned xrop3_208_0_1 (unsigned char s, unsigned char t) 22204{ 22205 unsigned D = 0x00ff; 22206 unsigned S = ((unsigned)s << 8) | s; 22207 unsigned T = ((unsigned)t << 8) | t; 22208 unsigned stk1; 22209 unsigned stk2; 22210 unsigned stk3; 22211 stk3 = ~D; 22212 stk2 = S | stk3; 22213 stk1 = T & stk2; 22214 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 22215} 22216 22217/* TSDnoa source transparent/pattern opaque. */ 22218static unsigned xrop3_208_1_0 (unsigned char s, unsigned char t) 22219{ 22220 unsigned D = 0x00ff; 22221 unsigned S = ((unsigned)s << 8) | s; 22222 unsigned T = ((unsigned)t << 8) | t; 22223 unsigned stk1; 22224 unsigned stk2; 22225 unsigned stk3; 22226 stk3 = ~D; 22227 stk2 = S | stk3; 22228 stk1 = T & stk2; 22229 return (stk1 & (~S)) | (D & S); 22230} 22231 22232/* TSDnoa source/pattern transparent. */ 22233static unsigned xrop3_208_1_1 (unsigned char s, unsigned char t) 22234{ 22235 unsigned D = 0x00ff; 22236 unsigned S = ((unsigned)s << 8) | s; 22237 unsigned T = ((unsigned)t << 8) | t; 22238 unsigned stk1; 22239 unsigned stk2; 22240 unsigned stk3; 22241 stk3 = ~D; 22242 stk2 = S | stk3; 22243 stk1 = T & stk2; 22244 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 22245} 22246 22247/* TSDTxoxn source/pattern opaque. */ 22248static void rop3_209_0_0 (unsigned char *D, unsigned char S, unsigned char T) 22249{ 22250 unsigned char stk1; 22251 unsigned char stk2; 22252 unsigned char stk3; 22253 stk3 = *D ^ T; 22254 stk2 = S | stk3; 22255 stk1 = T ^ stk2; 22256 stk1 = ~stk1; 22257 *D = stk1; 22258} 22259 22260/* TSDTxoxn source opaque/pattern transparent. */ 22261static void rop3_209_0_1 (unsigned char *D, unsigned char S, unsigned char T) 22262{ 22263 unsigned char stk1; 22264 unsigned char stk2; 22265 unsigned char stk3; 22266 stk3 = *D ^ T; 22267 stk2 = S | stk3; 22268 stk1 = T ^ stk2; 22269 stk1 = ~stk1; 22270 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 22271} 22272 22273/* TSDTxoxn source transparent/pattern opaque. */ 22274static void rop3_209_1_0 (unsigned char *D, unsigned char S, unsigned char T) 22275{ 22276 unsigned char stk1; 22277 unsigned char stk2; 22278 unsigned char stk3; 22279 stk3 = *D ^ T; 22280 stk2 = S | stk3; 22281 stk1 = T ^ stk2; 22282 stk1 = ~stk1; 22283 *D = (stk1 & (~S)) | (*D & S); 22284} 22285 22286/* TSDTxoxn source/pattern transparent. */ 22287static void rop3_209_1_1 (unsigned char *D, unsigned char S, unsigned char T) 22288{ 22289 unsigned char stk1; 22290 unsigned char stk2; 22291 unsigned char stk3; 22292 stk3 = *D ^ T; 22293 stk2 = S | stk3; 22294 stk1 = T ^ stk2; 22295 stk1 = ~stk1; 22296 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 22297} 22298 22299/* TSDTxoxn source/pattern opaque. */ 22300static unsigned xrop3_209_0_0 (unsigned char s, unsigned char t) 22301{ 22302 unsigned D = 0x00ff; 22303 unsigned S = ((unsigned)s << 8) | s; 22304 unsigned T = ((unsigned)t << 8) | t; 22305 unsigned stk1; 22306 unsigned stk2; 22307 unsigned stk3; 22308 stk3 = D ^ T; 22309 stk2 = S | stk3; 22310 stk1 = T ^ stk2; 22311 stk1 = ~stk1; 22312 return stk1; 22313} 22314 22315/* TSDTxoxn source opaque/pattern transparent. */ 22316static unsigned xrop3_209_0_1 (unsigned char s, unsigned char t) 22317{ 22318 unsigned D = 0x00ff; 22319 unsigned S = ((unsigned)s << 8) | s; 22320 unsigned T = ((unsigned)t << 8) | t; 22321 unsigned stk1; 22322 unsigned stk2; 22323 unsigned stk3; 22324 stk3 = D ^ T; 22325 stk2 = S | stk3; 22326 stk1 = T ^ stk2; 22327 stk1 = ~stk1; 22328 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 22329} 22330 22331/* TSDTxoxn source transparent/pattern opaque. */ 22332static unsigned xrop3_209_1_0 (unsigned char s, unsigned char t) 22333{ 22334 unsigned D = 0x00ff; 22335 unsigned S = ((unsigned)s << 8) | s; 22336 unsigned T = ((unsigned)t << 8) | t; 22337 unsigned stk1; 22338 unsigned stk2; 22339 unsigned stk3; 22340 stk3 = D ^ T; 22341 stk2 = S | stk3; 22342 stk1 = T ^ stk2; 22343 stk1 = ~stk1; 22344 return (stk1 & (~S)) | (D & S); 22345} 22346 22347/* TSDTxoxn source/pattern transparent. */ 22348static unsigned xrop3_209_1_1 (unsigned char s, unsigned char t) 22349{ 22350 unsigned D = 0x00ff; 22351 unsigned S = ((unsigned)s << 8) | s; 22352 unsigned T = ((unsigned)t << 8) | t; 22353 unsigned stk1; 22354 unsigned stk2; 22355 unsigned stk3; 22356 stk3 = D ^ T; 22357 stk2 = S | stk3; 22358 stk1 = T ^ stk2; 22359 stk1 = ~stk1; 22360 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 22361} 22362 22363/* TDSnax source/pattern opaque. */ 22364static void rop3_210_0_0 (unsigned char *D, unsigned char S, unsigned char T) 22365{ 22366 unsigned char stk1; 22367 unsigned char stk2; 22368 unsigned char stk3; 22369 stk3 = ~S; 22370 stk2 = *D & stk3; 22371 stk1 = T ^ stk2; 22372 *D = stk1; 22373} 22374 22375/* TDSnax source opaque/pattern transparent. */ 22376static void rop3_210_0_1 (unsigned char *D, unsigned char S, unsigned char T) 22377{ 22378 unsigned char stk1; 22379 unsigned char stk2; 22380 unsigned char stk3; 22381 stk3 = ~S; 22382 stk2 = *D & stk3; 22383 stk1 = T ^ stk2; 22384 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 22385} 22386 22387/* TDSnax source transparent/pattern opaque. */ 22388static void rop3_210_1_0 (unsigned char *D, unsigned char S, unsigned char T) 22389{ 22390 unsigned char stk1; 22391 unsigned char stk2; 22392 unsigned char stk3; 22393 stk3 = ~S; 22394 stk2 = *D & stk3; 22395 stk1 = T ^ stk2; 22396 *D = (stk1 & (~S)) | (*D & S); 22397} 22398 22399/* TDSnax source/pattern transparent. */ 22400static void rop3_210_1_1 (unsigned char *D, unsigned char S, unsigned char T) 22401{ 22402 unsigned char stk1; 22403 unsigned char stk2; 22404 unsigned char stk3; 22405 stk3 = ~S; 22406 stk2 = *D & stk3; 22407 stk1 = T ^ stk2; 22408 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 22409} 22410 22411/* TDSnax source/pattern opaque. */ 22412static unsigned xrop3_210_0_0 (unsigned char s, unsigned char t) 22413{ 22414 unsigned D = 0x00ff; 22415 unsigned S = ((unsigned)s << 8) | s; 22416 unsigned T = ((unsigned)t << 8) | t; 22417 unsigned stk1; 22418 unsigned stk2; 22419 unsigned stk3; 22420 stk3 = ~S; 22421 stk2 = D & stk3; 22422 stk1 = T ^ stk2; 22423 return stk1; 22424} 22425 22426/* TDSnax source opaque/pattern transparent. */ 22427static unsigned xrop3_210_0_1 (unsigned char s, unsigned char t) 22428{ 22429 unsigned D = 0x00ff; 22430 unsigned S = ((unsigned)s << 8) | s; 22431 unsigned T = ((unsigned)t << 8) | t; 22432 unsigned stk1; 22433 unsigned stk2; 22434 unsigned stk3; 22435 stk3 = ~S; 22436 stk2 = D & stk3; 22437 stk1 = T ^ stk2; 22438 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 22439} 22440 22441/* TDSnax source transparent/pattern opaque. */ 22442static unsigned xrop3_210_1_0 (unsigned char s, unsigned char t) 22443{ 22444 unsigned D = 0x00ff; 22445 unsigned S = ((unsigned)s << 8) | s; 22446 unsigned T = ((unsigned)t << 8) | t; 22447 unsigned stk1; 22448 unsigned stk2; 22449 unsigned stk3; 22450 stk3 = ~S; 22451 stk2 = D & stk3; 22452 stk1 = T ^ stk2; 22453 return (stk1 & (~S)) | (D & S); 22454} 22455 22456/* TDSnax source/pattern transparent. */ 22457static unsigned xrop3_210_1_1 (unsigned char s, unsigned char t) 22458{ 22459 unsigned D = 0x00ff; 22460 unsigned S = ((unsigned)s << 8) | s; 22461 unsigned T = ((unsigned)t << 8) | t; 22462 unsigned stk1; 22463 unsigned stk2; 22464 unsigned stk3; 22465 stk3 = ~S; 22466 stk2 = D & stk3; 22467 stk1 = T ^ stk2; 22468 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 22469} 22470 22471/* STDSoaxn source/pattern opaque. */ 22472static void rop3_211_0_0 (unsigned char *D, unsigned char S, unsigned char T) 22473{ 22474 unsigned char stk1; 22475 unsigned char stk2; 22476 unsigned char stk3; 22477 stk3 = *D | S; 22478 stk2 = T & stk3; 22479 stk1 = S ^ stk2; 22480 stk1 = ~stk1; 22481 *D = stk1; 22482} 22483 22484/* STDSoaxn source opaque/pattern transparent. */ 22485static void rop3_211_0_1 (unsigned char *D, unsigned char S, unsigned char T) 22486{ 22487 unsigned char stk1; 22488 unsigned char stk2; 22489 unsigned char stk3; 22490 stk3 = *D | S; 22491 stk2 = T & stk3; 22492 stk1 = S ^ stk2; 22493 stk1 = ~stk1; 22494 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 22495} 22496 22497/* STDSoaxn source transparent/pattern opaque. */ 22498static void rop3_211_1_0 (unsigned char *D, unsigned char S, unsigned char T) 22499{ 22500 unsigned char stk1; 22501 unsigned char stk2; 22502 unsigned char stk3; 22503 stk3 = *D | S; 22504 stk2 = T & stk3; 22505 stk1 = S ^ stk2; 22506 stk1 = ~stk1; 22507 *D = (stk1 & (~S)) | (*D & S); 22508} 22509 22510/* STDSoaxn source/pattern transparent. */ 22511static void rop3_211_1_1 (unsigned char *D, unsigned char S, unsigned char T) 22512{ 22513 unsigned char stk1; 22514 unsigned char stk2; 22515 unsigned char stk3; 22516 stk3 = *D | S; 22517 stk2 = T & stk3; 22518 stk1 = S ^ stk2; 22519 stk1 = ~stk1; 22520 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 22521} 22522 22523/* STDSoaxn source/pattern opaque. */ 22524static unsigned xrop3_211_0_0 (unsigned char s, unsigned char t) 22525{ 22526 unsigned D = 0x00ff; 22527 unsigned S = ((unsigned)s << 8) | s; 22528 unsigned T = ((unsigned)t << 8) | t; 22529 unsigned stk1; 22530 unsigned stk2; 22531 unsigned stk3; 22532 stk3 = D | S; 22533 stk2 = T & stk3; 22534 stk1 = S ^ stk2; 22535 stk1 = ~stk1; 22536 return stk1; 22537} 22538 22539/* STDSoaxn source opaque/pattern transparent. */ 22540static unsigned xrop3_211_0_1 (unsigned char s, unsigned char t) 22541{ 22542 unsigned D = 0x00ff; 22543 unsigned S = ((unsigned)s << 8) | s; 22544 unsigned T = ((unsigned)t << 8) | t; 22545 unsigned stk1; 22546 unsigned stk2; 22547 unsigned stk3; 22548 stk3 = D | S; 22549 stk2 = T & stk3; 22550 stk1 = S ^ stk2; 22551 stk1 = ~stk1; 22552 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 22553} 22554 22555/* STDSoaxn source transparent/pattern opaque. */ 22556static unsigned xrop3_211_1_0 (unsigned char s, unsigned char t) 22557{ 22558 unsigned D = 0x00ff; 22559 unsigned S = ((unsigned)s << 8) | s; 22560 unsigned T = ((unsigned)t << 8) | t; 22561 unsigned stk1; 22562 unsigned stk2; 22563 unsigned stk3; 22564 stk3 = D | S; 22565 stk2 = T & stk3; 22566 stk1 = S ^ stk2; 22567 stk1 = ~stk1; 22568 return (stk1 & (~S)) | (D & S); 22569} 22570 22571/* STDSoaxn source/pattern transparent. */ 22572static unsigned xrop3_211_1_1 (unsigned char s, unsigned char t) 22573{ 22574 unsigned D = 0x00ff; 22575 unsigned S = ((unsigned)s << 8) | s; 22576 unsigned T = ((unsigned)t << 8) | t; 22577 unsigned stk1; 22578 unsigned stk2; 22579 unsigned stk3; 22580 stk3 = D | S; 22581 stk2 = T & stk3; 22582 stk1 = S ^ stk2; 22583 stk1 = ~stk1; 22584 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 22585} 22586 22587/* SSTxTDxax source/pattern opaque. */ 22588static void rop3_212_0_0 (unsigned char *D, unsigned char S, unsigned char T) 22589{ 22590 unsigned char stk1; 22591 unsigned char stk2; 22592 unsigned char stk3; 22593 stk2 = S ^ T; 22594 stk3 = T ^ *D; 22595 stk2 = stk2 & stk3; 22596 stk1 = S ^ stk2; 22597 *D = stk1; 22598} 22599 22600/* SSTxTDxax source opaque/pattern transparent. */ 22601static void rop3_212_0_1 (unsigned char *D, unsigned char S, unsigned char T) 22602{ 22603 unsigned char stk1; 22604 unsigned char stk2; 22605 unsigned char stk3; 22606 stk2 = S ^ T; 22607 stk3 = T ^ *D; 22608 stk2 = stk2 & stk3; 22609 stk1 = S ^ stk2; 22610 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 22611} 22612 22613/* SSTxTDxax source transparent/pattern opaque. */ 22614static void rop3_212_1_0 (unsigned char *D, unsigned char S, unsigned char T) 22615{ 22616 unsigned char stk1; 22617 unsigned char stk2; 22618 unsigned char stk3; 22619 stk2 = S ^ T; 22620 stk3 = T ^ *D; 22621 stk2 = stk2 & stk3; 22622 stk1 = S ^ stk2; 22623 *D = (stk1 & (~S)) | (*D & S); 22624} 22625 22626/* SSTxTDxax source/pattern transparent. */ 22627static void rop3_212_1_1 (unsigned char *D, unsigned char S, unsigned char T) 22628{ 22629 unsigned char stk1; 22630 unsigned char stk2; 22631 unsigned char stk3; 22632 stk2 = S ^ T; 22633 stk3 = T ^ *D; 22634 stk2 = stk2 & stk3; 22635 stk1 = S ^ stk2; 22636 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 22637} 22638 22639/* SSTxTDxax source/pattern opaque. */ 22640static unsigned xrop3_212_0_0 (unsigned char s, unsigned char t) 22641{ 22642 unsigned D = 0x00ff; 22643 unsigned S = ((unsigned)s << 8) | s; 22644 unsigned T = ((unsigned)t << 8) | t; 22645 unsigned stk1; 22646 unsigned stk2; 22647 unsigned stk3; 22648 stk2 = S ^ T; 22649 stk3 = T ^ D; 22650 stk2 = stk2 & stk3; 22651 stk1 = S ^ stk2; 22652 return stk1; 22653} 22654 22655/* SSTxTDxax source opaque/pattern transparent. */ 22656static unsigned xrop3_212_0_1 (unsigned char s, unsigned char t) 22657{ 22658 unsigned D = 0x00ff; 22659 unsigned S = ((unsigned)s << 8) | s; 22660 unsigned T = ((unsigned)t << 8) | t; 22661 unsigned stk1; 22662 unsigned stk2; 22663 unsigned stk3; 22664 stk2 = S ^ T; 22665 stk3 = T ^ D; 22666 stk2 = stk2 & stk3; 22667 stk1 = S ^ stk2; 22668 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 22669} 22670 22671/* SSTxTDxax source transparent/pattern opaque. */ 22672static unsigned xrop3_212_1_0 (unsigned char s, unsigned char t) 22673{ 22674 unsigned D = 0x00ff; 22675 unsigned S = ((unsigned)s << 8) | s; 22676 unsigned T = ((unsigned)t << 8) | t; 22677 unsigned stk1; 22678 unsigned stk2; 22679 unsigned stk3; 22680 stk2 = S ^ T; 22681 stk3 = T ^ D; 22682 stk2 = stk2 & stk3; 22683 stk1 = S ^ stk2; 22684 return (stk1 & (~S)) | (D & S); 22685} 22686 22687/* SSTxTDxax source/pattern transparent. */ 22688static unsigned xrop3_212_1_1 (unsigned char s, unsigned char t) 22689{ 22690 unsigned D = 0x00ff; 22691 unsigned S = ((unsigned)s << 8) | s; 22692 unsigned T = ((unsigned)t << 8) | t; 22693 unsigned stk1; 22694 unsigned stk2; 22695 unsigned stk3; 22696 stk2 = S ^ T; 22697 stk3 = T ^ D; 22698 stk2 = stk2 & stk3; 22699 stk1 = S ^ stk2; 22700 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 22701} 22702 22703/* DTSanan source/pattern opaque. */ 22704static void rop3_213_0_0 (unsigned char *D, unsigned char S, unsigned char T) 22705{ 22706 unsigned char stk1; 22707 unsigned char stk2; 22708 stk2 = T & S; 22709 stk2 = ~stk2; 22710 stk1 = *D & stk2; 22711 stk1 = ~stk1; 22712 *D = stk1; 22713} 22714 22715/* DTSanan source opaque/pattern transparent. */ 22716static void rop3_213_0_1 (unsigned char *D, unsigned char S, unsigned char T) 22717{ 22718 unsigned char stk1; 22719 unsigned char stk2; 22720 stk2 = T & S; 22721 stk2 = ~stk2; 22722 stk1 = *D & stk2; 22723 stk1 = ~stk1; 22724 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 22725} 22726 22727/* DTSanan source transparent/pattern opaque. */ 22728static void rop3_213_1_0 (unsigned char *D, unsigned char S, unsigned char T) 22729{ 22730 unsigned char stk1; 22731 unsigned char stk2; 22732 stk2 = T & S; 22733 stk2 = ~stk2; 22734 stk1 = *D & stk2; 22735 stk1 = ~stk1; 22736 *D = (stk1 & (~S)) | (*D & S); 22737} 22738 22739/* DTSanan source/pattern transparent. */ 22740static void rop3_213_1_1 (unsigned char *D, unsigned char S, unsigned char T) 22741{ 22742 unsigned char stk1; 22743 unsigned char stk2; 22744 stk2 = T & S; 22745 stk2 = ~stk2; 22746 stk1 = *D & stk2; 22747 stk1 = ~stk1; 22748 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 22749} 22750 22751/* DTSanan source/pattern opaque. */ 22752static unsigned xrop3_213_0_0 (unsigned char s, unsigned char t) 22753{ 22754 unsigned D = 0x00ff; 22755 unsigned S = ((unsigned)s << 8) | s; 22756 unsigned T = ((unsigned)t << 8) | t; 22757 unsigned stk1; 22758 unsigned stk2; 22759 stk2 = T & S; 22760 stk2 = ~stk2; 22761 stk1 = D & stk2; 22762 stk1 = ~stk1; 22763 return stk1; 22764} 22765 22766/* DTSanan source opaque/pattern transparent. */ 22767static unsigned xrop3_213_0_1 (unsigned char s, unsigned char t) 22768{ 22769 unsigned D = 0x00ff; 22770 unsigned S = ((unsigned)s << 8) | s; 22771 unsigned T = ((unsigned)t << 8) | t; 22772 unsigned stk1; 22773 unsigned stk2; 22774 stk2 = T & S; 22775 stk2 = ~stk2; 22776 stk1 = D & stk2; 22777 stk1 = ~stk1; 22778 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 22779} 22780 22781/* DTSanan source transparent/pattern opaque. */ 22782static unsigned xrop3_213_1_0 (unsigned char s, unsigned char t) 22783{ 22784 unsigned D = 0x00ff; 22785 unsigned S = ((unsigned)s << 8) | s; 22786 unsigned T = ((unsigned)t << 8) | t; 22787 unsigned stk1; 22788 unsigned stk2; 22789 stk2 = T & S; 22790 stk2 = ~stk2; 22791 stk1 = D & stk2; 22792 stk1 = ~stk1; 22793 return (stk1 & (~S)) | (D & S); 22794} 22795 22796/* DTSanan source/pattern transparent. */ 22797static unsigned xrop3_213_1_1 (unsigned char s, unsigned char t) 22798{ 22799 unsigned D = 0x00ff; 22800 unsigned S = ((unsigned)s << 8) | s; 22801 unsigned T = ((unsigned)t << 8) | t; 22802 unsigned stk1; 22803 unsigned stk2; 22804 stk2 = T & S; 22805 stk2 = ~stk2; 22806 stk1 = D & stk2; 22807 stk1 = ~stk1; 22808 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 22809} 22810 22811/* TSDTSaoxx source/pattern opaque. */ 22812static void rop3_214_0_0 (unsigned char *D, unsigned char S, unsigned char T) 22813{ 22814 unsigned char stk1; 22815 unsigned char stk2; 22816 unsigned char stk3; 22817 unsigned char stk4; 22818 stk4 = T & S; 22819 stk3 = *D | stk4; 22820 stk2 = S ^ stk3; 22821 stk1 = T ^ stk2; 22822 *D = stk1; 22823} 22824 22825/* TSDTSaoxx source opaque/pattern transparent. */ 22826static void rop3_214_0_1 (unsigned char *D, unsigned char S, unsigned char T) 22827{ 22828 unsigned char stk1; 22829 unsigned char stk2; 22830 unsigned char stk3; 22831 unsigned char stk4; 22832 stk4 = T & S; 22833 stk3 = *D | stk4; 22834 stk2 = S ^ stk3; 22835 stk1 = T ^ stk2; 22836 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 22837} 22838 22839/* TSDTSaoxx source transparent/pattern opaque. */ 22840static void rop3_214_1_0 (unsigned char *D, unsigned char S, unsigned char T) 22841{ 22842 unsigned char stk1; 22843 unsigned char stk2; 22844 unsigned char stk3; 22845 unsigned char stk4; 22846 stk4 = T & S; 22847 stk3 = *D | stk4; 22848 stk2 = S ^ stk3; 22849 stk1 = T ^ stk2; 22850 *D = (stk1 & (~S)) | (*D & S); 22851} 22852 22853/* TSDTSaoxx source/pattern transparent. */ 22854static void rop3_214_1_1 (unsigned char *D, unsigned char S, unsigned char T) 22855{ 22856 unsigned char stk1; 22857 unsigned char stk2; 22858 unsigned char stk3; 22859 unsigned char stk4; 22860 stk4 = T & S; 22861 stk3 = *D | stk4; 22862 stk2 = S ^ stk3; 22863 stk1 = T ^ stk2; 22864 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 22865} 22866 22867/* TSDTSaoxx source/pattern opaque. */ 22868static unsigned xrop3_214_0_0 (unsigned char s, unsigned char t) 22869{ 22870 unsigned D = 0x00ff; 22871 unsigned S = ((unsigned)s << 8) | s; 22872 unsigned T = ((unsigned)t << 8) | t; 22873 unsigned stk1; 22874 unsigned stk2; 22875 unsigned stk3; 22876 unsigned stk4; 22877 stk4 = T & S; 22878 stk3 = D | stk4; 22879 stk2 = S ^ stk3; 22880 stk1 = T ^ stk2; 22881 return stk1; 22882} 22883 22884/* TSDTSaoxx source opaque/pattern transparent. */ 22885static unsigned xrop3_214_0_1 (unsigned char s, unsigned char t) 22886{ 22887 unsigned D = 0x00ff; 22888 unsigned S = ((unsigned)s << 8) | s; 22889 unsigned T = ((unsigned)t << 8) | t; 22890 unsigned stk1; 22891 unsigned stk2; 22892 unsigned stk3; 22893 unsigned stk4; 22894 stk4 = T & S; 22895 stk3 = D | stk4; 22896 stk2 = S ^ stk3; 22897 stk1 = T ^ stk2; 22898 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 22899} 22900 22901/* TSDTSaoxx source transparent/pattern opaque. */ 22902static unsigned xrop3_214_1_0 (unsigned char s, unsigned char t) 22903{ 22904 unsigned D = 0x00ff; 22905 unsigned S = ((unsigned)s << 8) | s; 22906 unsigned T = ((unsigned)t << 8) | t; 22907 unsigned stk1; 22908 unsigned stk2; 22909 unsigned stk3; 22910 unsigned stk4; 22911 stk4 = T & S; 22912 stk3 = D | stk4; 22913 stk2 = S ^ stk3; 22914 stk1 = T ^ stk2; 22915 return (stk1 & (~S)) | (D & S); 22916} 22917 22918/* TSDTSaoxx source/pattern transparent. */ 22919static unsigned xrop3_214_1_1 (unsigned char s, unsigned char t) 22920{ 22921 unsigned D = 0x00ff; 22922 unsigned S = ((unsigned)s << 8) | s; 22923 unsigned T = ((unsigned)t << 8) | t; 22924 unsigned stk1; 22925 unsigned stk2; 22926 unsigned stk3; 22927 unsigned stk4; 22928 stk4 = T & S; 22929 stk3 = D | stk4; 22930 stk2 = S ^ stk3; 22931 stk1 = T ^ stk2; 22932 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 22933} 22934 22935/* DTSxan source/pattern opaque. */ 22936static void rop3_215_0_0 (unsigned char *D, unsigned char S, unsigned char T) 22937{ 22938 unsigned char stk1; 22939 unsigned char stk2; 22940 stk2 = T ^ S; 22941 stk1 = *D & stk2; 22942 stk1 = ~stk1; 22943 *D = stk1; 22944} 22945 22946/* DTSxan source opaque/pattern transparent. */ 22947static void rop3_215_0_1 (unsigned char *D, unsigned char S, unsigned char T) 22948{ 22949 unsigned char stk1; 22950 unsigned char stk2; 22951 stk2 = T ^ S; 22952 stk1 = *D & stk2; 22953 stk1 = ~stk1; 22954 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 22955} 22956 22957/* DTSxan source transparent/pattern opaque. */ 22958static void rop3_215_1_0 (unsigned char *D, unsigned char S, unsigned char T) 22959{ 22960 unsigned char stk1; 22961 unsigned char stk2; 22962 stk2 = T ^ S; 22963 stk1 = *D & stk2; 22964 stk1 = ~stk1; 22965 *D = (stk1 & (~S)) | (*D & S); 22966} 22967 22968/* DTSxan source/pattern transparent. */ 22969static void rop3_215_1_1 (unsigned char *D, unsigned char S, unsigned char T) 22970{ 22971 unsigned char stk1; 22972 unsigned char stk2; 22973 stk2 = T ^ S; 22974 stk1 = *D & stk2; 22975 stk1 = ~stk1; 22976 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 22977} 22978 22979/* DTSxan source/pattern opaque. */ 22980static unsigned xrop3_215_0_0 (unsigned char s, unsigned char t) 22981{ 22982 unsigned D = 0x00ff; 22983 unsigned S = ((unsigned)s << 8) | s; 22984 unsigned T = ((unsigned)t << 8) | t; 22985 unsigned stk1; 22986 unsigned stk2; 22987 stk2 = T ^ S; 22988 stk1 = D & stk2; 22989 stk1 = ~stk1; 22990 return stk1; 22991} 22992 22993/* DTSxan source opaque/pattern transparent. */ 22994static unsigned xrop3_215_0_1 (unsigned char s, unsigned char t) 22995{ 22996 unsigned D = 0x00ff; 22997 unsigned S = ((unsigned)s << 8) | s; 22998 unsigned T = ((unsigned)t << 8) | t; 22999 unsigned stk1; 23000 unsigned stk2; 23001 stk2 = T ^ S; 23002 stk1 = D & stk2; 23003 stk1 = ~stk1; 23004 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 23005} 23006 23007/* DTSxan source transparent/pattern opaque. */ 23008static unsigned xrop3_215_1_0 (unsigned char s, unsigned char t) 23009{ 23010 unsigned D = 0x00ff; 23011 unsigned S = ((unsigned)s << 8) | s; 23012 unsigned T = ((unsigned)t << 8) | t; 23013 unsigned stk1; 23014 unsigned stk2; 23015 stk2 = T ^ S; 23016 stk1 = D & stk2; 23017 stk1 = ~stk1; 23018 return (stk1 & (~S)) | (D & S); 23019} 23020 23021/* DTSxan source/pattern transparent. */ 23022static unsigned xrop3_215_1_1 (unsigned char s, unsigned char t) 23023{ 23024 unsigned D = 0x00ff; 23025 unsigned S = ((unsigned)s << 8) | s; 23026 unsigned T = ((unsigned)t << 8) | t; 23027 unsigned stk1; 23028 unsigned stk2; 23029 stk2 = T ^ S; 23030 stk1 = D & stk2; 23031 stk1 = ~stk1; 23032 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 23033} 23034 23035/* TDSTxax source/pattern opaque. */ 23036static void rop3_216_0_0 (unsigned char *D, unsigned char S, unsigned char T) 23037{ 23038 unsigned char stk1; 23039 unsigned char stk2; 23040 unsigned char stk3; 23041 stk3 = S ^ T; 23042 stk2 = *D & stk3; 23043 stk1 = T ^ stk2; 23044 *D = stk1; 23045} 23046 23047/* TDSTxax source opaque/pattern transparent. */ 23048static void rop3_216_0_1 (unsigned char *D, unsigned char S, unsigned char T) 23049{ 23050 unsigned char stk1; 23051 unsigned char stk2; 23052 unsigned char stk3; 23053 stk3 = S ^ T; 23054 stk2 = *D & stk3; 23055 stk1 = T ^ stk2; 23056 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 23057} 23058 23059/* TDSTxax source transparent/pattern opaque. */ 23060static void rop3_216_1_0 (unsigned char *D, unsigned char S, unsigned char T) 23061{ 23062 unsigned char stk1; 23063 unsigned char stk2; 23064 unsigned char stk3; 23065 stk3 = S ^ T; 23066 stk2 = *D & stk3; 23067 stk1 = T ^ stk2; 23068 *D = (stk1 & (~S)) | (*D & S); 23069} 23070 23071/* TDSTxax source/pattern transparent. */ 23072static void rop3_216_1_1 (unsigned char *D, unsigned char S, unsigned char T) 23073{ 23074 unsigned char stk1; 23075 unsigned char stk2; 23076 unsigned char stk3; 23077 stk3 = S ^ T; 23078 stk2 = *D & stk3; 23079 stk1 = T ^ stk2; 23080 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 23081} 23082 23083/* TDSTxax source/pattern opaque. */ 23084static unsigned xrop3_216_0_0 (unsigned char s, unsigned char t) 23085{ 23086 unsigned D = 0x00ff; 23087 unsigned S = ((unsigned)s << 8) | s; 23088 unsigned T = ((unsigned)t << 8) | t; 23089 unsigned stk1; 23090 unsigned stk2; 23091 unsigned stk3; 23092 stk3 = S ^ T; 23093 stk2 = D & stk3; 23094 stk1 = T ^ stk2; 23095 return stk1; 23096} 23097 23098/* TDSTxax source opaque/pattern transparent. */ 23099static unsigned xrop3_216_0_1 (unsigned char s, unsigned char t) 23100{ 23101 unsigned D = 0x00ff; 23102 unsigned S = ((unsigned)s << 8) | s; 23103 unsigned T = ((unsigned)t << 8) | t; 23104 unsigned stk1; 23105 unsigned stk2; 23106 unsigned stk3; 23107 stk3 = S ^ T; 23108 stk2 = D & stk3; 23109 stk1 = T ^ stk2; 23110 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 23111} 23112 23113/* TDSTxax source transparent/pattern opaque. */ 23114static unsigned xrop3_216_1_0 (unsigned char s, unsigned char t) 23115{ 23116 unsigned D = 0x00ff; 23117 unsigned S = ((unsigned)s << 8) | s; 23118 unsigned T = ((unsigned)t << 8) | t; 23119 unsigned stk1; 23120 unsigned stk2; 23121 unsigned stk3; 23122 stk3 = S ^ T; 23123 stk2 = D & stk3; 23124 stk1 = T ^ stk2; 23125 return (stk1 & (~S)) | (D & S); 23126} 23127 23128/* TDSTxax source/pattern transparent. */ 23129static unsigned xrop3_216_1_1 (unsigned char s, unsigned char t) 23130{ 23131 unsigned D = 0x00ff; 23132 unsigned S = ((unsigned)s << 8) | s; 23133 unsigned T = ((unsigned)t << 8) | t; 23134 unsigned stk1; 23135 unsigned stk2; 23136 unsigned stk3; 23137 stk3 = S ^ T; 23138 stk2 = D & stk3; 23139 stk1 = T ^ stk2; 23140 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 23141} 23142 23143/* SDTSaoxn source/pattern opaque. */ 23144static void rop3_217_0_0 (unsigned char *D, unsigned char S, unsigned char T) 23145{ 23146 unsigned char stk1; 23147 unsigned char stk2; 23148 unsigned char stk3; 23149 stk3 = T & S; 23150 stk2 = *D | stk3; 23151 stk1 = S ^ stk2; 23152 stk1 = ~stk1; 23153 *D = stk1; 23154} 23155 23156/* SDTSaoxn source opaque/pattern transparent. */ 23157static void rop3_217_0_1 (unsigned char *D, unsigned char S, unsigned char T) 23158{ 23159 unsigned char stk1; 23160 unsigned char stk2; 23161 unsigned char stk3; 23162 stk3 = T & S; 23163 stk2 = *D | stk3; 23164 stk1 = S ^ stk2; 23165 stk1 = ~stk1; 23166 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 23167} 23168 23169/* SDTSaoxn source transparent/pattern opaque. */ 23170static void rop3_217_1_0 (unsigned char *D, unsigned char S, unsigned char T) 23171{ 23172 unsigned char stk1; 23173 unsigned char stk2; 23174 unsigned char stk3; 23175 stk3 = T & S; 23176 stk2 = *D | stk3; 23177 stk1 = S ^ stk2; 23178 stk1 = ~stk1; 23179 *D = (stk1 & (~S)) | (*D & S); 23180} 23181 23182/* SDTSaoxn source/pattern transparent. */ 23183static void rop3_217_1_1 (unsigned char *D, unsigned char S, unsigned char T) 23184{ 23185 unsigned char stk1; 23186 unsigned char stk2; 23187 unsigned char stk3; 23188 stk3 = T & S; 23189 stk2 = *D | stk3; 23190 stk1 = S ^ stk2; 23191 stk1 = ~stk1; 23192 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 23193} 23194 23195/* SDTSaoxn source/pattern opaque. */ 23196static unsigned xrop3_217_0_0 (unsigned char s, unsigned char t) 23197{ 23198 unsigned D = 0x00ff; 23199 unsigned S = ((unsigned)s << 8) | s; 23200 unsigned T = ((unsigned)t << 8) | t; 23201 unsigned stk1; 23202 unsigned stk2; 23203 unsigned stk3; 23204 stk3 = T & S; 23205 stk2 = D | stk3; 23206 stk1 = S ^ stk2; 23207 stk1 = ~stk1; 23208 return stk1; 23209} 23210 23211/* SDTSaoxn source opaque/pattern transparent. */ 23212static unsigned xrop3_217_0_1 (unsigned char s, unsigned char t) 23213{ 23214 unsigned D = 0x00ff; 23215 unsigned S = ((unsigned)s << 8) | s; 23216 unsigned T = ((unsigned)t << 8) | t; 23217 unsigned stk1; 23218 unsigned stk2; 23219 unsigned stk3; 23220 stk3 = T & S; 23221 stk2 = D | stk3; 23222 stk1 = S ^ stk2; 23223 stk1 = ~stk1; 23224 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 23225} 23226 23227/* SDTSaoxn source transparent/pattern opaque. */ 23228static unsigned xrop3_217_1_0 (unsigned char s, unsigned char t) 23229{ 23230 unsigned D = 0x00ff; 23231 unsigned S = ((unsigned)s << 8) | s; 23232 unsigned T = ((unsigned)t << 8) | t; 23233 unsigned stk1; 23234 unsigned stk2; 23235 unsigned stk3; 23236 stk3 = T & S; 23237 stk2 = D | stk3; 23238 stk1 = S ^ stk2; 23239 stk1 = ~stk1; 23240 return (stk1 & (~S)) | (D & S); 23241} 23242 23243/* SDTSaoxn source/pattern transparent. */ 23244static unsigned xrop3_217_1_1 (unsigned char s, unsigned char t) 23245{ 23246 unsigned D = 0x00ff; 23247 unsigned S = ((unsigned)s << 8) | s; 23248 unsigned T = ((unsigned)t << 8) | t; 23249 unsigned stk1; 23250 unsigned stk2; 23251 unsigned stk3; 23252 stk3 = T & S; 23253 stk2 = D | stk3; 23254 stk1 = S ^ stk2; 23255 stk1 = ~stk1; 23256 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 23257} 23258 23259/* DTSDanax source/pattern opaque. */ 23260static void rop3_218_0_0 (unsigned char *D, unsigned char S, unsigned char T) 23261{ 23262 unsigned char stk1; 23263 unsigned char stk2; 23264 unsigned char stk3; 23265 stk3 = S & *D; 23266 stk3 = ~stk3; 23267 stk2 = T & stk3; 23268 stk1 = *D ^ stk2; 23269 *D = stk1; 23270} 23271 23272/* DTSDanax source opaque/pattern transparent. */ 23273static void rop3_218_0_1 (unsigned char *D, unsigned char S, unsigned char T) 23274{ 23275 unsigned char stk1; 23276 unsigned char stk2; 23277 unsigned char stk3; 23278 stk3 = S & *D; 23279 stk3 = ~stk3; 23280 stk2 = T & stk3; 23281 stk1 = *D ^ stk2; 23282 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 23283} 23284 23285/* DTSDanax source transparent/pattern opaque. */ 23286static void rop3_218_1_0 (unsigned char *D, unsigned char S, unsigned char T) 23287{ 23288 unsigned char stk1; 23289 unsigned char stk2; 23290 unsigned char stk3; 23291 stk3 = S & *D; 23292 stk3 = ~stk3; 23293 stk2 = T & stk3; 23294 stk1 = *D ^ stk2; 23295 *D = (stk1 & (~S)) | (*D & S); 23296} 23297 23298/* DTSDanax source/pattern transparent. */ 23299static void rop3_218_1_1 (unsigned char *D, unsigned char S, unsigned char T) 23300{ 23301 unsigned char stk1; 23302 unsigned char stk2; 23303 unsigned char stk3; 23304 stk3 = S & *D; 23305 stk3 = ~stk3; 23306 stk2 = T & stk3; 23307 stk1 = *D ^ stk2; 23308 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 23309} 23310 23311/* DTSDanax source/pattern opaque. */ 23312static unsigned xrop3_218_0_0 (unsigned char s, unsigned char t) 23313{ 23314 unsigned D = 0x00ff; 23315 unsigned S = ((unsigned)s << 8) | s; 23316 unsigned T = ((unsigned)t << 8) | t; 23317 unsigned stk1; 23318 unsigned stk2; 23319 unsigned stk3; 23320 stk3 = S & D; 23321 stk3 = ~stk3; 23322 stk2 = T & stk3; 23323 stk1 = D ^ stk2; 23324 return stk1; 23325} 23326 23327/* DTSDanax source opaque/pattern transparent. */ 23328static unsigned xrop3_218_0_1 (unsigned char s, unsigned char t) 23329{ 23330 unsigned D = 0x00ff; 23331 unsigned S = ((unsigned)s << 8) | s; 23332 unsigned T = ((unsigned)t << 8) | t; 23333 unsigned stk1; 23334 unsigned stk2; 23335 unsigned stk3; 23336 stk3 = S & D; 23337 stk3 = ~stk3; 23338 stk2 = T & stk3; 23339 stk1 = D ^ stk2; 23340 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 23341} 23342 23343/* DTSDanax source transparent/pattern opaque. */ 23344static unsigned xrop3_218_1_0 (unsigned char s, unsigned char t) 23345{ 23346 unsigned D = 0x00ff; 23347 unsigned S = ((unsigned)s << 8) | s; 23348 unsigned T = ((unsigned)t << 8) | t; 23349 unsigned stk1; 23350 unsigned stk2; 23351 unsigned stk3; 23352 stk3 = S & D; 23353 stk3 = ~stk3; 23354 stk2 = T & stk3; 23355 stk1 = D ^ stk2; 23356 return (stk1 & (~S)) | (D & S); 23357} 23358 23359/* DTSDanax source/pattern transparent. */ 23360static unsigned xrop3_218_1_1 (unsigned char s, unsigned char t) 23361{ 23362 unsigned D = 0x00ff; 23363 unsigned S = ((unsigned)s << 8) | s; 23364 unsigned T = ((unsigned)t << 8) | t; 23365 unsigned stk1; 23366 unsigned stk2; 23367 unsigned stk3; 23368 stk3 = S & D; 23369 stk3 = ~stk3; 23370 stk2 = T & stk3; 23371 stk1 = D ^ stk2; 23372 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 23373} 23374 23375/* STxDSxan source/pattern opaque. */ 23376static void rop3_219_0_0 (unsigned char *D, unsigned char S, unsigned char T) 23377{ 23378 unsigned char stk1; 23379 unsigned char stk2; 23380 stk1 = S ^ T; 23381 stk2 = *D ^ S; 23382 stk1 = stk1 & stk2; 23383 stk1 = ~stk1; 23384 *D = stk1; 23385} 23386 23387/* STxDSxan source opaque/pattern transparent. */ 23388static void rop3_219_0_1 (unsigned char *D, unsigned char S, unsigned char T) 23389{ 23390 unsigned char stk1; 23391 unsigned char stk2; 23392 stk1 = S ^ T; 23393 stk2 = *D ^ S; 23394 stk1 = stk1 & stk2; 23395 stk1 = ~stk1; 23396 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 23397} 23398 23399/* STxDSxan source transparent/pattern opaque. */ 23400static void rop3_219_1_0 (unsigned char *D, unsigned char S, unsigned char T) 23401{ 23402 unsigned char stk1; 23403 unsigned char stk2; 23404 stk1 = S ^ T; 23405 stk2 = *D ^ S; 23406 stk1 = stk1 & stk2; 23407 stk1 = ~stk1; 23408 *D = (stk1 & (~S)) | (*D & S); 23409} 23410 23411/* STxDSxan source/pattern transparent. */ 23412static void rop3_219_1_1 (unsigned char *D, unsigned char S, unsigned char T) 23413{ 23414 unsigned char stk1; 23415 unsigned char stk2; 23416 stk1 = S ^ T; 23417 stk2 = *D ^ S; 23418 stk1 = stk1 & stk2; 23419 stk1 = ~stk1; 23420 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 23421} 23422 23423/* STxDSxan source/pattern opaque. */ 23424static unsigned xrop3_219_0_0 (unsigned char s, unsigned char t) 23425{ 23426 unsigned D = 0x00ff; 23427 unsigned S = ((unsigned)s << 8) | s; 23428 unsigned T = ((unsigned)t << 8) | t; 23429 unsigned stk1; 23430 unsigned stk2; 23431 stk1 = S ^ T; 23432 stk2 = D ^ S; 23433 stk1 = stk1 & stk2; 23434 stk1 = ~stk1; 23435 return stk1; 23436} 23437 23438/* STxDSxan source opaque/pattern transparent. */ 23439static unsigned xrop3_219_0_1 (unsigned char s, unsigned char t) 23440{ 23441 unsigned D = 0x00ff; 23442 unsigned S = ((unsigned)s << 8) | s; 23443 unsigned T = ((unsigned)t << 8) | t; 23444 unsigned stk1; 23445 unsigned stk2; 23446 stk1 = S ^ T; 23447 stk2 = D ^ S; 23448 stk1 = stk1 & stk2; 23449 stk1 = ~stk1; 23450 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 23451} 23452 23453/* STxDSxan source transparent/pattern opaque. */ 23454static unsigned xrop3_219_1_0 (unsigned char s, unsigned char t) 23455{ 23456 unsigned D = 0x00ff; 23457 unsigned S = ((unsigned)s << 8) | s; 23458 unsigned T = ((unsigned)t << 8) | t; 23459 unsigned stk1; 23460 unsigned stk2; 23461 stk1 = S ^ T; 23462 stk2 = D ^ S; 23463 stk1 = stk1 & stk2; 23464 stk1 = ~stk1; 23465 return (stk1 & (~S)) | (D & S); 23466} 23467 23468/* STxDSxan source/pattern transparent. */ 23469static unsigned xrop3_219_1_1 (unsigned char s, unsigned char t) 23470{ 23471 unsigned D = 0x00ff; 23472 unsigned S = ((unsigned)s << 8) | s; 23473 unsigned T = ((unsigned)t << 8) | t; 23474 unsigned stk1; 23475 unsigned stk2; 23476 stk1 = S ^ T; 23477 stk2 = D ^ S; 23478 stk1 = stk1 & stk2; 23479 stk1 = ~stk1; 23480 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 23481} 23482 23483/* STDnao source/pattern opaque. */ 23484static void rop3_220_0_0 (unsigned char *D, unsigned char S, unsigned char T) 23485{ 23486 unsigned char stk1; 23487 unsigned char stk2; 23488 unsigned char stk3; 23489 stk3 = ~*D; 23490 stk2 = T & stk3; 23491 stk1 = S | stk2; 23492 *D = stk1; 23493} 23494 23495/* STDnao source opaque/pattern transparent. */ 23496static void rop3_220_0_1 (unsigned char *D, unsigned char S, unsigned char T) 23497{ 23498 unsigned char stk1; 23499 unsigned char stk2; 23500 unsigned char stk3; 23501 stk3 = ~*D; 23502 stk2 = T & stk3; 23503 stk1 = S | stk2; 23504 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 23505} 23506 23507/* STDnao source transparent/pattern opaque. */ 23508static void rop3_220_1_0 (unsigned char *D, unsigned char S, unsigned char T) 23509{ 23510 unsigned char stk1; 23511 unsigned char stk2; 23512 unsigned char stk3; 23513 stk3 = ~*D; 23514 stk2 = T & stk3; 23515 stk1 = S | stk2; 23516 *D = (stk1 & (~S)) | (*D & S); 23517} 23518 23519/* STDnao source/pattern transparent. */ 23520static void rop3_220_1_1 (unsigned char *D, unsigned char S, unsigned char T) 23521{ 23522 unsigned char stk1; 23523 unsigned char stk2; 23524 unsigned char stk3; 23525 stk3 = ~*D; 23526 stk2 = T & stk3; 23527 stk1 = S | stk2; 23528 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 23529} 23530 23531/* STDnao source/pattern opaque. */ 23532static unsigned xrop3_220_0_0 (unsigned char s, unsigned char t) 23533{ 23534 unsigned D = 0x00ff; 23535 unsigned S = ((unsigned)s << 8) | s; 23536 unsigned T = ((unsigned)t << 8) | t; 23537 unsigned stk1; 23538 unsigned stk2; 23539 unsigned stk3; 23540 stk3 = ~D; 23541 stk2 = T & stk3; 23542 stk1 = S | stk2; 23543 return stk1; 23544} 23545 23546/* STDnao source opaque/pattern transparent. */ 23547static unsigned xrop3_220_0_1 (unsigned char s, unsigned char t) 23548{ 23549 unsigned D = 0x00ff; 23550 unsigned S = ((unsigned)s << 8) | s; 23551 unsigned T = ((unsigned)t << 8) | t; 23552 unsigned stk1; 23553 unsigned stk2; 23554 unsigned stk3; 23555 stk3 = ~D; 23556 stk2 = T & stk3; 23557 stk1 = S | stk2; 23558 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 23559} 23560 23561/* STDnao source transparent/pattern opaque. */ 23562static unsigned xrop3_220_1_0 (unsigned char s, unsigned char t) 23563{ 23564 unsigned D = 0x00ff; 23565 unsigned S = ((unsigned)s << 8) | s; 23566 unsigned T = ((unsigned)t << 8) | t; 23567 unsigned stk1; 23568 unsigned stk2; 23569 unsigned stk3; 23570 stk3 = ~D; 23571 stk2 = T & stk3; 23572 stk1 = S | stk2; 23573 return (stk1 & (~S)) | (D & S); 23574} 23575 23576/* STDnao source/pattern transparent. */ 23577static unsigned xrop3_220_1_1 (unsigned char s, unsigned char t) 23578{ 23579 unsigned D = 0x00ff; 23580 unsigned S = ((unsigned)s << 8) | s; 23581 unsigned T = ((unsigned)t << 8) | t; 23582 unsigned stk1; 23583 unsigned stk2; 23584 unsigned stk3; 23585 stk3 = ~D; 23586 stk2 = T & stk3; 23587 stk1 = S | stk2; 23588 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 23589} 23590 23591/* SDno source/pattern opaque. */ 23592static void rop3_221_0_0 (unsigned char *D, unsigned char S, unsigned char T) 23593{ 23594 unsigned char stk1; 23595 unsigned char stk2; 23596 stk2 = ~*D; 23597 stk1 = S | stk2; 23598 *D = stk1; 23599} 23600 23601/* SDno source opaque/pattern transparent. */ 23602static void rop3_221_0_1 (unsigned char *D, unsigned char S, unsigned char T) 23603{ 23604 unsigned char stk1; 23605 unsigned char stk2; 23606 stk2 = ~*D; 23607 stk1 = S | stk2; 23608 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 23609} 23610 23611/* SDno source transparent/pattern opaque. */ 23612static void rop3_221_1_0 (unsigned char *D, unsigned char S, unsigned char T) 23613{ 23614 unsigned char stk1; 23615 unsigned char stk2; 23616 stk2 = ~*D; 23617 stk1 = S | stk2; 23618 *D = (stk1 & (~S)) | (*D & S); 23619} 23620 23621/* SDno source/pattern transparent. */ 23622static void rop3_221_1_1 (unsigned char *D, unsigned char S, unsigned char T) 23623{ 23624 unsigned char stk1; 23625 unsigned char stk2; 23626 stk2 = ~*D; 23627 stk1 = S | stk2; 23628 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 23629} 23630 23631/* SDno source/pattern opaque. */ 23632static unsigned xrop3_221_0_0 (unsigned char s, unsigned char t) 23633{ 23634 unsigned D = 0x00ff; 23635 unsigned S = ((unsigned)s << 8) | s; 23636 unsigned stk1; 23637 unsigned stk2; 23638 stk2 = ~D; 23639 stk1 = S | stk2; 23640 return stk1; 23641} 23642 23643/* SDno source opaque/pattern transparent. */ 23644static unsigned xrop3_221_0_1 (unsigned char s, unsigned char t) 23645{ 23646 unsigned D = 0x00ff; 23647 unsigned S = ((unsigned)s << 8) | s; 23648 unsigned T = ((unsigned)t << 8) | t; 23649 unsigned stk1; 23650 unsigned stk2; 23651 stk2 = ~D; 23652 stk1 = S | stk2; 23653 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 23654} 23655 23656/* SDno source transparent/pattern opaque. */ 23657static unsigned xrop3_221_1_0 (unsigned char s, unsigned char t) 23658{ 23659 unsigned D = 0x00ff; 23660 unsigned S = ((unsigned)s << 8) | s; 23661 unsigned stk1; 23662 unsigned stk2; 23663 stk2 = ~D; 23664 stk1 = S | stk2; 23665 return (stk1 & (~S)) | (D & S); 23666} 23667 23668/* SDno source/pattern transparent. */ 23669static unsigned xrop3_221_1_1 (unsigned char s, unsigned char t) 23670{ 23671 unsigned D = 0x00ff; 23672 unsigned S = ((unsigned)s << 8) | s; 23673 unsigned T = ((unsigned)t << 8) | t; 23674 unsigned stk1; 23675 unsigned stk2; 23676 stk2 = ~D; 23677 stk1 = S | stk2; 23678 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 23679} 23680 23681/* SDTxo source/pattern opaque. */ 23682static void rop3_222_0_0 (unsigned char *D, unsigned char S, unsigned char T) 23683{ 23684 unsigned char stk1; 23685 unsigned char stk2; 23686 stk2 = *D ^ T; 23687 stk1 = S | stk2; 23688 *D = stk1; 23689} 23690 23691/* SDTxo source opaque/pattern transparent. */ 23692static void rop3_222_0_1 (unsigned char *D, unsigned char S, unsigned char T) 23693{ 23694 unsigned char stk1; 23695 unsigned char stk2; 23696 stk2 = *D ^ T; 23697 stk1 = S | stk2; 23698 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 23699} 23700 23701/* SDTxo source transparent/pattern opaque. */ 23702static void rop3_222_1_0 (unsigned char *D, unsigned char S, unsigned char T) 23703{ 23704 unsigned char stk1; 23705 unsigned char stk2; 23706 stk2 = *D ^ T; 23707 stk1 = S | stk2; 23708 *D = (stk1 & (~S)) | (*D & S); 23709} 23710 23711/* SDTxo source/pattern transparent. */ 23712static void rop3_222_1_1 (unsigned char *D, unsigned char S, unsigned char T) 23713{ 23714 unsigned char stk1; 23715 unsigned char stk2; 23716 stk2 = *D ^ T; 23717 stk1 = S | stk2; 23718 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 23719} 23720 23721/* SDTxo source/pattern opaque. */ 23722static unsigned xrop3_222_0_0 (unsigned char s, unsigned char t) 23723{ 23724 unsigned D = 0x00ff; 23725 unsigned S = ((unsigned)s << 8) | s; 23726 unsigned T = ((unsigned)t << 8) | t; 23727 unsigned stk1; 23728 unsigned stk2; 23729 stk2 = D ^ T; 23730 stk1 = S | stk2; 23731 return stk1; 23732} 23733 23734/* SDTxo source opaque/pattern transparent. */ 23735static unsigned xrop3_222_0_1 (unsigned char s, unsigned char t) 23736{ 23737 unsigned D = 0x00ff; 23738 unsigned S = ((unsigned)s << 8) | s; 23739 unsigned T = ((unsigned)t << 8) | t; 23740 unsigned stk1; 23741 unsigned stk2; 23742 stk2 = D ^ T; 23743 stk1 = S | stk2; 23744 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 23745} 23746 23747/* SDTxo source transparent/pattern opaque. */ 23748static unsigned xrop3_222_1_0 (unsigned char s, unsigned char t) 23749{ 23750 unsigned D = 0x00ff; 23751 unsigned S = ((unsigned)s << 8) | s; 23752 unsigned T = ((unsigned)t << 8) | t; 23753 unsigned stk1; 23754 unsigned stk2; 23755 stk2 = D ^ T; 23756 stk1 = S | stk2; 23757 return (stk1 & (~S)) | (D & S); 23758} 23759 23760/* SDTxo source/pattern transparent. */ 23761static unsigned xrop3_222_1_1 (unsigned char s, unsigned char t) 23762{ 23763 unsigned D = 0x00ff; 23764 unsigned S = ((unsigned)s << 8) | s; 23765 unsigned T = ((unsigned)t << 8) | t; 23766 unsigned stk1; 23767 unsigned stk2; 23768 stk2 = D ^ T; 23769 stk1 = S | stk2; 23770 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 23771} 23772 23773/* SDTano source/pattern opaque. */ 23774static void rop3_223_0_0 (unsigned char *D, unsigned char S, unsigned char T) 23775{ 23776 unsigned char stk1; 23777 unsigned char stk2; 23778 stk2 = *D & T; 23779 stk2 = ~stk2; 23780 stk1 = S | stk2; 23781 *D = stk1; 23782} 23783 23784/* SDTano source opaque/pattern transparent. */ 23785static void rop3_223_0_1 (unsigned char *D, unsigned char S, unsigned char T) 23786{ 23787 unsigned char stk1; 23788 unsigned char stk2; 23789 stk2 = *D & T; 23790 stk2 = ~stk2; 23791 stk1 = S | stk2; 23792 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 23793} 23794 23795/* SDTano source transparent/pattern opaque. */ 23796static void rop3_223_1_0 (unsigned char *D, unsigned char S, unsigned char T) 23797{ 23798 unsigned char stk1; 23799 unsigned char stk2; 23800 stk2 = *D & T; 23801 stk2 = ~stk2; 23802 stk1 = S | stk2; 23803 *D = (stk1 & (~S)) | (*D & S); 23804} 23805 23806/* SDTano source/pattern transparent. */ 23807static void rop3_223_1_1 (unsigned char *D, unsigned char S, unsigned char T) 23808{ 23809 unsigned char stk1; 23810 unsigned char stk2; 23811 stk2 = *D & T; 23812 stk2 = ~stk2; 23813 stk1 = S | stk2; 23814 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 23815} 23816 23817/* SDTano source/pattern opaque. */ 23818static unsigned xrop3_223_0_0 (unsigned char s, unsigned char t) 23819{ 23820 unsigned D = 0x00ff; 23821 unsigned S = ((unsigned)s << 8) | s; 23822 unsigned T = ((unsigned)t << 8) | t; 23823 unsigned stk1; 23824 unsigned stk2; 23825 stk2 = D & T; 23826 stk2 = ~stk2; 23827 stk1 = S | stk2; 23828 return stk1; 23829} 23830 23831/* SDTano source opaque/pattern transparent. */ 23832static unsigned xrop3_223_0_1 (unsigned char s, unsigned char t) 23833{ 23834 unsigned D = 0x00ff; 23835 unsigned S = ((unsigned)s << 8) | s; 23836 unsigned T = ((unsigned)t << 8) | t; 23837 unsigned stk1; 23838 unsigned stk2; 23839 stk2 = D & T; 23840 stk2 = ~stk2; 23841 stk1 = S | stk2; 23842 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 23843} 23844 23845/* SDTano source transparent/pattern opaque. */ 23846static unsigned xrop3_223_1_0 (unsigned char s, unsigned char t) 23847{ 23848 unsigned D = 0x00ff; 23849 unsigned S = ((unsigned)s << 8) | s; 23850 unsigned T = ((unsigned)t << 8) | t; 23851 unsigned stk1; 23852 unsigned stk2; 23853 stk2 = D & T; 23854 stk2 = ~stk2; 23855 stk1 = S | stk2; 23856 return (stk1 & (~S)) | (D & S); 23857} 23858 23859/* SDTano source/pattern transparent. */ 23860static unsigned xrop3_223_1_1 (unsigned char s, unsigned char t) 23861{ 23862 unsigned D = 0x00ff; 23863 unsigned S = ((unsigned)s << 8) | s; 23864 unsigned T = ((unsigned)t << 8) | t; 23865 unsigned stk1; 23866 unsigned stk2; 23867 stk2 = D & T; 23868 stk2 = ~stk2; 23869 stk1 = S | stk2; 23870 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 23871} 23872 23873/* TDSoa source/pattern opaque. */ 23874static void rop3_224_0_0 (unsigned char *D, unsigned char S, unsigned char T) 23875{ 23876 unsigned char stk1; 23877 unsigned char stk2; 23878 stk2 = *D | S; 23879 stk1 = T & stk2; 23880 *D = stk1; 23881} 23882 23883/* TDSoa source opaque/pattern transparent. */ 23884static void rop3_224_0_1 (unsigned char *D, unsigned char S, unsigned char T) 23885{ 23886 unsigned char stk1; 23887 unsigned char stk2; 23888 stk2 = *D | S; 23889 stk1 = T & stk2; 23890 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 23891} 23892 23893/* TDSoa source transparent/pattern opaque. */ 23894static void rop3_224_1_0 (unsigned char *D, unsigned char S, unsigned char T) 23895{ 23896 unsigned char stk1; 23897 unsigned char stk2; 23898 stk2 = *D | S; 23899 stk1 = T & stk2; 23900 *D = (stk1 & (~S)) | (*D & S); 23901} 23902 23903/* TDSoa source/pattern transparent. */ 23904static void rop3_224_1_1 (unsigned char *D, unsigned char S, unsigned char T) 23905{ 23906 unsigned char stk1; 23907 unsigned char stk2; 23908 stk2 = *D | S; 23909 stk1 = T & stk2; 23910 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 23911} 23912 23913/* TDSoa source/pattern opaque. */ 23914static unsigned xrop3_224_0_0 (unsigned char s, unsigned char t) 23915{ 23916 unsigned D = 0x00ff; 23917 unsigned S = ((unsigned)s << 8) | s; 23918 unsigned T = ((unsigned)t << 8) | t; 23919 unsigned stk1; 23920 unsigned stk2; 23921 stk2 = D | S; 23922 stk1 = T & stk2; 23923 return stk1; 23924} 23925 23926/* TDSoa source opaque/pattern transparent. */ 23927static unsigned xrop3_224_0_1 (unsigned char s, unsigned char t) 23928{ 23929 unsigned D = 0x00ff; 23930 unsigned S = ((unsigned)s << 8) | s; 23931 unsigned T = ((unsigned)t << 8) | t; 23932 unsigned stk1; 23933 unsigned stk2; 23934 stk2 = D | S; 23935 stk1 = T & stk2; 23936 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 23937} 23938 23939/* TDSoa source transparent/pattern opaque. */ 23940static unsigned xrop3_224_1_0 (unsigned char s, unsigned char t) 23941{ 23942 unsigned D = 0x00ff; 23943 unsigned S = ((unsigned)s << 8) | s; 23944 unsigned T = ((unsigned)t << 8) | t; 23945 unsigned stk1; 23946 unsigned stk2; 23947 stk2 = D | S; 23948 stk1 = T & stk2; 23949 return (stk1 & (~S)) | (D & S); 23950} 23951 23952/* TDSoa source/pattern transparent. */ 23953static unsigned xrop3_224_1_1 (unsigned char s, unsigned char t) 23954{ 23955 unsigned D = 0x00ff; 23956 unsigned S = ((unsigned)s << 8) | s; 23957 unsigned T = ((unsigned)t << 8) | t; 23958 unsigned stk1; 23959 unsigned stk2; 23960 stk2 = D | S; 23961 stk1 = T & stk2; 23962 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 23963} 23964 23965/* TDSoxn source/pattern opaque. */ 23966static void rop3_225_0_0 (unsigned char *D, unsigned char S, unsigned char T) 23967{ 23968 unsigned char stk1; 23969 unsigned char stk2; 23970 stk2 = *D | S; 23971 stk1 = T ^ stk2; 23972 stk1 = ~stk1; 23973 *D = stk1; 23974} 23975 23976/* TDSoxn source opaque/pattern transparent. */ 23977static void rop3_225_0_1 (unsigned char *D, unsigned char S, unsigned char T) 23978{ 23979 unsigned char stk1; 23980 unsigned char stk2; 23981 stk2 = *D | S; 23982 stk1 = T ^ stk2; 23983 stk1 = ~stk1; 23984 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 23985} 23986 23987/* TDSoxn source transparent/pattern opaque. */ 23988static void rop3_225_1_0 (unsigned char *D, unsigned char S, unsigned char T) 23989{ 23990 unsigned char stk1; 23991 unsigned char stk2; 23992 stk2 = *D | S; 23993 stk1 = T ^ stk2; 23994 stk1 = ~stk1; 23995 *D = (stk1 & (~S)) | (*D & S); 23996} 23997 23998/* TDSoxn source/pattern transparent. */ 23999static void rop3_225_1_1 (unsigned char *D, unsigned char S, unsigned char T) 24000{ 24001 unsigned char stk1; 24002 unsigned char stk2; 24003 stk2 = *D | S; 24004 stk1 = T ^ stk2; 24005 stk1 = ~stk1; 24006 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 24007} 24008 24009/* TDSoxn source/pattern opaque. */ 24010static unsigned xrop3_225_0_0 (unsigned char s, unsigned char t) 24011{ 24012 unsigned D = 0x00ff; 24013 unsigned S = ((unsigned)s << 8) | s; 24014 unsigned T = ((unsigned)t << 8) | t; 24015 unsigned stk1; 24016 unsigned stk2; 24017 stk2 = D | S; 24018 stk1 = T ^ stk2; 24019 stk1 = ~stk1; 24020 return stk1; 24021} 24022 24023/* TDSoxn source opaque/pattern transparent. */ 24024static unsigned xrop3_225_0_1 (unsigned char s, unsigned char t) 24025{ 24026 unsigned D = 0x00ff; 24027 unsigned S = ((unsigned)s << 8) | s; 24028 unsigned T = ((unsigned)t << 8) | t; 24029 unsigned stk1; 24030 unsigned stk2; 24031 stk2 = D | S; 24032 stk1 = T ^ stk2; 24033 stk1 = ~stk1; 24034 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 24035} 24036 24037/* TDSoxn source transparent/pattern opaque. */ 24038static unsigned xrop3_225_1_0 (unsigned char s, unsigned char t) 24039{ 24040 unsigned D = 0x00ff; 24041 unsigned S = ((unsigned)s << 8) | s; 24042 unsigned T = ((unsigned)t << 8) | t; 24043 unsigned stk1; 24044 unsigned stk2; 24045 stk2 = D | S; 24046 stk1 = T ^ stk2; 24047 stk1 = ~stk1; 24048 return (stk1 & (~S)) | (D & S); 24049} 24050 24051/* TDSoxn source/pattern transparent. */ 24052static unsigned xrop3_225_1_1 (unsigned char s, unsigned char t) 24053{ 24054 unsigned D = 0x00ff; 24055 unsigned S = ((unsigned)s << 8) | s; 24056 unsigned T = ((unsigned)t << 8) | t; 24057 unsigned stk1; 24058 unsigned stk2; 24059 stk2 = D | S; 24060 stk1 = T ^ stk2; 24061 stk1 = ~stk1; 24062 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 24063} 24064 24065/* DSTDxax source/pattern opaque. */ 24066static void rop3_226_0_0 (unsigned char *D, unsigned char S, unsigned char T) 24067{ 24068 unsigned char stk1; 24069 unsigned char stk2; 24070 unsigned char stk3; 24071 stk3 = T ^ *D; 24072 stk2 = S & stk3; 24073 stk1 = *D ^ stk2; 24074 *D = stk1; 24075} 24076 24077/* DSTDxax source opaque/pattern transparent. */ 24078static void rop3_226_0_1 (unsigned char *D, unsigned char S, unsigned char T) 24079{ 24080 unsigned char stk1; 24081 unsigned char stk2; 24082 unsigned char stk3; 24083 stk3 = T ^ *D; 24084 stk2 = S & stk3; 24085 stk1 = *D ^ stk2; 24086 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 24087} 24088 24089/* DSTDxax source transparent/pattern opaque. */ 24090static void rop3_226_1_0 (unsigned char *D, unsigned char S, unsigned char T) 24091{ 24092 unsigned char stk1; 24093 unsigned char stk2; 24094 unsigned char stk3; 24095 stk3 = T ^ *D; 24096 stk2 = S & stk3; 24097 stk1 = *D ^ stk2; 24098 *D = (stk1 & (~S)) | (*D & S); 24099} 24100 24101/* DSTDxax source/pattern transparent. */ 24102static void rop3_226_1_1 (unsigned char *D, unsigned char S, unsigned char T) 24103{ 24104 unsigned char stk1; 24105 unsigned char stk2; 24106 unsigned char stk3; 24107 stk3 = T ^ *D; 24108 stk2 = S & stk3; 24109 stk1 = *D ^ stk2; 24110 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 24111} 24112 24113/* DSTDxax source/pattern opaque. */ 24114static unsigned xrop3_226_0_0 (unsigned char s, unsigned char t) 24115{ 24116 unsigned D = 0x00ff; 24117 unsigned S = ((unsigned)s << 8) | s; 24118 unsigned T = ((unsigned)t << 8) | t; 24119 unsigned stk1; 24120 unsigned stk2; 24121 unsigned stk3; 24122 stk3 = T ^ D; 24123 stk2 = S & stk3; 24124 stk1 = D ^ stk2; 24125 return stk1; 24126} 24127 24128/* DSTDxax source opaque/pattern transparent. */ 24129static unsigned xrop3_226_0_1 (unsigned char s, unsigned char t) 24130{ 24131 unsigned D = 0x00ff; 24132 unsigned S = ((unsigned)s << 8) | s; 24133 unsigned T = ((unsigned)t << 8) | t; 24134 unsigned stk1; 24135 unsigned stk2; 24136 unsigned stk3; 24137 stk3 = T ^ D; 24138 stk2 = S & stk3; 24139 stk1 = D ^ stk2; 24140 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 24141} 24142 24143/* DSTDxax source transparent/pattern opaque. */ 24144static unsigned xrop3_226_1_0 (unsigned char s, unsigned char t) 24145{ 24146 unsigned D = 0x00ff; 24147 unsigned S = ((unsigned)s << 8) | s; 24148 unsigned T = ((unsigned)t << 8) | t; 24149 unsigned stk1; 24150 unsigned stk2; 24151 unsigned stk3; 24152 stk3 = T ^ D; 24153 stk2 = S & stk3; 24154 stk1 = D ^ stk2; 24155 return (stk1 & (~S)) | (D & S); 24156} 24157 24158/* DSTDxax source/pattern transparent. */ 24159static unsigned xrop3_226_1_1 (unsigned char s, unsigned char t) 24160{ 24161 unsigned D = 0x00ff; 24162 unsigned S = ((unsigned)s << 8) | s; 24163 unsigned T = ((unsigned)t << 8) | t; 24164 unsigned stk1; 24165 unsigned stk2; 24166 unsigned stk3; 24167 stk3 = T ^ D; 24168 stk2 = S & stk3; 24169 stk1 = D ^ stk2; 24170 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 24171} 24172 24173/* TSDTaoxn source/pattern opaque. */ 24174static void rop3_227_0_0 (unsigned char *D, unsigned char S, unsigned char T) 24175{ 24176 unsigned char stk1; 24177 unsigned char stk2; 24178 unsigned char stk3; 24179 stk3 = *D & T; 24180 stk2 = S | stk3; 24181 stk1 = T ^ stk2; 24182 stk1 = ~stk1; 24183 *D = stk1; 24184} 24185 24186/* TSDTaoxn source opaque/pattern transparent. */ 24187static void rop3_227_0_1 (unsigned char *D, unsigned char S, unsigned char T) 24188{ 24189 unsigned char stk1; 24190 unsigned char stk2; 24191 unsigned char stk3; 24192 stk3 = *D & T; 24193 stk2 = S | stk3; 24194 stk1 = T ^ stk2; 24195 stk1 = ~stk1; 24196 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 24197} 24198 24199/* TSDTaoxn source transparent/pattern opaque. */ 24200static void rop3_227_1_0 (unsigned char *D, unsigned char S, unsigned char T) 24201{ 24202 unsigned char stk1; 24203 unsigned char stk2; 24204 unsigned char stk3; 24205 stk3 = *D & T; 24206 stk2 = S | stk3; 24207 stk1 = T ^ stk2; 24208 stk1 = ~stk1; 24209 *D = (stk1 & (~S)) | (*D & S); 24210} 24211 24212/* TSDTaoxn source/pattern transparent. */ 24213static void rop3_227_1_1 (unsigned char *D, unsigned char S, unsigned char T) 24214{ 24215 unsigned char stk1; 24216 unsigned char stk2; 24217 unsigned char stk3; 24218 stk3 = *D & T; 24219 stk2 = S | stk3; 24220 stk1 = T ^ stk2; 24221 stk1 = ~stk1; 24222 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 24223} 24224 24225/* TSDTaoxn source/pattern opaque. */ 24226static unsigned xrop3_227_0_0 (unsigned char s, unsigned char t) 24227{ 24228 unsigned D = 0x00ff; 24229 unsigned S = ((unsigned)s << 8) | s; 24230 unsigned T = ((unsigned)t << 8) | t; 24231 unsigned stk1; 24232 unsigned stk2; 24233 unsigned stk3; 24234 stk3 = D & T; 24235 stk2 = S | stk3; 24236 stk1 = T ^ stk2; 24237 stk1 = ~stk1; 24238 return stk1; 24239} 24240 24241/* TSDTaoxn source opaque/pattern transparent. */ 24242static unsigned xrop3_227_0_1 (unsigned char s, unsigned char t) 24243{ 24244 unsigned D = 0x00ff; 24245 unsigned S = ((unsigned)s << 8) | s; 24246 unsigned T = ((unsigned)t << 8) | t; 24247 unsigned stk1; 24248 unsigned stk2; 24249 unsigned stk3; 24250 stk3 = D & T; 24251 stk2 = S | stk3; 24252 stk1 = T ^ stk2; 24253 stk1 = ~stk1; 24254 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 24255} 24256 24257/* TSDTaoxn source transparent/pattern opaque. */ 24258static unsigned xrop3_227_1_0 (unsigned char s, unsigned char t) 24259{ 24260 unsigned D = 0x00ff; 24261 unsigned S = ((unsigned)s << 8) | s; 24262 unsigned T = ((unsigned)t << 8) | t; 24263 unsigned stk1; 24264 unsigned stk2; 24265 unsigned stk3; 24266 stk3 = D & T; 24267 stk2 = S | stk3; 24268 stk1 = T ^ stk2; 24269 stk1 = ~stk1; 24270 return (stk1 & (~S)) | (D & S); 24271} 24272 24273/* TSDTaoxn source/pattern transparent. */ 24274static unsigned xrop3_227_1_1 (unsigned char s, unsigned char t) 24275{ 24276 unsigned D = 0x00ff; 24277 unsigned S = ((unsigned)s << 8) | s; 24278 unsigned T = ((unsigned)t << 8) | t; 24279 unsigned stk1; 24280 unsigned stk2; 24281 unsigned stk3; 24282 stk3 = D & T; 24283 stk2 = S | stk3; 24284 stk1 = T ^ stk2; 24285 stk1 = ~stk1; 24286 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 24287} 24288 24289/* SDTSxax source/pattern opaque. */ 24290static void rop3_228_0_0 (unsigned char *D, unsigned char S, unsigned char T) 24291{ 24292 unsigned char stk1; 24293 unsigned char stk2; 24294 unsigned char stk3; 24295 stk3 = T ^ S; 24296 stk2 = *D & stk3; 24297 stk1 = S ^ stk2; 24298 *D = stk1; 24299} 24300 24301/* SDTSxax source opaque/pattern transparent. */ 24302static void rop3_228_0_1 (unsigned char *D, unsigned char S, unsigned char T) 24303{ 24304 unsigned char stk1; 24305 unsigned char stk2; 24306 unsigned char stk3; 24307 stk3 = T ^ S; 24308 stk2 = *D & stk3; 24309 stk1 = S ^ stk2; 24310 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 24311} 24312 24313/* SDTSxax source transparent/pattern opaque. */ 24314static void rop3_228_1_0 (unsigned char *D, unsigned char S, unsigned char T) 24315{ 24316 unsigned char stk1; 24317 unsigned char stk2; 24318 unsigned char stk3; 24319 stk3 = T ^ S; 24320 stk2 = *D & stk3; 24321 stk1 = S ^ stk2; 24322 *D = (stk1 & (~S)) | (*D & S); 24323} 24324 24325/* SDTSxax source/pattern transparent. */ 24326static void rop3_228_1_1 (unsigned char *D, unsigned char S, unsigned char T) 24327{ 24328 unsigned char stk1; 24329 unsigned char stk2; 24330 unsigned char stk3; 24331 stk3 = T ^ S; 24332 stk2 = *D & stk3; 24333 stk1 = S ^ stk2; 24334 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 24335} 24336 24337/* SDTSxax source/pattern opaque. */ 24338static unsigned xrop3_228_0_0 (unsigned char s, unsigned char t) 24339{ 24340 unsigned D = 0x00ff; 24341 unsigned S = ((unsigned)s << 8) | s; 24342 unsigned T = ((unsigned)t << 8) | t; 24343 unsigned stk1; 24344 unsigned stk2; 24345 unsigned stk3; 24346 stk3 = T ^ S; 24347 stk2 = D & stk3; 24348 stk1 = S ^ stk2; 24349 return stk1; 24350} 24351 24352/* SDTSxax source opaque/pattern transparent. */ 24353static unsigned xrop3_228_0_1 (unsigned char s, unsigned char t) 24354{ 24355 unsigned D = 0x00ff; 24356 unsigned S = ((unsigned)s << 8) | s; 24357 unsigned T = ((unsigned)t << 8) | t; 24358 unsigned stk1; 24359 unsigned stk2; 24360 unsigned stk3; 24361 stk3 = T ^ S; 24362 stk2 = D & stk3; 24363 stk1 = S ^ stk2; 24364 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 24365} 24366 24367/* SDTSxax source transparent/pattern opaque. */ 24368static unsigned xrop3_228_1_0 (unsigned char s, unsigned char t) 24369{ 24370 unsigned D = 0x00ff; 24371 unsigned S = ((unsigned)s << 8) | s; 24372 unsigned T = ((unsigned)t << 8) | t; 24373 unsigned stk1; 24374 unsigned stk2; 24375 unsigned stk3; 24376 stk3 = T ^ S; 24377 stk2 = D & stk3; 24378 stk1 = S ^ stk2; 24379 return (stk1 & (~S)) | (D & S); 24380} 24381 24382/* SDTSxax source/pattern transparent. */ 24383static unsigned xrop3_228_1_1 (unsigned char s, unsigned char t) 24384{ 24385 unsigned D = 0x00ff; 24386 unsigned S = ((unsigned)s << 8) | s; 24387 unsigned T = ((unsigned)t << 8) | t; 24388 unsigned stk1; 24389 unsigned stk2; 24390 unsigned stk3; 24391 stk3 = T ^ S; 24392 stk2 = D & stk3; 24393 stk1 = S ^ stk2; 24394 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 24395} 24396 24397/* TDSTaoxn source/pattern opaque. */ 24398static void rop3_229_0_0 (unsigned char *D, unsigned char S, unsigned char T) 24399{ 24400 unsigned char stk1; 24401 unsigned char stk2; 24402 unsigned char stk3; 24403 stk3 = S & T; 24404 stk2 = *D | stk3; 24405 stk1 = T ^ stk2; 24406 stk1 = ~stk1; 24407 *D = stk1; 24408} 24409 24410/* TDSTaoxn source opaque/pattern transparent. */ 24411static void rop3_229_0_1 (unsigned char *D, unsigned char S, unsigned char T) 24412{ 24413 unsigned char stk1; 24414 unsigned char stk2; 24415 unsigned char stk3; 24416 stk3 = S & T; 24417 stk2 = *D | stk3; 24418 stk1 = T ^ stk2; 24419 stk1 = ~stk1; 24420 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 24421} 24422 24423/* TDSTaoxn source transparent/pattern opaque. */ 24424static void rop3_229_1_0 (unsigned char *D, unsigned char S, unsigned char T) 24425{ 24426 unsigned char stk1; 24427 unsigned char stk2; 24428 unsigned char stk3; 24429 stk3 = S & T; 24430 stk2 = *D | stk3; 24431 stk1 = T ^ stk2; 24432 stk1 = ~stk1; 24433 *D = (stk1 & (~S)) | (*D & S); 24434} 24435 24436/* TDSTaoxn source/pattern transparent. */ 24437static void rop3_229_1_1 (unsigned char *D, unsigned char S, unsigned char T) 24438{ 24439 unsigned char stk1; 24440 unsigned char stk2; 24441 unsigned char stk3; 24442 stk3 = S & T; 24443 stk2 = *D | stk3; 24444 stk1 = T ^ stk2; 24445 stk1 = ~stk1; 24446 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 24447} 24448 24449/* TDSTaoxn source/pattern opaque. */ 24450static unsigned xrop3_229_0_0 (unsigned char s, unsigned char t) 24451{ 24452 unsigned D = 0x00ff; 24453 unsigned S = ((unsigned)s << 8) | s; 24454 unsigned T = ((unsigned)t << 8) | t; 24455 unsigned stk1; 24456 unsigned stk2; 24457 unsigned stk3; 24458 stk3 = S & T; 24459 stk2 = D | stk3; 24460 stk1 = T ^ stk2; 24461 stk1 = ~stk1; 24462 return stk1; 24463} 24464 24465/* TDSTaoxn source opaque/pattern transparent. */ 24466static unsigned xrop3_229_0_1 (unsigned char s, unsigned char t) 24467{ 24468 unsigned D = 0x00ff; 24469 unsigned S = ((unsigned)s << 8) | s; 24470 unsigned T = ((unsigned)t << 8) | t; 24471 unsigned stk1; 24472 unsigned stk2; 24473 unsigned stk3; 24474 stk3 = S & T; 24475 stk2 = D | stk3; 24476 stk1 = T ^ stk2; 24477 stk1 = ~stk1; 24478 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 24479} 24480 24481/* TDSTaoxn source transparent/pattern opaque. */ 24482static unsigned xrop3_229_1_0 (unsigned char s, unsigned char t) 24483{ 24484 unsigned D = 0x00ff; 24485 unsigned S = ((unsigned)s << 8) | s; 24486 unsigned T = ((unsigned)t << 8) | t; 24487 unsigned stk1; 24488 unsigned stk2; 24489 unsigned stk3; 24490 stk3 = S & T; 24491 stk2 = D | stk3; 24492 stk1 = T ^ stk2; 24493 stk1 = ~stk1; 24494 return (stk1 & (~S)) | (D & S); 24495} 24496 24497/* TDSTaoxn source/pattern transparent. */ 24498static unsigned xrop3_229_1_1 (unsigned char s, unsigned char t) 24499{ 24500 unsigned D = 0x00ff; 24501 unsigned S = ((unsigned)s << 8) | s; 24502 unsigned T = ((unsigned)t << 8) | t; 24503 unsigned stk1; 24504 unsigned stk2; 24505 unsigned stk3; 24506 stk3 = S & T; 24507 stk2 = D | stk3; 24508 stk1 = T ^ stk2; 24509 stk1 = ~stk1; 24510 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 24511} 24512 24513/* SDTSanax source/pattern opaque. */ 24514static void rop3_230_0_0 (unsigned char *D, unsigned char S, unsigned char T) 24515{ 24516 unsigned char stk1; 24517 unsigned char stk2; 24518 unsigned char stk3; 24519 stk3 = T & S; 24520 stk3 = ~stk3; 24521 stk2 = *D & stk3; 24522 stk1 = S ^ stk2; 24523 *D = stk1; 24524} 24525 24526/* SDTSanax source opaque/pattern transparent. */ 24527static void rop3_230_0_1 (unsigned char *D, unsigned char S, unsigned char T) 24528{ 24529 unsigned char stk1; 24530 unsigned char stk2; 24531 unsigned char stk3; 24532 stk3 = T & S; 24533 stk3 = ~stk3; 24534 stk2 = *D & stk3; 24535 stk1 = S ^ stk2; 24536 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 24537} 24538 24539/* SDTSanax source transparent/pattern opaque. */ 24540static void rop3_230_1_0 (unsigned char *D, unsigned char S, unsigned char T) 24541{ 24542 unsigned char stk1; 24543 unsigned char stk2; 24544 unsigned char stk3; 24545 stk3 = T & S; 24546 stk3 = ~stk3; 24547 stk2 = *D & stk3; 24548 stk1 = S ^ stk2; 24549 *D = (stk1 & (~S)) | (*D & S); 24550} 24551 24552/* SDTSanax source/pattern transparent. */ 24553static void rop3_230_1_1 (unsigned char *D, unsigned char S, unsigned char T) 24554{ 24555 unsigned char stk1; 24556 unsigned char stk2; 24557 unsigned char stk3; 24558 stk3 = T & S; 24559 stk3 = ~stk3; 24560 stk2 = *D & stk3; 24561 stk1 = S ^ stk2; 24562 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 24563} 24564 24565/* SDTSanax source/pattern opaque. */ 24566static unsigned xrop3_230_0_0 (unsigned char s, unsigned char t) 24567{ 24568 unsigned D = 0x00ff; 24569 unsigned S = ((unsigned)s << 8) | s; 24570 unsigned T = ((unsigned)t << 8) | t; 24571 unsigned stk1; 24572 unsigned stk2; 24573 unsigned stk3; 24574 stk3 = T & S; 24575 stk3 = ~stk3; 24576 stk2 = D & stk3; 24577 stk1 = S ^ stk2; 24578 return stk1; 24579} 24580 24581/* SDTSanax source opaque/pattern transparent. */ 24582static unsigned xrop3_230_0_1 (unsigned char s, unsigned char t) 24583{ 24584 unsigned D = 0x00ff; 24585 unsigned S = ((unsigned)s << 8) | s; 24586 unsigned T = ((unsigned)t << 8) | t; 24587 unsigned stk1; 24588 unsigned stk2; 24589 unsigned stk3; 24590 stk3 = T & S; 24591 stk3 = ~stk3; 24592 stk2 = D & stk3; 24593 stk1 = S ^ stk2; 24594 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 24595} 24596 24597/* SDTSanax source transparent/pattern opaque. */ 24598static unsigned xrop3_230_1_0 (unsigned char s, unsigned char t) 24599{ 24600 unsigned D = 0x00ff; 24601 unsigned S = ((unsigned)s << 8) | s; 24602 unsigned T = ((unsigned)t << 8) | t; 24603 unsigned stk1; 24604 unsigned stk2; 24605 unsigned stk3; 24606 stk3 = T & S; 24607 stk3 = ~stk3; 24608 stk2 = D & stk3; 24609 stk1 = S ^ stk2; 24610 return (stk1 & (~S)) | (D & S); 24611} 24612 24613/* SDTSanax source/pattern transparent. */ 24614static unsigned xrop3_230_1_1 (unsigned char s, unsigned char t) 24615{ 24616 unsigned D = 0x00ff; 24617 unsigned S = ((unsigned)s << 8) | s; 24618 unsigned T = ((unsigned)t << 8) | t; 24619 unsigned stk1; 24620 unsigned stk2; 24621 unsigned stk3; 24622 stk3 = T & S; 24623 stk3 = ~stk3; 24624 stk2 = D & stk3; 24625 stk1 = S ^ stk2; 24626 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 24627} 24628 24629/* STxTDxan source/pattern opaque. */ 24630static void rop3_231_0_0 (unsigned char *D, unsigned char S, unsigned char T) 24631{ 24632 unsigned char stk1; 24633 unsigned char stk2; 24634 stk1 = S ^ T; 24635 stk2 = T ^ *D; 24636 stk1 = stk1 & stk2; 24637 stk1 = ~stk1; 24638 *D = stk1; 24639} 24640 24641/* STxTDxan source opaque/pattern transparent. */ 24642static void rop3_231_0_1 (unsigned char *D, unsigned char S, unsigned char T) 24643{ 24644 unsigned char stk1; 24645 unsigned char stk2; 24646 stk1 = S ^ T; 24647 stk2 = T ^ *D; 24648 stk1 = stk1 & stk2; 24649 stk1 = ~stk1; 24650 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 24651} 24652 24653/* STxTDxan source transparent/pattern opaque. */ 24654static void rop3_231_1_0 (unsigned char *D, unsigned char S, unsigned char T) 24655{ 24656 unsigned char stk1; 24657 unsigned char stk2; 24658 stk1 = S ^ T; 24659 stk2 = T ^ *D; 24660 stk1 = stk1 & stk2; 24661 stk1 = ~stk1; 24662 *D = (stk1 & (~S)) | (*D & S); 24663} 24664 24665/* STxTDxan source/pattern transparent. */ 24666static void rop3_231_1_1 (unsigned char *D, unsigned char S, unsigned char T) 24667{ 24668 unsigned char stk1; 24669 unsigned char stk2; 24670 stk1 = S ^ T; 24671 stk2 = T ^ *D; 24672 stk1 = stk1 & stk2; 24673 stk1 = ~stk1; 24674 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 24675} 24676 24677/* STxTDxan source/pattern opaque. */ 24678static unsigned xrop3_231_0_0 (unsigned char s, unsigned char t) 24679{ 24680 unsigned D = 0x00ff; 24681 unsigned S = ((unsigned)s << 8) | s; 24682 unsigned T = ((unsigned)t << 8) | t; 24683 unsigned stk1; 24684 unsigned stk2; 24685 stk1 = S ^ T; 24686 stk2 = T ^ D; 24687 stk1 = stk1 & stk2; 24688 stk1 = ~stk1; 24689 return stk1; 24690} 24691 24692/* STxTDxan source opaque/pattern transparent. */ 24693static unsigned xrop3_231_0_1 (unsigned char s, unsigned char t) 24694{ 24695 unsigned D = 0x00ff; 24696 unsigned S = ((unsigned)s << 8) | s; 24697 unsigned T = ((unsigned)t << 8) | t; 24698 unsigned stk1; 24699 unsigned stk2; 24700 stk1 = S ^ T; 24701 stk2 = T ^ D; 24702 stk1 = stk1 & stk2; 24703 stk1 = ~stk1; 24704 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 24705} 24706 24707/* STxTDxan source transparent/pattern opaque. */ 24708static unsigned xrop3_231_1_0 (unsigned char s, unsigned char t) 24709{ 24710 unsigned D = 0x00ff; 24711 unsigned S = ((unsigned)s << 8) | s; 24712 unsigned T = ((unsigned)t << 8) | t; 24713 unsigned stk1; 24714 unsigned stk2; 24715 stk1 = S ^ T; 24716 stk2 = T ^ D; 24717 stk1 = stk1 & stk2; 24718 stk1 = ~stk1; 24719 return (stk1 & (~S)) | (D & S); 24720} 24721 24722/* STxTDxan source/pattern transparent. */ 24723static unsigned xrop3_231_1_1 (unsigned char s, unsigned char t) 24724{ 24725 unsigned D = 0x00ff; 24726 unsigned S = ((unsigned)s << 8) | s; 24727 unsigned T = ((unsigned)t << 8) | t; 24728 unsigned stk1; 24729 unsigned stk2; 24730 stk1 = S ^ T; 24731 stk2 = T ^ D; 24732 stk1 = stk1 & stk2; 24733 stk1 = ~stk1; 24734 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 24735} 24736 24737/* SSTxDSxax source/pattern opaque. */ 24738static void rop3_232_0_0 (unsigned char *D, unsigned char S, unsigned char T) 24739{ 24740 unsigned char stk1; 24741 unsigned char stk2; 24742 unsigned char stk3; 24743 stk2 = S ^ T; 24744 stk3 = *D ^ S; 24745 stk2 = stk2 & stk3; 24746 stk1 = S ^ stk2; 24747 *D = stk1; 24748} 24749 24750/* SSTxDSxax source opaque/pattern transparent. */ 24751static void rop3_232_0_1 (unsigned char *D, unsigned char S, unsigned char T) 24752{ 24753 unsigned char stk1; 24754 unsigned char stk2; 24755 unsigned char stk3; 24756 stk2 = S ^ T; 24757 stk3 = *D ^ S; 24758 stk2 = stk2 & stk3; 24759 stk1 = S ^ stk2; 24760 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 24761} 24762 24763/* SSTxDSxax source transparent/pattern opaque. */ 24764static void rop3_232_1_0 (unsigned char *D, unsigned char S, unsigned char T) 24765{ 24766 unsigned char stk1; 24767 unsigned char stk2; 24768 unsigned char stk3; 24769 stk2 = S ^ T; 24770 stk3 = *D ^ S; 24771 stk2 = stk2 & stk3; 24772 stk1 = S ^ stk2; 24773 *D = (stk1 & (~S)) | (*D & S); 24774} 24775 24776/* SSTxDSxax source/pattern transparent. */ 24777static void rop3_232_1_1 (unsigned char *D, unsigned char S, unsigned char T) 24778{ 24779 unsigned char stk1; 24780 unsigned char stk2; 24781 unsigned char stk3; 24782 stk2 = S ^ T; 24783 stk3 = *D ^ S; 24784 stk2 = stk2 & stk3; 24785 stk1 = S ^ stk2; 24786 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 24787} 24788 24789/* SSTxDSxax source/pattern opaque. */ 24790static unsigned xrop3_232_0_0 (unsigned char s, unsigned char t) 24791{ 24792 unsigned D = 0x00ff; 24793 unsigned S = ((unsigned)s << 8) | s; 24794 unsigned T = ((unsigned)t << 8) | t; 24795 unsigned stk1; 24796 unsigned stk2; 24797 unsigned stk3; 24798 stk2 = S ^ T; 24799 stk3 = D ^ S; 24800 stk2 = stk2 & stk3; 24801 stk1 = S ^ stk2; 24802 return stk1; 24803} 24804 24805/* SSTxDSxax source opaque/pattern transparent. */ 24806static unsigned xrop3_232_0_1 (unsigned char s, unsigned char t) 24807{ 24808 unsigned D = 0x00ff; 24809 unsigned S = ((unsigned)s << 8) | s; 24810 unsigned T = ((unsigned)t << 8) | t; 24811 unsigned stk1; 24812 unsigned stk2; 24813 unsigned stk3; 24814 stk2 = S ^ T; 24815 stk3 = D ^ S; 24816 stk2 = stk2 & stk3; 24817 stk1 = S ^ stk2; 24818 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 24819} 24820 24821/* SSTxDSxax source transparent/pattern opaque. */ 24822static unsigned xrop3_232_1_0 (unsigned char s, unsigned char t) 24823{ 24824 unsigned D = 0x00ff; 24825 unsigned S = ((unsigned)s << 8) | s; 24826 unsigned T = ((unsigned)t << 8) | t; 24827 unsigned stk1; 24828 unsigned stk2; 24829 unsigned stk3; 24830 stk2 = S ^ T; 24831 stk3 = D ^ S; 24832 stk2 = stk2 & stk3; 24833 stk1 = S ^ stk2; 24834 return (stk1 & (~S)) | (D & S); 24835} 24836 24837/* SSTxDSxax source/pattern transparent. */ 24838static unsigned xrop3_232_1_1 (unsigned char s, unsigned char t) 24839{ 24840 unsigned D = 0x00ff; 24841 unsigned S = ((unsigned)s << 8) | s; 24842 unsigned T = ((unsigned)t << 8) | t; 24843 unsigned stk1; 24844 unsigned stk2; 24845 unsigned stk3; 24846 stk2 = S ^ T; 24847 stk3 = D ^ S; 24848 stk2 = stk2 & stk3; 24849 stk1 = S ^ stk2; 24850 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 24851} 24852 24853/* DSTDSanaxxn source/pattern opaque. */ 24854static void rop3_233_0_0 (unsigned char *D, unsigned char S, unsigned char T) 24855{ 24856 unsigned char stk1; 24857 unsigned char stk2; 24858 unsigned char stk3; 24859 unsigned char stk4; 24860 stk4 = *D & S; 24861 stk4 = ~stk4; 24862 stk3 = T & stk4; 24863 stk2 = S ^ stk3; 24864 stk1 = *D ^ stk2; 24865 stk1 = ~stk1; 24866 *D = stk1; 24867} 24868 24869/* DSTDSanaxxn source opaque/pattern transparent. */ 24870static void rop3_233_0_1 (unsigned char *D, unsigned char S, unsigned char T) 24871{ 24872 unsigned char stk1; 24873 unsigned char stk2; 24874 unsigned char stk3; 24875 unsigned char stk4; 24876 stk4 = *D & S; 24877 stk4 = ~stk4; 24878 stk3 = T & stk4; 24879 stk2 = S ^ stk3; 24880 stk1 = *D ^ stk2; 24881 stk1 = ~stk1; 24882 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 24883} 24884 24885/* DSTDSanaxxn source transparent/pattern opaque. */ 24886static void rop3_233_1_0 (unsigned char *D, unsigned char S, unsigned char T) 24887{ 24888 unsigned char stk1; 24889 unsigned char stk2; 24890 unsigned char stk3; 24891 unsigned char stk4; 24892 stk4 = *D & S; 24893 stk4 = ~stk4; 24894 stk3 = T & stk4; 24895 stk2 = S ^ stk3; 24896 stk1 = *D ^ stk2; 24897 stk1 = ~stk1; 24898 *D = (stk1 & (~S)) | (*D & S); 24899} 24900 24901/* DSTDSanaxxn source/pattern transparent. */ 24902static void rop3_233_1_1 (unsigned char *D, unsigned char S, unsigned char T) 24903{ 24904 unsigned char stk1; 24905 unsigned char stk2; 24906 unsigned char stk3; 24907 unsigned char stk4; 24908 stk4 = *D & S; 24909 stk4 = ~stk4; 24910 stk3 = T & stk4; 24911 stk2 = S ^ stk3; 24912 stk1 = *D ^ stk2; 24913 stk1 = ~stk1; 24914 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 24915} 24916 24917/* DSTDSanaxxn source/pattern opaque. */ 24918static unsigned xrop3_233_0_0 (unsigned char s, unsigned char t) 24919{ 24920 unsigned D = 0x00ff; 24921 unsigned S = ((unsigned)s << 8) | s; 24922 unsigned T = ((unsigned)t << 8) | t; 24923 unsigned stk1; 24924 unsigned stk2; 24925 unsigned stk3; 24926 unsigned stk4; 24927 stk4 = D & S; 24928 stk4 = ~stk4; 24929 stk3 = T & stk4; 24930 stk2 = S ^ stk3; 24931 stk1 = D ^ stk2; 24932 stk1 = ~stk1; 24933 return stk1; 24934} 24935 24936/* DSTDSanaxxn source opaque/pattern transparent. */ 24937static unsigned xrop3_233_0_1 (unsigned char s, unsigned char t) 24938{ 24939 unsigned D = 0x00ff; 24940 unsigned S = ((unsigned)s << 8) | s; 24941 unsigned T = ((unsigned)t << 8) | t; 24942 unsigned stk1; 24943 unsigned stk2; 24944 unsigned stk3; 24945 unsigned stk4; 24946 stk4 = D & S; 24947 stk4 = ~stk4; 24948 stk3 = T & stk4; 24949 stk2 = S ^ stk3; 24950 stk1 = D ^ stk2; 24951 stk1 = ~stk1; 24952 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 24953} 24954 24955/* DSTDSanaxxn source transparent/pattern opaque. */ 24956static unsigned xrop3_233_1_0 (unsigned char s, unsigned char t) 24957{ 24958 unsigned D = 0x00ff; 24959 unsigned S = ((unsigned)s << 8) | s; 24960 unsigned T = ((unsigned)t << 8) | t; 24961 unsigned stk1; 24962 unsigned stk2; 24963 unsigned stk3; 24964 unsigned stk4; 24965 stk4 = D & S; 24966 stk4 = ~stk4; 24967 stk3 = T & stk4; 24968 stk2 = S ^ stk3; 24969 stk1 = D ^ stk2; 24970 stk1 = ~stk1; 24971 return (stk1 & (~S)) | (D & S); 24972} 24973 24974/* DSTDSanaxxn source/pattern transparent. */ 24975static unsigned xrop3_233_1_1 (unsigned char s, unsigned char t) 24976{ 24977 unsigned D = 0x00ff; 24978 unsigned S = ((unsigned)s << 8) | s; 24979 unsigned T = ((unsigned)t << 8) | t; 24980 unsigned stk1; 24981 unsigned stk2; 24982 unsigned stk3; 24983 unsigned stk4; 24984 stk4 = D & S; 24985 stk4 = ~stk4; 24986 stk3 = T & stk4; 24987 stk2 = S ^ stk3; 24988 stk1 = D ^ stk2; 24989 stk1 = ~stk1; 24990 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 24991} 24992 24993/* DTSao source/pattern opaque. */ 24994static void rop3_234_0_0 (unsigned char *D, unsigned char S, unsigned char T) 24995{ 24996 unsigned char stk1; 24997 unsigned char stk2; 24998 stk2 = T & S; 24999 stk1 = *D | stk2; 25000 *D = stk1; 25001} 25002 25003/* DTSao source opaque/pattern transparent. */ 25004static void rop3_234_0_1 (unsigned char *D, unsigned char S, unsigned char T) 25005{ 25006 unsigned char stk1; 25007 unsigned char stk2; 25008 stk2 = T & S; 25009 stk1 = *D | stk2; 25010 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 25011} 25012 25013/* DTSao source transparent/pattern opaque. */ 25014static void rop3_234_1_0 (unsigned char *D, unsigned char S, unsigned char T) 25015{ 25016 unsigned char stk1; 25017 unsigned char stk2; 25018 stk2 = T & S; 25019 stk1 = *D | stk2; 25020 *D = (stk1 & (~S)) | (*D & S); 25021} 25022 25023/* DTSao source/pattern transparent. */ 25024static void rop3_234_1_1 (unsigned char *D, unsigned char S, unsigned char T) 25025{ 25026 unsigned char stk1; 25027 unsigned char stk2; 25028 stk2 = T & S; 25029 stk1 = *D | stk2; 25030 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 25031} 25032 25033/* DTSao source/pattern opaque. */ 25034static unsigned xrop3_234_0_0 (unsigned char s, unsigned char t) 25035{ 25036 unsigned D = 0x00ff; 25037 unsigned S = ((unsigned)s << 8) | s; 25038 unsigned T = ((unsigned)t << 8) | t; 25039 unsigned stk1; 25040 unsigned stk2; 25041 stk2 = T & S; 25042 stk1 = D | stk2; 25043 return stk1; 25044} 25045 25046/* DTSao source opaque/pattern transparent. */ 25047static unsigned xrop3_234_0_1 (unsigned char s, unsigned char t) 25048{ 25049 unsigned D = 0x00ff; 25050 unsigned S = ((unsigned)s << 8) | s; 25051 unsigned T = ((unsigned)t << 8) | t; 25052 unsigned stk1; 25053 unsigned stk2; 25054 stk2 = T & S; 25055 stk1 = D | stk2; 25056 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 25057} 25058 25059/* DTSao source transparent/pattern opaque. */ 25060static unsigned xrop3_234_1_0 (unsigned char s, unsigned char t) 25061{ 25062 unsigned D = 0x00ff; 25063 unsigned S = ((unsigned)s << 8) | s; 25064 unsigned T = ((unsigned)t << 8) | t; 25065 unsigned stk1; 25066 unsigned stk2; 25067 stk2 = T & S; 25068 stk1 = D | stk2; 25069 return (stk1 & (~S)) | (D & S); 25070} 25071 25072/* DTSao source/pattern transparent. */ 25073static unsigned xrop3_234_1_1 (unsigned char s, unsigned char t) 25074{ 25075 unsigned D = 0x00ff; 25076 unsigned S = ((unsigned)s << 8) | s; 25077 unsigned T = ((unsigned)t << 8) | t; 25078 unsigned stk1; 25079 unsigned stk2; 25080 stk2 = T & S; 25081 stk1 = D | stk2; 25082 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 25083} 25084 25085/* DTSxno source/pattern opaque. */ 25086static void rop3_235_0_0 (unsigned char *D, unsigned char S, unsigned char T) 25087{ 25088 unsigned char stk1; 25089 unsigned char stk2; 25090 stk2 = T ^ S; 25091 stk2 = ~stk2; 25092 stk1 = *D | stk2; 25093 *D = stk1; 25094} 25095 25096/* DTSxno source opaque/pattern transparent. */ 25097static void rop3_235_0_1 (unsigned char *D, unsigned char S, unsigned char T) 25098{ 25099 unsigned char stk1; 25100 unsigned char stk2; 25101 stk2 = T ^ S; 25102 stk2 = ~stk2; 25103 stk1 = *D | stk2; 25104 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 25105} 25106 25107/* DTSxno source transparent/pattern opaque. */ 25108static void rop3_235_1_0 (unsigned char *D, unsigned char S, unsigned char T) 25109{ 25110 unsigned char stk1; 25111 unsigned char stk2; 25112 stk2 = T ^ S; 25113 stk2 = ~stk2; 25114 stk1 = *D | stk2; 25115 *D = (stk1 & (~S)) | (*D & S); 25116} 25117 25118/* DTSxno source/pattern transparent. */ 25119static void rop3_235_1_1 (unsigned char *D, unsigned char S, unsigned char T) 25120{ 25121 unsigned char stk1; 25122 unsigned char stk2; 25123 stk2 = T ^ S; 25124 stk2 = ~stk2; 25125 stk1 = *D | stk2; 25126 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 25127} 25128 25129/* DTSxno source/pattern opaque. */ 25130static unsigned xrop3_235_0_0 (unsigned char s, unsigned char t) 25131{ 25132 unsigned D = 0x00ff; 25133 unsigned S = ((unsigned)s << 8) | s; 25134 unsigned T = ((unsigned)t << 8) | t; 25135 unsigned stk1; 25136 unsigned stk2; 25137 stk2 = T ^ S; 25138 stk2 = ~stk2; 25139 stk1 = D | stk2; 25140 return stk1; 25141} 25142 25143/* DTSxno source opaque/pattern transparent. */ 25144static unsigned xrop3_235_0_1 (unsigned char s, unsigned char t) 25145{ 25146 unsigned D = 0x00ff; 25147 unsigned S = ((unsigned)s << 8) | s; 25148 unsigned T = ((unsigned)t << 8) | t; 25149 unsigned stk1; 25150 unsigned stk2; 25151 stk2 = T ^ S; 25152 stk2 = ~stk2; 25153 stk1 = D | stk2; 25154 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 25155} 25156 25157/* DTSxno source transparent/pattern opaque. */ 25158static unsigned xrop3_235_1_0 (unsigned char s, unsigned char t) 25159{ 25160 unsigned D = 0x00ff; 25161 unsigned S = ((unsigned)s << 8) | s; 25162 unsigned T = ((unsigned)t << 8) | t; 25163 unsigned stk1; 25164 unsigned stk2; 25165 stk2 = T ^ S; 25166 stk2 = ~stk2; 25167 stk1 = D | stk2; 25168 return (stk1 & (~S)) | (D & S); 25169} 25170 25171/* DTSxno source/pattern transparent. */ 25172static unsigned xrop3_235_1_1 (unsigned char s, unsigned char t) 25173{ 25174 unsigned D = 0x00ff; 25175 unsigned S = ((unsigned)s << 8) | s; 25176 unsigned T = ((unsigned)t << 8) | t; 25177 unsigned stk1; 25178 unsigned stk2; 25179 stk2 = T ^ S; 25180 stk2 = ~stk2; 25181 stk1 = D | stk2; 25182 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 25183} 25184 25185/* SDTao source/pattern opaque. */ 25186static void rop3_236_0_0 (unsigned char *D, unsigned char S, unsigned char T) 25187{ 25188 unsigned char stk1; 25189 unsigned char stk2; 25190 stk2 = *D & T; 25191 stk1 = S | stk2; 25192 *D = stk1; 25193} 25194 25195/* SDTao source opaque/pattern transparent. */ 25196static void rop3_236_0_1 (unsigned char *D, unsigned char S, unsigned char T) 25197{ 25198 unsigned char stk1; 25199 unsigned char stk2; 25200 stk2 = *D & T; 25201 stk1 = S | stk2; 25202 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 25203} 25204 25205/* SDTao source transparent/pattern opaque. */ 25206static void rop3_236_1_0 (unsigned char *D, unsigned char S, unsigned char T) 25207{ 25208 unsigned char stk1; 25209 unsigned char stk2; 25210 stk2 = *D & T; 25211 stk1 = S | stk2; 25212 *D = (stk1 & (~S)) | (*D & S); 25213} 25214 25215/* SDTao source/pattern transparent. */ 25216static void rop3_236_1_1 (unsigned char *D, unsigned char S, unsigned char T) 25217{ 25218 unsigned char stk1; 25219 unsigned char stk2; 25220 stk2 = *D & T; 25221 stk1 = S | stk2; 25222 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 25223} 25224 25225/* SDTao source/pattern opaque. */ 25226static unsigned xrop3_236_0_0 (unsigned char s, unsigned char t) 25227{ 25228 unsigned D = 0x00ff; 25229 unsigned S = ((unsigned)s << 8) | s; 25230 unsigned T = ((unsigned)t << 8) | t; 25231 unsigned stk1; 25232 unsigned stk2; 25233 stk2 = D & T; 25234 stk1 = S | stk2; 25235 return stk1; 25236} 25237 25238/* SDTao source opaque/pattern transparent. */ 25239static unsigned xrop3_236_0_1 (unsigned char s, unsigned char t) 25240{ 25241 unsigned D = 0x00ff; 25242 unsigned S = ((unsigned)s << 8) | s; 25243 unsigned T = ((unsigned)t << 8) | t; 25244 unsigned stk1; 25245 unsigned stk2; 25246 stk2 = D & T; 25247 stk1 = S | stk2; 25248 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 25249} 25250 25251/* SDTao source transparent/pattern opaque. */ 25252static unsigned xrop3_236_1_0 (unsigned char s, unsigned char t) 25253{ 25254 unsigned D = 0x00ff; 25255 unsigned S = ((unsigned)s << 8) | s; 25256 unsigned T = ((unsigned)t << 8) | t; 25257 unsigned stk1; 25258 unsigned stk2; 25259 stk2 = D & T; 25260 stk1 = S | stk2; 25261 return (stk1 & (~S)) | (D & S); 25262} 25263 25264/* SDTao source/pattern transparent. */ 25265static unsigned xrop3_236_1_1 (unsigned char s, unsigned char t) 25266{ 25267 unsigned D = 0x00ff; 25268 unsigned S = ((unsigned)s << 8) | s; 25269 unsigned T = ((unsigned)t << 8) | t; 25270 unsigned stk1; 25271 unsigned stk2; 25272 stk2 = D & T; 25273 stk1 = S | stk2; 25274 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 25275} 25276 25277/* SDTxno source/pattern opaque. */ 25278static void rop3_237_0_0 (unsigned char *D, unsigned char S, unsigned char T) 25279{ 25280 unsigned char stk1; 25281 unsigned char stk2; 25282 stk2 = *D ^ T; 25283 stk2 = ~stk2; 25284 stk1 = S | stk2; 25285 *D = stk1; 25286} 25287 25288/* SDTxno source opaque/pattern transparent. */ 25289static void rop3_237_0_1 (unsigned char *D, unsigned char S, unsigned char T) 25290{ 25291 unsigned char stk1; 25292 unsigned char stk2; 25293 stk2 = *D ^ T; 25294 stk2 = ~stk2; 25295 stk1 = S | stk2; 25296 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 25297} 25298 25299/* SDTxno source transparent/pattern opaque. */ 25300static void rop3_237_1_0 (unsigned char *D, unsigned char S, unsigned char T) 25301{ 25302 unsigned char stk1; 25303 unsigned char stk2; 25304 stk2 = *D ^ T; 25305 stk2 = ~stk2; 25306 stk1 = S | stk2; 25307 *D = (stk1 & (~S)) | (*D & S); 25308} 25309 25310/* SDTxno source/pattern transparent. */ 25311static void rop3_237_1_1 (unsigned char *D, unsigned char S, unsigned char T) 25312{ 25313 unsigned char stk1; 25314 unsigned char stk2; 25315 stk2 = *D ^ T; 25316 stk2 = ~stk2; 25317 stk1 = S | stk2; 25318 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 25319} 25320 25321/* SDTxno source/pattern opaque. */ 25322static unsigned xrop3_237_0_0 (unsigned char s, unsigned char t) 25323{ 25324 unsigned D = 0x00ff; 25325 unsigned S = ((unsigned)s << 8) | s; 25326 unsigned T = ((unsigned)t << 8) | t; 25327 unsigned stk1; 25328 unsigned stk2; 25329 stk2 = D ^ T; 25330 stk2 = ~stk2; 25331 stk1 = S | stk2; 25332 return stk1; 25333} 25334 25335/* SDTxno source opaque/pattern transparent. */ 25336static unsigned xrop3_237_0_1 (unsigned char s, unsigned char t) 25337{ 25338 unsigned D = 0x00ff; 25339 unsigned S = ((unsigned)s << 8) | s; 25340 unsigned T = ((unsigned)t << 8) | t; 25341 unsigned stk1; 25342 unsigned stk2; 25343 stk2 = D ^ T; 25344 stk2 = ~stk2; 25345 stk1 = S | stk2; 25346 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 25347} 25348 25349/* SDTxno source transparent/pattern opaque. */ 25350static unsigned xrop3_237_1_0 (unsigned char s, unsigned char t) 25351{ 25352 unsigned D = 0x00ff; 25353 unsigned S = ((unsigned)s << 8) | s; 25354 unsigned T = ((unsigned)t << 8) | t; 25355 unsigned stk1; 25356 unsigned stk2; 25357 stk2 = D ^ T; 25358 stk2 = ~stk2; 25359 stk1 = S | stk2; 25360 return (stk1 & (~S)) | (D & S); 25361} 25362 25363/* SDTxno source/pattern transparent. */ 25364static unsigned xrop3_237_1_1 (unsigned char s, unsigned char t) 25365{ 25366 unsigned D = 0x00ff; 25367 unsigned S = ((unsigned)s << 8) | s; 25368 unsigned T = ((unsigned)t << 8) | t; 25369 unsigned stk1; 25370 unsigned stk2; 25371 stk2 = D ^ T; 25372 stk2 = ~stk2; 25373 stk1 = S | stk2; 25374 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 25375} 25376 25377/* DSo source/pattern opaque. */ 25378static void rop3_238_0_0 (unsigned char *D, unsigned char S, unsigned char T) 25379{ 25380 unsigned char stk1; 25381 stk1 = *D | S; 25382 *D = stk1; 25383} 25384 25385/* DSo source opaque/pattern transparent. */ 25386static void rop3_238_0_1 (unsigned char *D, unsigned char S, unsigned char T) 25387{ 25388 unsigned char stk1; 25389 stk1 = *D | S; 25390 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 25391} 25392 25393/* DSo source transparent/pattern opaque. */ 25394static void rop3_238_1_0 (unsigned char *D, unsigned char S, unsigned char T) 25395{ 25396 unsigned char stk1; 25397 stk1 = *D | S; 25398 *D = (stk1 & (~S)) | (*D & S); 25399} 25400 25401/* DSo source/pattern transparent. */ 25402static void rop3_238_1_1 (unsigned char *D, unsigned char S, unsigned char T) 25403{ 25404 unsigned char stk1; 25405 stk1 = *D | S; 25406 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 25407} 25408 25409/* DSo source/pattern opaque. */ 25410static unsigned xrop3_238_0_0 (unsigned char s, unsigned char t) 25411{ 25412 unsigned D = 0x00ff; 25413 unsigned S = ((unsigned)s << 8) | s; 25414 unsigned stk1; 25415 stk1 = D | S; 25416 return stk1; 25417} 25418 25419/* DSo source opaque/pattern transparent. */ 25420static unsigned xrop3_238_0_1 (unsigned char s, unsigned char t) 25421{ 25422 unsigned D = 0x00ff; 25423 unsigned S = ((unsigned)s << 8) | s; 25424 unsigned T = ((unsigned)t << 8) | t; 25425 unsigned stk1; 25426 stk1 = D | S; 25427 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 25428} 25429 25430/* DSo source transparent/pattern opaque. */ 25431static unsigned xrop3_238_1_0 (unsigned char s, unsigned char t) 25432{ 25433 unsigned D = 0x00ff; 25434 unsigned S = ((unsigned)s << 8) | s; 25435 unsigned stk1; 25436 stk1 = D | S; 25437 return (stk1 & (~S)) | (D & S); 25438} 25439 25440/* DSo source/pattern transparent. */ 25441static unsigned xrop3_238_1_1 (unsigned char s, unsigned char t) 25442{ 25443 unsigned D = 0x00ff; 25444 unsigned S = ((unsigned)s << 8) | s; 25445 unsigned T = ((unsigned)t << 8) | t; 25446 unsigned stk1; 25447 stk1 = D | S; 25448 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 25449} 25450 25451/* SDTnoo source/pattern opaque. */ 25452static void rop3_239_0_0 (unsigned char *D, unsigned char S, unsigned char T) 25453{ 25454 unsigned char stk1; 25455 unsigned char stk2; 25456 unsigned char stk3; 25457 stk3 = ~T; 25458 stk2 = *D | stk3; 25459 stk1 = S | stk2; 25460 *D = stk1; 25461} 25462 25463/* SDTnoo source opaque/pattern transparent. */ 25464static void rop3_239_0_1 (unsigned char *D, unsigned char S, unsigned char T) 25465{ 25466 unsigned char stk1; 25467 unsigned char stk2; 25468 unsigned char stk3; 25469 stk3 = ~T; 25470 stk2 = *D | stk3; 25471 stk1 = S | stk2; 25472 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 25473} 25474 25475/* SDTnoo source transparent/pattern opaque. */ 25476static void rop3_239_1_0 (unsigned char *D, unsigned char S, unsigned char T) 25477{ 25478 unsigned char stk1; 25479 unsigned char stk2; 25480 unsigned char stk3; 25481 stk3 = ~T; 25482 stk2 = *D | stk3; 25483 stk1 = S | stk2; 25484 *D = (stk1 & (~S)) | (*D & S); 25485} 25486 25487/* SDTnoo source/pattern transparent. */ 25488static void rop3_239_1_1 (unsigned char *D, unsigned char S, unsigned char T) 25489{ 25490 unsigned char stk1; 25491 unsigned char stk2; 25492 unsigned char stk3; 25493 stk3 = ~T; 25494 stk2 = *D | stk3; 25495 stk1 = S | stk2; 25496 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 25497} 25498 25499/* SDTnoo source/pattern opaque. */ 25500static unsigned xrop3_239_0_0 (unsigned char s, unsigned char t) 25501{ 25502 unsigned D = 0x00ff; 25503 unsigned S = ((unsigned)s << 8) | s; 25504 unsigned T = ((unsigned)t << 8) | t; 25505 unsigned stk1; 25506 unsigned stk2; 25507 unsigned stk3; 25508 stk3 = ~T; 25509 stk2 = D | stk3; 25510 stk1 = S | stk2; 25511 return stk1; 25512} 25513 25514/* SDTnoo source opaque/pattern transparent. */ 25515static unsigned xrop3_239_0_1 (unsigned char s, unsigned char t) 25516{ 25517 unsigned D = 0x00ff; 25518 unsigned S = ((unsigned)s << 8) | s; 25519 unsigned T = ((unsigned)t << 8) | t; 25520 unsigned stk1; 25521 unsigned stk2; 25522 unsigned stk3; 25523 stk3 = ~T; 25524 stk2 = D | stk3; 25525 stk1 = S | stk2; 25526 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 25527} 25528 25529/* SDTnoo source transparent/pattern opaque. */ 25530static unsigned xrop3_239_1_0 (unsigned char s, unsigned char t) 25531{ 25532 unsigned D = 0x00ff; 25533 unsigned S = ((unsigned)s << 8) | s; 25534 unsigned T = ((unsigned)t << 8) | t; 25535 unsigned stk1; 25536 unsigned stk2; 25537 unsigned stk3; 25538 stk3 = ~T; 25539 stk2 = D | stk3; 25540 stk1 = S | stk2; 25541 return (stk1 & (~S)) | (D & S); 25542} 25543 25544/* SDTnoo source/pattern transparent. */ 25545static unsigned xrop3_239_1_1 (unsigned char s, unsigned char t) 25546{ 25547 unsigned D = 0x00ff; 25548 unsigned S = ((unsigned)s << 8) | s; 25549 unsigned T = ((unsigned)t << 8) | t; 25550 unsigned stk1; 25551 unsigned stk2; 25552 unsigned stk3; 25553 stk3 = ~T; 25554 stk2 = D | stk3; 25555 stk1 = S | stk2; 25556 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 25557} 25558 25559/* T source/pattern opaque. */ 25560static void rop3_240_0_0 (unsigned char *D, unsigned char S, unsigned char T) 25561{ 25562 *D = T; 25563} 25564 25565/* T source opaque/pattern transparent. */ 25566static void rop3_240_0_1 (unsigned char *D, unsigned char S, unsigned char T) 25567{ 25568 *D = (T & S) | (T & (~T)) | (T & (~S) & *D); 25569} 25570 25571/* T source transparent/pattern opaque. */ 25572static void rop3_240_1_0 (unsigned char *D, unsigned char S, unsigned char T) 25573{ 25574 *D = (T & (~S)) | (*D & S); 25575} 25576 25577/* T source/pattern transparent. */ 25578static void rop3_240_1_1 (unsigned char *D, unsigned char S, unsigned char T) 25579{ 25580 *D = (T & (~S) & (~T)) | (*D & S) | (*D & T); 25581} 25582 25583/* T source/pattern opaque. */ 25584static unsigned xrop3_240_0_0 (unsigned char s, unsigned char t) 25585{ 25586 unsigned T = ((unsigned)t << 8) | t; 25587 return T; 25588} 25589 25590/* T source opaque/pattern transparent. */ 25591static unsigned xrop3_240_0_1 (unsigned char s, unsigned char t) 25592{ 25593 unsigned D = 0x00ff; 25594 unsigned S = ((unsigned)s << 8) | s; 25595 unsigned T = ((unsigned)t << 8) | t; 25596 return (T & S) | (T & (~T)) | (T & (~S) & D); 25597} 25598 25599/* T source transparent/pattern opaque. */ 25600static unsigned xrop3_240_1_0 (unsigned char s, unsigned char t) 25601{ 25602 unsigned D = 0x00ff; 25603 unsigned S = ((unsigned)s << 8) | s; 25604 unsigned T = ((unsigned)t << 8) | t; 25605 return (T & (~S)) | (D & S); 25606} 25607 25608/* T source/pattern transparent. */ 25609static unsigned xrop3_240_1_1 (unsigned char s, unsigned char t) 25610{ 25611 unsigned D = 0x00ff; 25612 unsigned S = ((unsigned)s << 8) | s; 25613 unsigned T = ((unsigned)t << 8) | t; 25614 return (T & (~S) & (~T)) | (D & S) | (D & T); 25615} 25616 25617/* TDSono source/pattern opaque. */ 25618static void rop3_241_0_0 (unsigned char *D, unsigned char S, unsigned char T) 25619{ 25620 unsigned char stk1; 25621 unsigned char stk2; 25622 stk2 = *D | S; 25623 stk2 = ~stk2; 25624 stk1 = T | stk2; 25625 *D = stk1; 25626} 25627 25628/* TDSono source opaque/pattern transparent. */ 25629static void rop3_241_0_1 (unsigned char *D, unsigned char S, unsigned char T) 25630{ 25631 unsigned char stk1; 25632 unsigned char stk2; 25633 stk2 = *D | S; 25634 stk2 = ~stk2; 25635 stk1 = T | stk2; 25636 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 25637} 25638 25639/* TDSono source transparent/pattern opaque. */ 25640static void rop3_241_1_0 (unsigned char *D, unsigned char S, unsigned char T) 25641{ 25642 unsigned char stk1; 25643 unsigned char stk2; 25644 stk2 = *D | S; 25645 stk2 = ~stk2; 25646 stk1 = T | stk2; 25647 *D = (stk1 & (~S)) | (*D & S); 25648} 25649 25650/* TDSono source/pattern transparent. */ 25651static void rop3_241_1_1 (unsigned char *D, unsigned char S, unsigned char T) 25652{ 25653 unsigned char stk1; 25654 unsigned char stk2; 25655 stk2 = *D | S; 25656 stk2 = ~stk2; 25657 stk1 = T | stk2; 25658 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 25659} 25660 25661/* TDSono source/pattern opaque. */ 25662static unsigned xrop3_241_0_0 (unsigned char s, unsigned char t) 25663{ 25664 unsigned D = 0x00ff; 25665 unsigned S = ((unsigned)s << 8) | s; 25666 unsigned T = ((unsigned)t << 8) | t; 25667 unsigned stk1; 25668 unsigned stk2; 25669 stk2 = D | S; 25670 stk2 = ~stk2; 25671 stk1 = T | stk2; 25672 return stk1; 25673} 25674 25675/* TDSono source opaque/pattern transparent. */ 25676static unsigned xrop3_241_0_1 (unsigned char s, unsigned char t) 25677{ 25678 unsigned D = 0x00ff; 25679 unsigned S = ((unsigned)s << 8) | s; 25680 unsigned T = ((unsigned)t << 8) | t; 25681 unsigned stk1; 25682 unsigned stk2; 25683 stk2 = D | S; 25684 stk2 = ~stk2; 25685 stk1 = T | stk2; 25686 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 25687} 25688 25689/* TDSono source transparent/pattern opaque. */ 25690static unsigned xrop3_241_1_0 (unsigned char s, unsigned char t) 25691{ 25692 unsigned D = 0x00ff; 25693 unsigned S = ((unsigned)s << 8) | s; 25694 unsigned T = ((unsigned)t << 8) | t; 25695 unsigned stk1; 25696 unsigned stk2; 25697 stk2 = D | S; 25698 stk2 = ~stk2; 25699 stk1 = T | stk2; 25700 return (stk1 & (~S)) | (D & S); 25701} 25702 25703/* TDSono source/pattern transparent. */ 25704static unsigned xrop3_241_1_1 (unsigned char s, unsigned char t) 25705{ 25706 unsigned D = 0x00ff; 25707 unsigned S = ((unsigned)s << 8) | s; 25708 unsigned T = ((unsigned)t << 8) | t; 25709 unsigned stk1; 25710 unsigned stk2; 25711 stk2 = D | S; 25712 stk2 = ~stk2; 25713 stk1 = T | stk2; 25714 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 25715} 25716 25717/* TDSnao source/pattern opaque. */ 25718static void rop3_242_0_0 (unsigned char *D, unsigned char S, unsigned char T) 25719{ 25720 unsigned char stk1; 25721 unsigned char stk2; 25722 unsigned char stk3; 25723 stk3 = ~S; 25724 stk2 = *D & stk3; 25725 stk1 = T | stk2; 25726 *D = stk1; 25727} 25728 25729/* TDSnao source opaque/pattern transparent. */ 25730static void rop3_242_0_1 (unsigned char *D, unsigned char S, unsigned char T) 25731{ 25732 unsigned char stk1; 25733 unsigned char stk2; 25734 unsigned char stk3; 25735 stk3 = ~S; 25736 stk2 = *D & stk3; 25737 stk1 = T | stk2; 25738 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 25739} 25740 25741/* TDSnao source transparent/pattern opaque. */ 25742static void rop3_242_1_0 (unsigned char *D, unsigned char S, unsigned char T) 25743{ 25744 unsigned char stk1; 25745 unsigned char stk2; 25746 unsigned char stk3; 25747 stk3 = ~S; 25748 stk2 = *D & stk3; 25749 stk1 = T | stk2; 25750 *D = (stk1 & (~S)) | (*D & S); 25751} 25752 25753/* TDSnao source/pattern transparent. */ 25754static void rop3_242_1_1 (unsigned char *D, unsigned char S, unsigned char T) 25755{ 25756 unsigned char stk1; 25757 unsigned char stk2; 25758 unsigned char stk3; 25759 stk3 = ~S; 25760 stk2 = *D & stk3; 25761 stk1 = T | stk2; 25762 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 25763} 25764 25765/* TDSnao source/pattern opaque. */ 25766static unsigned xrop3_242_0_0 (unsigned char s, unsigned char t) 25767{ 25768 unsigned D = 0x00ff; 25769 unsigned S = ((unsigned)s << 8) | s; 25770 unsigned T = ((unsigned)t << 8) | t; 25771 unsigned stk1; 25772 unsigned stk2; 25773 unsigned stk3; 25774 stk3 = ~S; 25775 stk2 = D & stk3; 25776 stk1 = T | stk2; 25777 return stk1; 25778} 25779 25780/* TDSnao source opaque/pattern transparent. */ 25781static unsigned xrop3_242_0_1 (unsigned char s, unsigned char t) 25782{ 25783 unsigned D = 0x00ff; 25784 unsigned S = ((unsigned)s << 8) | s; 25785 unsigned T = ((unsigned)t << 8) | t; 25786 unsigned stk1; 25787 unsigned stk2; 25788 unsigned stk3; 25789 stk3 = ~S; 25790 stk2 = D & stk3; 25791 stk1 = T | stk2; 25792 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 25793} 25794 25795/* TDSnao source transparent/pattern opaque. */ 25796static unsigned xrop3_242_1_0 (unsigned char s, unsigned char t) 25797{ 25798 unsigned D = 0x00ff; 25799 unsigned S = ((unsigned)s << 8) | s; 25800 unsigned T = ((unsigned)t << 8) | t; 25801 unsigned stk1; 25802 unsigned stk2; 25803 unsigned stk3; 25804 stk3 = ~S; 25805 stk2 = D & stk3; 25806 stk1 = T | stk2; 25807 return (stk1 & (~S)) | (D & S); 25808} 25809 25810/* TDSnao source/pattern transparent. */ 25811static unsigned xrop3_242_1_1 (unsigned char s, unsigned char t) 25812{ 25813 unsigned D = 0x00ff; 25814 unsigned S = ((unsigned)s << 8) | s; 25815 unsigned T = ((unsigned)t << 8) | t; 25816 unsigned stk1; 25817 unsigned stk2; 25818 unsigned stk3; 25819 stk3 = ~S; 25820 stk2 = D & stk3; 25821 stk1 = T | stk2; 25822 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 25823} 25824 25825/* TSno source/pattern opaque. */ 25826static void rop3_243_0_0 (unsigned char *D, unsigned char S, unsigned char T) 25827{ 25828 unsigned char stk1; 25829 unsigned char stk2; 25830 stk2 = ~S; 25831 stk1 = T | stk2; 25832 *D = stk1; 25833} 25834 25835/* TSno source opaque/pattern transparent. */ 25836static void rop3_243_0_1 (unsigned char *D, unsigned char S, unsigned char T) 25837{ 25838 unsigned char stk1; 25839 unsigned char stk2; 25840 stk2 = ~S; 25841 stk1 = T | stk2; 25842 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 25843} 25844 25845/* TSno source transparent/pattern opaque. */ 25846static void rop3_243_1_0 (unsigned char *D, unsigned char S, unsigned char T) 25847{ 25848 unsigned char stk1; 25849 unsigned char stk2; 25850 stk2 = ~S; 25851 stk1 = T | stk2; 25852 *D = (stk1 & (~S)) | (*D & S); 25853} 25854 25855/* TSno source/pattern transparent. */ 25856static void rop3_243_1_1 (unsigned char *D, unsigned char S, unsigned char T) 25857{ 25858 unsigned char stk1; 25859 unsigned char stk2; 25860 stk2 = ~S; 25861 stk1 = T | stk2; 25862 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 25863} 25864 25865/* TSno source/pattern opaque. */ 25866static unsigned xrop3_243_0_0 (unsigned char s, unsigned char t) 25867{ 25868 unsigned S = ((unsigned)s << 8) | s; 25869 unsigned T = ((unsigned)t << 8) | t; 25870 unsigned stk1; 25871 unsigned stk2; 25872 stk2 = ~S; 25873 stk1 = T | stk2; 25874 return stk1; 25875} 25876 25877/* TSno source opaque/pattern transparent. */ 25878static unsigned xrop3_243_0_1 (unsigned char s, unsigned char t) 25879{ 25880 unsigned D = 0x00ff; 25881 unsigned S = ((unsigned)s << 8) | s; 25882 unsigned T = ((unsigned)t << 8) | t; 25883 unsigned stk1; 25884 unsigned stk2; 25885 stk2 = ~S; 25886 stk1 = T | stk2; 25887 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 25888} 25889 25890/* TSno source transparent/pattern opaque. */ 25891static unsigned xrop3_243_1_0 (unsigned char s, unsigned char t) 25892{ 25893 unsigned D = 0x00ff; 25894 unsigned S = ((unsigned)s << 8) | s; 25895 unsigned T = ((unsigned)t << 8) | t; 25896 unsigned stk1; 25897 unsigned stk2; 25898 stk2 = ~S; 25899 stk1 = T | stk2; 25900 return (stk1 & (~S)) | (D & S); 25901} 25902 25903/* TSno source/pattern transparent. */ 25904static unsigned xrop3_243_1_1 (unsigned char s, unsigned char t) 25905{ 25906 unsigned D = 0x00ff; 25907 unsigned S = ((unsigned)s << 8) | s; 25908 unsigned T = ((unsigned)t << 8) | t; 25909 unsigned stk1; 25910 unsigned stk2; 25911 stk2 = ~S; 25912 stk1 = T | stk2; 25913 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 25914} 25915 25916/* TSDnao source/pattern opaque. */ 25917static void rop3_244_0_0 (unsigned char *D, unsigned char S, unsigned char T) 25918{ 25919 unsigned char stk1; 25920 unsigned char stk2; 25921 unsigned char stk3; 25922 stk3 = ~*D; 25923 stk2 = S & stk3; 25924 stk1 = T | stk2; 25925 *D = stk1; 25926} 25927 25928/* TSDnao source opaque/pattern transparent. */ 25929static void rop3_244_0_1 (unsigned char *D, unsigned char S, unsigned char T) 25930{ 25931 unsigned char stk1; 25932 unsigned char stk2; 25933 unsigned char stk3; 25934 stk3 = ~*D; 25935 stk2 = S & stk3; 25936 stk1 = T | stk2; 25937 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 25938} 25939 25940/* TSDnao source transparent/pattern opaque. */ 25941static void rop3_244_1_0 (unsigned char *D, unsigned char S, unsigned char T) 25942{ 25943 unsigned char stk1; 25944 unsigned char stk2; 25945 unsigned char stk3; 25946 stk3 = ~*D; 25947 stk2 = S & stk3; 25948 stk1 = T | stk2; 25949 *D = (stk1 & (~S)) | (*D & S); 25950} 25951 25952/* TSDnao source/pattern transparent. */ 25953static void rop3_244_1_1 (unsigned char *D, unsigned char S, unsigned char T) 25954{ 25955 unsigned char stk1; 25956 unsigned char stk2; 25957 unsigned char stk3; 25958 stk3 = ~*D; 25959 stk2 = S & stk3; 25960 stk1 = T | stk2; 25961 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 25962} 25963 25964/* TSDnao source/pattern opaque. */ 25965static unsigned xrop3_244_0_0 (unsigned char s, unsigned char t) 25966{ 25967 unsigned D = 0x00ff; 25968 unsigned S = ((unsigned)s << 8) | s; 25969 unsigned T = ((unsigned)t << 8) | t; 25970 unsigned stk1; 25971 unsigned stk2; 25972 unsigned stk3; 25973 stk3 = ~D; 25974 stk2 = S & stk3; 25975 stk1 = T | stk2; 25976 return stk1; 25977} 25978 25979/* TSDnao source opaque/pattern transparent. */ 25980static unsigned xrop3_244_0_1 (unsigned char s, unsigned char t) 25981{ 25982 unsigned D = 0x00ff; 25983 unsigned S = ((unsigned)s << 8) | s; 25984 unsigned T = ((unsigned)t << 8) | t; 25985 unsigned stk1; 25986 unsigned stk2; 25987 unsigned stk3; 25988 stk3 = ~D; 25989 stk2 = S & stk3; 25990 stk1 = T | stk2; 25991 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 25992} 25993 25994/* TSDnao source transparent/pattern opaque. */ 25995static unsigned xrop3_244_1_0 (unsigned char s, unsigned char t) 25996{ 25997 unsigned D = 0x00ff; 25998 unsigned S = ((unsigned)s << 8) | s; 25999 unsigned T = ((unsigned)t << 8) | t; 26000 unsigned stk1; 26001 unsigned stk2; 26002 unsigned stk3; 26003 stk3 = ~D; 26004 stk2 = S & stk3; 26005 stk1 = T | stk2; 26006 return (stk1 & (~S)) | (D & S); 26007} 26008 26009/* TSDnao source/pattern transparent. */ 26010static unsigned xrop3_244_1_1 (unsigned char s, unsigned char t) 26011{ 26012 unsigned D = 0x00ff; 26013 unsigned S = ((unsigned)s << 8) | s; 26014 unsigned T = ((unsigned)t << 8) | t; 26015 unsigned stk1; 26016 unsigned stk2; 26017 unsigned stk3; 26018 stk3 = ~D; 26019 stk2 = S & stk3; 26020 stk1 = T | stk2; 26021 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 26022} 26023 26024/* TDno source/pattern opaque. */ 26025static void rop3_245_0_0 (unsigned char *D, unsigned char S, unsigned char T) 26026{ 26027 unsigned char stk1; 26028 unsigned char stk2; 26029 stk2 = ~*D; 26030 stk1 = T | stk2; 26031 *D = stk1; 26032} 26033 26034/* TDno source opaque/pattern transparent. */ 26035static void rop3_245_0_1 (unsigned char *D, unsigned char S, unsigned char T) 26036{ 26037 unsigned char stk1; 26038 unsigned char stk2; 26039 stk2 = ~*D; 26040 stk1 = T | stk2; 26041 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 26042} 26043 26044/* TDno source transparent/pattern opaque. */ 26045static void rop3_245_1_0 (unsigned char *D, unsigned char S, unsigned char T) 26046{ 26047 unsigned char stk1; 26048 unsigned char stk2; 26049 stk2 = ~*D; 26050 stk1 = T | stk2; 26051 *D = (stk1 & (~S)) | (*D & S); 26052} 26053 26054/* TDno source/pattern transparent. */ 26055static void rop3_245_1_1 (unsigned char *D, unsigned char S, unsigned char T) 26056{ 26057 unsigned char stk1; 26058 unsigned char stk2; 26059 stk2 = ~*D; 26060 stk1 = T | stk2; 26061 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 26062} 26063 26064/* TDno source/pattern opaque. */ 26065static unsigned xrop3_245_0_0 (unsigned char s, unsigned char t) 26066{ 26067 unsigned D = 0x00ff; 26068 unsigned T = ((unsigned)t << 8) | t; 26069 unsigned stk1; 26070 unsigned stk2; 26071 stk2 = ~D; 26072 stk1 = T | stk2; 26073 return stk1; 26074} 26075 26076/* TDno source opaque/pattern transparent. */ 26077static unsigned xrop3_245_0_1 (unsigned char s, unsigned char t) 26078{ 26079 unsigned D = 0x00ff; 26080 unsigned S = ((unsigned)s << 8) | s; 26081 unsigned T = ((unsigned)t << 8) | t; 26082 unsigned stk1; 26083 unsigned stk2; 26084 stk2 = ~D; 26085 stk1 = T | stk2; 26086 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 26087} 26088 26089/* TDno source transparent/pattern opaque. */ 26090static unsigned xrop3_245_1_0 (unsigned char s, unsigned char t) 26091{ 26092 unsigned D = 0x00ff; 26093 unsigned S = ((unsigned)s << 8) | s; 26094 unsigned T = ((unsigned)t << 8) | t; 26095 unsigned stk1; 26096 unsigned stk2; 26097 stk2 = ~D; 26098 stk1 = T | stk2; 26099 return (stk1 & (~S)) | (D & S); 26100} 26101 26102/* TDno source/pattern transparent. */ 26103static unsigned xrop3_245_1_1 (unsigned char s, unsigned char t) 26104{ 26105 unsigned D = 0x00ff; 26106 unsigned S = ((unsigned)s << 8) | s; 26107 unsigned T = ((unsigned)t << 8) | t; 26108 unsigned stk1; 26109 unsigned stk2; 26110 stk2 = ~D; 26111 stk1 = T | stk2; 26112 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 26113} 26114 26115/* TDSxo source/pattern opaque. */ 26116static void rop3_246_0_0 (unsigned char *D, unsigned char S, unsigned char T) 26117{ 26118 unsigned char stk1; 26119 unsigned char stk2; 26120 stk2 = *D ^ S; 26121 stk1 = T | stk2; 26122 *D = stk1; 26123} 26124 26125/* TDSxo source opaque/pattern transparent. */ 26126static void rop3_246_0_1 (unsigned char *D, unsigned char S, unsigned char T) 26127{ 26128 unsigned char stk1; 26129 unsigned char stk2; 26130 stk2 = *D ^ S; 26131 stk1 = T | stk2; 26132 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 26133} 26134 26135/* TDSxo source transparent/pattern opaque. */ 26136static void rop3_246_1_0 (unsigned char *D, unsigned char S, unsigned char T) 26137{ 26138 unsigned char stk1; 26139 unsigned char stk2; 26140 stk2 = *D ^ S; 26141 stk1 = T | stk2; 26142 *D = (stk1 & (~S)) | (*D & S); 26143} 26144 26145/* TDSxo source/pattern transparent. */ 26146static void rop3_246_1_1 (unsigned char *D, unsigned char S, unsigned char T) 26147{ 26148 unsigned char stk1; 26149 unsigned char stk2; 26150 stk2 = *D ^ S; 26151 stk1 = T | stk2; 26152 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 26153} 26154 26155/* TDSxo source/pattern opaque. */ 26156static unsigned xrop3_246_0_0 (unsigned char s, unsigned char t) 26157{ 26158 unsigned D = 0x00ff; 26159 unsigned S = ((unsigned)s << 8) | s; 26160 unsigned T = ((unsigned)t << 8) | t; 26161 unsigned stk1; 26162 unsigned stk2; 26163 stk2 = D ^ S; 26164 stk1 = T | stk2; 26165 return stk1; 26166} 26167 26168/* TDSxo source opaque/pattern transparent. */ 26169static unsigned xrop3_246_0_1 (unsigned char s, unsigned char t) 26170{ 26171 unsigned D = 0x00ff; 26172 unsigned S = ((unsigned)s << 8) | s; 26173 unsigned T = ((unsigned)t << 8) | t; 26174 unsigned stk1; 26175 unsigned stk2; 26176 stk2 = D ^ S; 26177 stk1 = T | stk2; 26178 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 26179} 26180 26181/* TDSxo source transparent/pattern opaque. */ 26182static unsigned xrop3_246_1_0 (unsigned char s, unsigned char t) 26183{ 26184 unsigned D = 0x00ff; 26185 unsigned S = ((unsigned)s << 8) | s; 26186 unsigned T = ((unsigned)t << 8) | t; 26187 unsigned stk1; 26188 unsigned stk2; 26189 stk2 = D ^ S; 26190 stk1 = T | stk2; 26191 return (stk1 & (~S)) | (D & S); 26192} 26193 26194/* TDSxo source/pattern transparent. */ 26195static unsigned xrop3_246_1_1 (unsigned char s, unsigned char t) 26196{ 26197 unsigned D = 0x00ff; 26198 unsigned S = ((unsigned)s << 8) | s; 26199 unsigned T = ((unsigned)t << 8) | t; 26200 unsigned stk1; 26201 unsigned stk2; 26202 stk2 = D ^ S; 26203 stk1 = T | stk2; 26204 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 26205} 26206 26207/* TDSano source/pattern opaque. */ 26208static void rop3_247_0_0 (unsigned char *D, unsigned char S, unsigned char T) 26209{ 26210 unsigned char stk1; 26211 unsigned char stk2; 26212 stk2 = *D & S; 26213 stk2 = ~stk2; 26214 stk1 = T | stk2; 26215 *D = stk1; 26216} 26217 26218/* TDSano source opaque/pattern transparent. */ 26219static void rop3_247_0_1 (unsigned char *D, unsigned char S, unsigned char T) 26220{ 26221 unsigned char stk1; 26222 unsigned char stk2; 26223 stk2 = *D & S; 26224 stk2 = ~stk2; 26225 stk1 = T | stk2; 26226 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 26227} 26228 26229/* TDSano source transparent/pattern opaque. */ 26230static void rop3_247_1_0 (unsigned char *D, unsigned char S, unsigned char T) 26231{ 26232 unsigned char stk1; 26233 unsigned char stk2; 26234 stk2 = *D & S; 26235 stk2 = ~stk2; 26236 stk1 = T | stk2; 26237 *D = (stk1 & (~S)) | (*D & S); 26238} 26239 26240/* TDSano source/pattern transparent. */ 26241static void rop3_247_1_1 (unsigned char *D, unsigned char S, unsigned char T) 26242{ 26243 unsigned char stk1; 26244 unsigned char stk2; 26245 stk2 = *D & S; 26246 stk2 = ~stk2; 26247 stk1 = T | stk2; 26248 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 26249} 26250 26251/* TDSano source/pattern opaque. */ 26252static unsigned xrop3_247_0_0 (unsigned char s, unsigned char t) 26253{ 26254 unsigned D = 0x00ff; 26255 unsigned S = ((unsigned)s << 8) | s; 26256 unsigned T = ((unsigned)t << 8) | t; 26257 unsigned stk1; 26258 unsigned stk2; 26259 stk2 = D & S; 26260 stk2 = ~stk2; 26261 stk1 = T | stk2; 26262 return stk1; 26263} 26264 26265/* TDSano source opaque/pattern transparent. */ 26266static unsigned xrop3_247_0_1 (unsigned char s, unsigned char t) 26267{ 26268 unsigned D = 0x00ff; 26269 unsigned S = ((unsigned)s << 8) | s; 26270 unsigned T = ((unsigned)t << 8) | t; 26271 unsigned stk1; 26272 unsigned stk2; 26273 stk2 = D & S; 26274 stk2 = ~stk2; 26275 stk1 = T | stk2; 26276 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 26277} 26278 26279/* TDSano source transparent/pattern opaque. */ 26280static unsigned xrop3_247_1_0 (unsigned char s, unsigned char t) 26281{ 26282 unsigned D = 0x00ff; 26283 unsigned S = ((unsigned)s << 8) | s; 26284 unsigned T = ((unsigned)t << 8) | t; 26285 unsigned stk1; 26286 unsigned stk2; 26287 stk2 = D & S; 26288 stk2 = ~stk2; 26289 stk1 = T | stk2; 26290 return (stk1 & (~S)) | (D & S); 26291} 26292 26293/* TDSano source/pattern transparent. */ 26294static unsigned xrop3_247_1_1 (unsigned char s, unsigned char t) 26295{ 26296 unsigned D = 0x00ff; 26297 unsigned S = ((unsigned)s << 8) | s; 26298 unsigned T = ((unsigned)t << 8) | t; 26299 unsigned stk1; 26300 unsigned stk2; 26301 stk2 = D & S; 26302 stk2 = ~stk2; 26303 stk1 = T | stk2; 26304 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 26305} 26306 26307/* TDSao source/pattern opaque. */ 26308static void rop3_248_0_0 (unsigned char *D, unsigned char S, unsigned char T) 26309{ 26310 unsigned char stk1; 26311 unsigned char stk2; 26312 stk2 = *D & S; 26313 stk1 = T | stk2; 26314 *D = stk1; 26315} 26316 26317/* TDSao source opaque/pattern transparent. */ 26318static void rop3_248_0_1 (unsigned char *D, unsigned char S, unsigned char T) 26319{ 26320 unsigned char stk1; 26321 unsigned char stk2; 26322 stk2 = *D & S; 26323 stk1 = T | stk2; 26324 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 26325} 26326 26327/* TDSao source transparent/pattern opaque. */ 26328static void rop3_248_1_0 (unsigned char *D, unsigned char S, unsigned char T) 26329{ 26330 unsigned char stk1; 26331 unsigned char stk2; 26332 stk2 = *D & S; 26333 stk1 = T | stk2; 26334 *D = (stk1 & (~S)) | (*D & S); 26335} 26336 26337/* TDSao source/pattern transparent. */ 26338static void rop3_248_1_1 (unsigned char *D, unsigned char S, unsigned char T) 26339{ 26340 unsigned char stk1; 26341 unsigned char stk2; 26342 stk2 = *D & S; 26343 stk1 = T | stk2; 26344 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 26345} 26346 26347/* TDSao source/pattern opaque. */ 26348static unsigned xrop3_248_0_0 (unsigned char s, unsigned char t) 26349{ 26350 unsigned D = 0x00ff; 26351 unsigned S = ((unsigned)s << 8) | s; 26352 unsigned T = ((unsigned)t << 8) | t; 26353 unsigned stk1; 26354 unsigned stk2; 26355 stk2 = D & S; 26356 stk1 = T | stk2; 26357 return stk1; 26358} 26359 26360/* TDSao source opaque/pattern transparent. */ 26361static unsigned xrop3_248_0_1 (unsigned char s, unsigned char t) 26362{ 26363 unsigned D = 0x00ff; 26364 unsigned S = ((unsigned)s << 8) | s; 26365 unsigned T = ((unsigned)t << 8) | t; 26366 unsigned stk1; 26367 unsigned stk2; 26368 stk2 = D & S; 26369 stk1 = T | stk2; 26370 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 26371} 26372 26373/* TDSao source transparent/pattern opaque. */ 26374static unsigned xrop3_248_1_0 (unsigned char s, unsigned char t) 26375{ 26376 unsigned D = 0x00ff; 26377 unsigned S = ((unsigned)s << 8) | s; 26378 unsigned T = ((unsigned)t << 8) | t; 26379 unsigned stk1; 26380 unsigned stk2; 26381 stk2 = D & S; 26382 stk1 = T | stk2; 26383 return (stk1 & (~S)) | (D & S); 26384} 26385 26386/* TDSao source/pattern transparent. */ 26387static unsigned xrop3_248_1_1 (unsigned char s, unsigned char t) 26388{ 26389 unsigned D = 0x00ff; 26390 unsigned S = ((unsigned)s << 8) | s; 26391 unsigned T = ((unsigned)t << 8) | t; 26392 unsigned stk1; 26393 unsigned stk2; 26394 stk2 = D & S; 26395 stk1 = T | stk2; 26396 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 26397} 26398 26399/* TDSxno source/pattern opaque. */ 26400static void rop3_249_0_0 (unsigned char *D, unsigned char S, unsigned char T) 26401{ 26402 unsigned char stk1; 26403 unsigned char stk2; 26404 stk2 = *D ^ S; 26405 stk2 = ~stk2; 26406 stk1 = T | stk2; 26407 *D = stk1; 26408} 26409 26410/* TDSxno source opaque/pattern transparent. */ 26411static void rop3_249_0_1 (unsigned char *D, unsigned char S, unsigned char T) 26412{ 26413 unsigned char stk1; 26414 unsigned char stk2; 26415 stk2 = *D ^ S; 26416 stk2 = ~stk2; 26417 stk1 = T | stk2; 26418 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 26419} 26420 26421/* TDSxno source transparent/pattern opaque. */ 26422static void rop3_249_1_0 (unsigned char *D, unsigned char S, unsigned char T) 26423{ 26424 unsigned char stk1; 26425 unsigned char stk2; 26426 stk2 = *D ^ S; 26427 stk2 = ~stk2; 26428 stk1 = T | stk2; 26429 *D = (stk1 & (~S)) | (*D & S); 26430} 26431 26432/* TDSxno source/pattern transparent. */ 26433static void rop3_249_1_1 (unsigned char *D, unsigned char S, unsigned char T) 26434{ 26435 unsigned char stk1; 26436 unsigned char stk2; 26437 stk2 = *D ^ S; 26438 stk2 = ~stk2; 26439 stk1 = T | stk2; 26440 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 26441} 26442 26443/* TDSxno source/pattern opaque. */ 26444static unsigned xrop3_249_0_0 (unsigned char s, unsigned char t) 26445{ 26446 unsigned D = 0x00ff; 26447 unsigned S = ((unsigned)s << 8) | s; 26448 unsigned T = ((unsigned)t << 8) | t; 26449 unsigned stk1; 26450 unsigned stk2; 26451 stk2 = D ^ S; 26452 stk2 = ~stk2; 26453 stk1 = T | stk2; 26454 return stk1; 26455} 26456 26457/* TDSxno source opaque/pattern transparent. */ 26458static unsigned xrop3_249_0_1 (unsigned char s, unsigned char t) 26459{ 26460 unsigned D = 0x00ff; 26461 unsigned S = ((unsigned)s << 8) | s; 26462 unsigned T = ((unsigned)t << 8) | t; 26463 unsigned stk1; 26464 unsigned stk2; 26465 stk2 = D ^ S; 26466 stk2 = ~stk2; 26467 stk1 = T | stk2; 26468 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 26469} 26470 26471/* TDSxno source transparent/pattern opaque. */ 26472static unsigned xrop3_249_1_0 (unsigned char s, unsigned char t) 26473{ 26474 unsigned D = 0x00ff; 26475 unsigned S = ((unsigned)s << 8) | s; 26476 unsigned T = ((unsigned)t << 8) | t; 26477 unsigned stk1; 26478 unsigned stk2; 26479 stk2 = D ^ S; 26480 stk2 = ~stk2; 26481 stk1 = T | stk2; 26482 return (stk1 & (~S)) | (D & S); 26483} 26484 26485/* TDSxno source/pattern transparent. */ 26486static unsigned xrop3_249_1_1 (unsigned char s, unsigned char t) 26487{ 26488 unsigned D = 0x00ff; 26489 unsigned S = ((unsigned)s << 8) | s; 26490 unsigned T = ((unsigned)t << 8) | t; 26491 unsigned stk1; 26492 unsigned stk2; 26493 stk2 = D ^ S; 26494 stk2 = ~stk2; 26495 stk1 = T | stk2; 26496 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 26497} 26498 26499/* DTo source/pattern opaque. */ 26500static void rop3_250_0_0 (unsigned char *D, unsigned char S, unsigned char T) 26501{ 26502 unsigned char stk1; 26503 stk1 = *D | T; 26504 *D = stk1; 26505} 26506 26507/* DTo source opaque/pattern transparent. */ 26508static void rop3_250_0_1 (unsigned char *D, unsigned char S, unsigned char T) 26509{ 26510 unsigned char stk1; 26511 stk1 = *D | T; 26512 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 26513} 26514 26515/* DTo source transparent/pattern opaque. */ 26516static void rop3_250_1_0 (unsigned char *D, unsigned char S, unsigned char T) 26517{ 26518 unsigned char stk1; 26519 stk1 = *D | T; 26520 *D = (stk1 & (~S)) | (*D & S); 26521} 26522 26523/* DTo source/pattern transparent. */ 26524static void rop3_250_1_1 (unsigned char *D, unsigned char S, unsigned char T) 26525{ 26526 unsigned char stk1; 26527 stk1 = *D | T; 26528 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 26529} 26530 26531/* DTo source/pattern opaque. */ 26532static unsigned xrop3_250_0_0 (unsigned char s, unsigned char t) 26533{ 26534 unsigned D = 0x00ff; 26535 unsigned T = ((unsigned)t << 8) | t; 26536 unsigned stk1; 26537 stk1 = D | T; 26538 return stk1; 26539} 26540 26541/* DTo source opaque/pattern transparent. */ 26542static unsigned xrop3_250_0_1 (unsigned char s, unsigned char t) 26543{ 26544 unsigned D = 0x00ff; 26545 unsigned S = ((unsigned)s << 8) | s; 26546 unsigned T = ((unsigned)t << 8) | t; 26547 unsigned stk1; 26548 stk1 = D | T; 26549 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 26550} 26551 26552/* DTo source transparent/pattern opaque. */ 26553static unsigned xrop3_250_1_0 (unsigned char s, unsigned char t) 26554{ 26555 unsigned D = 0x00ff; 26556 unsigned S = ((unsigned)s << 8) | s; 26557 unsigned T = ((unsigned)t << 8) | t; 26558 unsigned stk1; 26559 stk1 = D | T; 26560 return (stk1 & (~S)) | (D & S); 26561} 26562 26563/* DTo source/pattern transparent. */ 26564static unsigned xrop3_250_1_1 (unsigned char s, unsigned char t) 26565{ 26566 unsigned D = 0x00ff; 26567 unsigned S = ((unsigned)s << 8) | s; 26568 unsigned T = ((unsigned)t << 8) | t; 26569 unsigned stk1; 26570 stk1 = D | T; 26571 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 26572} 26573 26574/* DTSnoo source/pattern opaque. */ 26575static void rop3_251_0_0 (unsigned char *D, unsigned char S, unsigned char T) 26576{ 26577 unsigned char stk1; 26578 unsigned char stk2; 26579 unsigned char stk3; 26580 stk3 = ~S; 26581 stk2 = T | stk3; 26582 stk1 = *D | stk2; 26583 *D = stk1; 26584} 26585 26586/* DTSnoo source opaque/pattern transparent. */ 26587static void rop3_251_0_1 (unsigned char *D, unsigned char S, unsigned char T) 26588{ 26589 unsigned char stk1; 26590 unsigned char stk2; 26591 unsigned char stk3; 26592 stk3 = ~S; 26593 stk2 = T | stk3; 26594 stk1 = *D | stk2; 26595 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 26596} 26597 26598/* DTSnoo source transparent/pattern opaque. */ 26599static void rop3_251_1_0 (unsigned char *D, unsigned char S, unsigned char T) 26600{ 26601 unsigned char stk1; 26602 unsigned char stk2; 26603 unsigned char stk3; 26604 stk3 = ~S; 26605 stk2 = T | stk3; 26606 stk1 = *D | stk2; 26607 *D = (stk1 & (~S)) | (*D & S); 26608} 26609 26610/* DTSnoo source/pattern transparent. */ 26611static void rop3_251_1_1 (unsigned char *D, unsigned char S, unsigned char T) 26612{ 26613 unsigned char stk1; 26614 unsigned char stk2; 26615 unsigned char stk3; 26616 stk3 = ~S; 26617 stk2 = T | stk3; 26618 stk1 = *D | stk2; 26619 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 26620} 26621 26622/* DTSnoo source/pattern opaque. */ 26623static unsigned xrop3_251_0_0 (unsigned char s, unsigned char t) 26624{ 26625 unsigned D = 0x00ff; 26626 unsigned S = ((unsigned)s << 8) | s; 26627 unsigned T = ((unsigned)t << 8) | t; 26628 unsigned stk1; 26629 unsigned stk2; 26630 unsigned stk3; 26631 stk3 = ~S; 26632 stk2 = T | stk3; 26633 stk1 = D | stk2; 26634 return stk1; 26635} 26636 26637/* DTSnoo source opaque/pattern transparent. */ 26638static unsigned xrop3_251_0_1 (unsigned char s, unsigned char t) 26639{ 26640 unsigned D = 0x00ff; 26641 unsigned S = ((unsigned)s << 8) | s; 26642 unsigned T = ((unsigned)t << 8) | t; 26643 unsigned stk1; 26644 unsigned stk2; 26645 unsigned stk3; 26646 stk3 = ~S; 26647 stk2 = T | stk3; 26648 stk1 = D | stk2; 26649 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 26650} 26651 26652/* DTSnoo source transparent/pattern opaque. */ 26653static unsigned xrop3_251_1_0 (unsigned char s, unsigned char t) 26654{ 26655 unsigned D = 0x00ff; 26656 unsigned S = ((unsigned)s << 8) | s; 26657 unsigned T = ((unsigned)t << 8) | t; 26658 unsigned stk1; 26659 unsigned stk2; 26660 unsigned stk3; 26661 stk3 = ~S; 26662 stk2 = T | stk3; 26663 stk1 = D | stk2; 26664 return (stk1 & (~S)) | (D & S); 26665} 26666 26667/* DTSnoo source/pattern transparent. */ 26668static unsigned xrop3_251_1_1 (unsigned char s, unsigned char t) 26669{ 26670 unsigned D = 0x00ff; 26671 unsigned S = ((unsigned)s << 8) | s; 26672 unsigned T = ((unsigned)t << 8) | t; 26673 unsigned stk1; 26674 unsigned stk2; 26675 unsigned stk3; 26676 stk3 = ~S; 26677 stk2 = T | stk3; 26678 stk1 = D | stk2; 26679 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 26680} 26681 26682/* TSo source/pattern opaque. */ 26683static void rop3_252_0_0 (unsigned char *D, unsigned char S, unsigned char T) 26684{ 26685 unsigned char stk1; 26686 stk1 = T | S; 26687 *D = stk1; 26688} 26689 26690/* TSo source opaque/pattern transparent. */ 26691static void rop3_252_0_1 (unsigned char *D, unsigned char S, unsigned char T) 26692{ 26693 unsigned char stk1; 26694 stk1 = T | S; 26695 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 26696} 26697 26698/* TSo source transparent/pattern opaque. */ 26699static void rop3_252_1_0 (unsigned char *D, unsigned char S, unsigned char T) 26700{ 26701 unsigned char stk1; 26702 stk1 = T | S; 26703 *D = (stk1 & (~S)) | (*D & S); 26704} 26705 26706/* TSo source/pattern transparent. */ 26707static void rop3_252_1_1 (unsigned char *D, unsigned char S, unsigned char T) 26708{ 26709 unsigned char stk1; 26710 stk1 = T | S; 26711 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 26712} 26713 26714/* TSo source/pattern opaque. */ 26715static unsigned xrop3_252_0_0 (unsigned char s, unsigned char t) 26716{ 26717 unsigned S = ((unsigned)s << 8) | s; 26718 unsigned T = ((unsigned)t << 8) | t; 26719 unsigned stk1; 26720 stk1 = T | S; 26721 return stk1; 26722} 26723 26724/* TSo source opaque/pattern transparent. */ 26725static unsigned xrop3_252_0_1 (unsigned char s, unsigned char t) 26726{ 26727 unsigned D = 0x00ff; 26728 unsigned S = ((unsigned)s << 8) | s; 26729 unsigned T = ((unsigned)t << 8) | t; 26730 unsigned stk1; 26731 stk1 = T | S; 26732 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 26733} 26734 26735/* TSo source transparent/pattern opaque. */ 26736static unsigned xrop3_252_1_0 (unsigned char s, unsigned char t) 26737{ 26738 unsigned D = 0x00ff; 26739 unsigned S = ((unsigned)s << 8) | s; 26740 unsigned T = ((unsigned)t << 8) | t; 26741 unsigned stk1; 26742 stk1 = T | S; 26743 return (stk1 & (~S)) | (D & S); 26744} 26745 26746/* TSo source/pattern transparent. */ 26747static unsigned xrop3_252_1_1 (unsigned char s, unsigned char t) 26748{ 26749 unsigned D = 0x00ff; 26750 unsigned S = ((unsigned)s << 8) | s; 26751 unsigned T = ((unsigned)t << 8) | t; 26752 unsigned stk1; 26753 stk1 = T | S; 26754 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 26755} 26756 26757/* TSDnoo source/pattern opaque. */ 26758static void rop3_253_0_0 (unsigned char *D, unsigned char S, unsigned char T) 26759{ 26760 unsigned char stk1; 26761 unsigned char stk2; 26762 unsigned char stk3; 26763 stk3 = ~*D; 26764 stk2 = S | stk3; 26765 stk1 = T | stk2; 26766 *D = stk1; 26767} 26768 26769/* TSDnoo source opaque/pattern transparent. */ 26770static void rop3_253_0_1 (unsigned char *D, unsigned char S, unsigned char T) 26771{ 26772 unsigned char stk1; 26773 unsigned char stk2; 26774 unsigned char stk3; 26775 stk3 = ~*D; 26776 stk2 = S | stk3; 26777 stk1 = T | stk2; 26778 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 26779} 26780 26781/* TSDnoo source transparent/pattern opaque. */ 26782static void rop3_253_1_0 (unsigned char *D, unsigned char S, unsigned char T) 26783{ 26784 unsigned char stk1; 26785 unsigned char stk2; 26786 unsigned char stk3; 26787 stk3 = ~*D; 26788 stk2 = S | stk3; 26789 stk1 = T | stk2; 26790 *D = (stk1 & (~S)) | (*D & S); 26791} 26792 26793/* TSDnoo source/pattern transparent. */ 26794static void rop3_253_1_1 (unsigned char *D, unsigned char S, unsigned char T) 26795{ 26796 unsigned char stk1; 26797 unsigned char stk2; 26798 unsigned char stk3; 26799 stk3 = ~*D; 26800 stk2 = S | stk3; 26801 stk1 = T | stk2; 26802 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 26803} 26804 26805/* TSDnoo source/pattern opaque. */ 26806static unsigned xrop3_253_0_0 (unsigned char s, unsigned char t) 26807{ 26808 unsigned D = 0x00ff; 26809 unsigned S = ((unsigned)s << 8) | s; 26810 unsigned T = ((unsigned)t << 8) | t; 26811 unsigned stk1; 26812 unsigned stk2; 26813 unsigned stk3; 26814 stk3 = ~D; 26815 stk2 = S | stk3; 26816 stk1 = T | stk2; 26817 return stk1; 26818} 26819 26820/* TSDnoo source opaque/pattern transparent. */ 26821static unsigned xrop3_253_0_1 (unsigned char s, unsigned char t) 26822{ 26823 unsigned D = 0x00ff; 26824 unsigned S = ((unsigned)s << 8) | s; 26825 unsigned T = ((unsigned)t << 8) | t; 26826 unsigned stk1; 26827 unsigned stk2; 26828 unsigned stk3; 26829 stk3 = ~D; 26830 stk2 = S | stk3; 26831 stk1 = T | stk2; 26832 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 26833} 26834 26835/* TSDnoo source transparent/pattern opaque. */ 26836static unsigned xrop3_253_1_0 (unsigned char s, unsigned char t) 26837{ 26838 unsigned D = 0x00ff; 26839 unsigned S = ((unsigned)s << 8) | s; 26840 unsigned T = ((unsigned)t << 8) | t; 26841 unsigned stk1; 26842 unsigned stk2; 26843 unsigned stk3; 26844 stk3 = ~D; 26845 stk2 = S | stk3; 26846 stk1 = T | stk2; 26847 return (stk1 & (~S)) | (D & S); 26848} 26849 26850/* TSDnoo source/pattern transparent. */ 26851static unsigned xrop3_253_1_1 (unsigned char s, unsigned char t) 26852{ 26853 unsigned D = 0x00ff; 26854 unsigned S = ((unsigned)s << 8) | s; 26855 unsigned T = ((unsigned)t << 8) | t; 26856 unsigned stk1; 26857 unsigned stk2; 26858 unsigned stk3; 26859 stk3 = ~D; 26860 stk2 = S | stk3; 26861 stk1 = T | stk2; 26862 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 26863} 26864 26865/* DTSoo source/pattern opaque. */ 26866static void rop3_254_0_0 (unsigned char *D, unsigned char S, unsigned char T) 26867{ 26868 unsigned char stk1; 26869 unsigned char stk2; 26870 stk2 = T | S; 26871 stk1 = *D | stk2; 26872 *D = stk1; 26873} 26874 26875/* DTSoo source opaque/pattern transparent. */ 26876static void rop3_254_0_1 (unsigned char *D, unsigned char S, unsigned char T) 26877{ 26878 unsigned char stk1; 26879 unsigned char stk2; 26880 stk2 = T | S; 26881 stk1 = *D | stk2; 26882 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 26883} 26884 26885/* DTSoo source transparent/pattern opaque. */ 26886static void rop3_254_1_0 (unsigned char *D, unsigned char S, unsigned char T) 26887{ 26888 unsigned char stk1; 26889 unsigned char stk2; 26890 stk2 = T | S; 26891 stk1 = *D | stk2; 26892 *D = (stk1 & (~S)) | (*D & S); 26893} 26894 26895/* DTSoo source/pattern transparent. */ 26896static void rop3_254_1_1 (unsigned char *D, unsigned char S, unsigned char T) 26897{ 26898 unsigned char stk1; 26899 unsigned char stk2; 26900 stk2 = T | S; 26901 stk1 = *D | stk2; 26902 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 26903} 26904 26905/* DTSoo source/pattern opaque. */ 26906static unsigned xrop3_254_0_0 (unsigned char s, unsigned char t) 26907{ 26908 unsigned D = 0x00ff; 26909 unsigned S = ((unsigned)s << 8) | s; 26910 unsigned T = ((unsigned)t << 8) | t; 26911 unsigned stk1; 26912 unsigned stk2; 26913 stk2 = T | S; 26914 stk1 = D | stk2; 26915 return stk1; 26916} 26917 26918/* DTSoo source opaque/pattern transparent. */ 26919static unsigned xrop3_254_0_1 (unsigned char s, unsigned char t) 26920{ 26921 unsigned D = 0x00ff; 26922 unsigned S = ((unsigned)s << 8) | s; 26923 unsigned T = ((unsigned)t << 8) | t; 26924 unsigned stk1; 26925 unsigned stk2; 26926 stk2 = T | S; 26927 stk1 = D | stk2; 26928 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 26929} 26930 26931/* DTSoo source transparent/pattern opaque. */ 26932static unsigned xrop3_254_1_0 (unsigned char s, unsigned char t) 26933{ 26934 unsigned D = 0x00ff; 26935 unsigned S = ((unsigned)s << 8) | s; 26936 unsigned T = ((unsigned)t << 8) | t; 26937 unsigned stk1; 26938 unsigned stk2; 26939 stk2 = T | S; 26940 stk1 = D | stk2; 26941 return (stk1 & (~S)) | (D & S); 26942} 26943 26944/* DTSoo source/pattern transparent. */ 26945static unsigned xrop3_254_1_1 (unsigned char s, unsigned char t) 26946{ 26947 unsigned D = 0x00ff; 26948 unsigned S = ((unsigned)s << 8) | s; 26949 unsigned T = ((unsigned)t << 8) | t; 26950 unsigned stk1; 26951 unsigned stk2; 26952 stk2 = T | S; 26953 stk1 = D | stk2; 26954 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 26955} 26956 26957/* 1 source/pattern opaque. */ 26958static void rop3_255_0_0 (unsigned char *D, unsigned char S, unsigned char T) 26959{ 26960 unsigned char stk1; 26961 stk1 = 255; 26962 *D = stk1; 26963} 26964 26965/* 1 source opaque/pattern transparent. */ 26966static void rop3_255_0_1 (unsigned char *D, unsigned char S, unsigned char T) 26967{ 26968 unsigned char stk1; 26969 stk1 = 255; 26970 *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D); 26971} 26972 26973/* 1 source transparent/pattern opaque. */ 26974static void rop3_255_1_0 (unsigned char *D, unsigned char S, unsigned char T) 26975{ 26976 unsigned char stk1; 26977 stk1 = 255; 26978 *D = (stk1 & (~S)) | (*D & S); 26979} 26980 26981/* 1 source/pattern transparent. */ 26982static void rop3_255_1_1 (unsigned char *D, unsigned char S, unsigned char T) 26983{ 26984 unsigned char stk1; 26985 stk1 = 255; 26986 *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T); 26987} 26988 26989/* 1 source/pattern opaque. */ 26990static unsigned xrop3_255_0_0 (unsigned char s, unsigned char t) 26991{ 26992 unsigned stk1; 26993 stk1 = 0xffff; 26994 return stk1; 26995} 26996 26997/* 1 source opaque/pattern transparent. */ 26998static unsigned xrop3_255_0_1 (unsigned char s, unsigned char t) 26999{ 27000 unsigned D = 0x00ff; 27001 unsigned S = ((unsigned)s << 8) | s; 27002 unsigned T = ((unsigned)t << 8) | t; 27003 unsigned stk1; 27004 stk1 = 0xffff; 27005 return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D); 27006} 27007 27008/* 1 source transparent/pattern opaque. */ 27009static unsigned xrop3_255_1_0 (unsigned char s, unsigned char t) 27010{ 27011 unsigned D = 0x00ff; 27012 unsigned S = ((unsigned)s << 8) | s; 27013 unsigned stk1; 27014 stk1 = 0xffff; 27015 return (stk1 & (~S)) | (D & S); 27016} 27017 27018/* 1 source/pattern transparent. */ 27019static unsigned xrop3_255_1_1 (unsigned char s, unsigned char t) 27020{ 27021 unsigned D = 0x00ff; 27022 unsigned S = ((unsigned)s << 8) | s; 27023 unsigned T = ((unsigned)t << 8) | t; 27024 unsigned stk1; 27025 stk1 = 0xffff; 27026 return (stk1 & (~S) & (~T)) | (D & S) | (D & T); 27027} 27028 27029static hpgs_rop3_func_t rop3_table[][2][2] = { 27030 {{rop3_0_0_0,rop3_0_0_1},{rop3_0_1_0,rop3_0_1_1}}, 27031 {{rop3_1_0_0,rop3_1_0_1},{rop3_1_1_0,rop3_1_1_1}}, 27032 {{rop3_2_0_0,rop3_2_0_1},{rop3_2_1_0,rop3_2_1_1}}, 27033 {{rop3_3_0_0,rop3_3_0_1},{rop3_3_1_0,rop3_3_1_1}}, 27034 {{rop3_4_0_0,rop3_4_0_1},{rop3_4_1_0,rop3_4_1_1}}, 27035 {{rop3_5_0_0,rop3_5_0_1},{rop3_5_1_0,rop3_5_1_1}}, 27036 {{rop3_6_0_0,rop3_6_0_1},{rop3_6_1_0,rop3_6_1_1}}, 27037 {{rop3_7_0_0,rop3_7_0_1},{rop3_7_1_0,rop3_7_1_1}}, 27038 {{rop3_8_0_0,rop3_8_0_1},{rop3_8_1_0,rop3_8_1_1}}, 27039 {{rop3_9_0_0,rop3_9_0_1},{rop3_9_1_0,rop3_9_1_1}}, 27040 {{rop3_10_0_0,rop3_10_0_1},{rop3_10_1_0,rop3_10_1_1}}, 27041 {{rop3_11_0_0,rop3_11_0_1},{rop3_11_1_0,rop3_11_1_1}}, 27042 {{rop3_12_0_0,rop3_12_0_1},{rop3_12_1_0,rop3_12_1_1}}, 27043 {{rop3_13_0_0,rop3_13_0_1},{rop3_13_1_0,rop3_13_1_1}}, 27044 {{rop3_14_0_0,rop3_14_0_1},{rop3_14_1_0,rop3_14_1_1}}, 27045 {{rop3_15_0_0,rop3_15_0_1},{rop3_15_1_0,rop3_15_1_1}}, 27046 {{rop3_16_0_0,rop3_16_0_1},{rop3_16_1_0,rop3_16_1_1}}, 27047 {{rop3_17_0_0,rop3_17_0_1},{rop3_17_1_0,rop3_17_1_1}}, 27048 {{rop3_18_0_0,rop3_18_0_1},{rop3_18_1_0,rop3_18_1_1}}, 27049 {{rop3_19_0_0,rop3_19_0_1},{rop3_19_1_0,rop3_19_1_1}}, 27050 {{rop3_20_0_0,rop3_20_0_1},{rop3_20_1_0,rop3_20_1_1}}, 27051 {{rop3_21_0_0,rop3_21_0_1},{rop3_21_1_0,rop3_21_1_1}}, 27052 {{rop3_22_0_0,rop3_22_0_1},{rop3_22_1_0,rop3_22_1_1}}, 27053 {{rop3_23_0_0,rop3_23_0_1},{rop3_23_1_0,rop3_23_1_1}}, 27054 {{rop3_24_0_0,rop3_24_0_1},{rop3_24_1_0,rop3_24_1_1}}, 27055 {{rop3_25_0_0,rop3_25_0_1},{rop3_25_1_0,rop3_25_1_1}}, 27056 {{rop3_26_0_0,rop3_26_0_1},{rop3_26_1_0,rop3_26_1_1}}, 27057 {{rop3_27_0_0,rop3_27_0_1},{rop3_27_1_0,rop3_27_1_1}}, 27058 {{rop3_28_0_0,rop3_28_0_1},{rop3_28_1_0,rop3_28_1_1}}, 27059 {{rop3_29_0_0,rop3_29_0_1},{rop3_29_1_0,rop3_29_1_1}}, 27060 {{rop3_30_0_0,rop3_30_0_1},{rop3_30_1_0,rop3_30_1_1}}, 27061 {{rop3_31_0_0,rop3_31_0_1},{rop3_31_1_0,rop3_31_1_1}}, 27062 {{rop3_32_0_0,rop3_32_0_1},{rop3_32_1_0,rop3_32_1_1}}, 27063 {{rop3_33_0_0,rop3_33_0_1},{rop3_33_1_0,rop3_33_1_1}}, 27064 {{rop3_34_0_0,rop3_34_0_1},{rop3_34_1_0,rop3_34_1_1}}, 27065 {{rop3_35_0_0,rop3_35_0_1},{rop3_35_1_0,rop3_35_1_1}}, 27066 {{rop3_36_0_0,rop3_36_0_1},{rop3_36_1_0,rop3_36_1_1}}, 27067 {{rop3_37_0_0,rop3_37_0_1},{rop3_37_1_0,rop3_37_1_1}}, 27068 {{rop3_38_0_0,rop3_38_0_1},{rop3_38_1_0,rop3_38_1_1}}, 27069 {{rop3_39_0_0,rop3_39_0_1},{rop3_39_1_0,rop3_39_1_1}}, 27070 {{rop3_40_0_0,rop3_40_0_1},{rop3_40_1_0,rop3_40_1_1}}, 27071 {{rop3_41_0_0,rop3_41_0_1},{rop3_41_1_0,rop3_41_1_1}}, 27072 {{rop3_42_0_0,rop3_42_0_1},{rop3_42_1_0,rop3_42_1_1}}, 27073 {{rop3_43_0_0,rop3_43_0_1},{rop3_43_1_0,rop3_43_1_1}}, 27074 {{rop3_44_0_0,rop3_44_0_1},{rop3_44_1_0,rop3_44_1_1}}, 27075 {{rop3_45_0_0,rop3_45_0_1},{rop3_45_1_0,rop3_45_1_1}}, 27076 {{rop3_46_0_0,rop3_46_0_1},{rop3_46_1_0,rop3_46_1_1}}, 27077 {{rop3_47_0_0,rop3_47_0_1},{rop3_47_1_0,rop3_47_1_1}}, 27078 {{rop3_48_0_0,rop3_48_0_1},{rop3_48_1_0,rop3_48_1_1}}, 27079 {{rop3_49_0_0,rop3_49_0_1},{rop3_49_1_0,rop3_49_1_1}}, 27080 {{rop3_50_0_0,rop3_50_0_1},{rop3_50_1_0,rop3_50_1_1}}, 27081 {{rop3_51_0_0,rop3_51_0_1},{rop3_51_1_0,rop3_51_1_1}}, 27082 {{rop3_52_0_0,rop3_52_0_1},{rop3_52_1_0,rop3_52_1_1}}, 27083 {{rop3_53_0_0,rop3_53_0_1},{rop3_53_1_0,rop3_53_1_1}}, 27084 {{rop3_54_0_0,rop3_54_0_1},{rop3_54_1_0,rop3_54_1_1}}, 27085 {{rop3_55_0_0,rop3_55_0_1},{rop3_55_1_0,rop3_55_1_1}}, 27086 {{rop3_56_0_0,rop3_56_0_1},{rop3_56_1_0,rop3_56_1_1}}, 27087 {{rop3_57_0_0,rop3_57_0_1},{rop3_57_1_0,rop3_57_1_1}}, 27088 {{rop3_58_0_0,rop3_58_0_1},{rop3_58_1_0,rop3_58_1_1}}, 27089 {{rop3_59_0_0,rop3_59_0_1},{rop3_59_1_0,rop3_59_1_1}}, 27090 {{rop3_60_0_0,rop3_60_0_1},{rop3_60_1_0,rop3_60_1_1}}, 27091 {{rop3_61_0_0,rop3_61_0_1},{rop3_61_1_0,rop3_61_1_1}}, 27092 {{rop3_62_0_0,rop3_62_0_1},{rop3_62_1_0,rop3_62_1_1}}, 27093 {{rop3_63_0_0,rop3_63_0_1},{rop3_63_1_0,rop3_63_1_1}}, 27094 {{rop3_64_0_0,rop3_64_0_1},{rop3_64_1_0,rop3_64_1_1}}, 27095 {{rop3_65_0_0,rop3_65_0_1},{rop3_65_1_0,rop3_65_1_1}}, 27096 {{rop3_66_0_0,rop3_66_0_1},{rop3_66_1_0,rop3_66_1_1}}, 27097 {{rop3_67_0_0,rop3_67_0_1},{rop3_67_1_0,rop3_67_1_1}}, 27098 {{rop3_68_0_0,rop3_68_0_1},{rop3_68_1_0,rop3_68_1_1}}, 27099 {{rop3_69_0_0,rop3_69_0_1},{rop3_69_1_0,rop3_69_1_1}}, 27100 {{rop3_70_0_0,rop3_70_0_1},{rop3_70_1_0,rop3_70_1_1}}, 27101 {{rop3_71_0_0,rop3_71_0_1},{rop3_71_1_0,rop3_71_1_1}}, 27102 {{rop3_72_0_0,rop3_72_0_1},{rop3_72_1_0,rop3_72_1_1}}, 27103 {{rop3_73_0_0,rop3_73_0_1},{rop3_73_1_0,rop3_73_1_1}}, 27104 {{rop3_74_0_0,rop3_74_0_1},{rop3_74_1_0,rop3_74_1_1}}, 27105 {{rop3_75_0_0,rop3_75_0_1},{rop3_75_1_0,rop3_75_1_1}}, 27106 {{rop3_76_0_0,rop3_76_0_1},{rop3_76_1_0,rop3_76_1_1}}, 27107 {{rop3_77_0_0,rop3_77_0_1},{rop3_77_1_0,rop3_77_1_1}}, 27108 {{rop3_78_0_0,rop3_78_0_1},{rop3_78_1_0,rop3_78_1_1}}, 27109 {{rop3_79_0_0,rop3_79_0_1},{rop3_79_1_0,rop3_79_1_1}}, 27110 {{rop3_80_0_0,rop3_80_0_1},{rop3_80_1_0,rop3_80_1_1}}, 27111 {{rop3_81_0_0,rop3_81_0_1},{rop3_81_1_0,rop3_81_1_1}}, 27112 {{rop3_82_0_0,rop3_82_0_1},{rop3_82_1_0,rop3_82_1_1}}, 27113 {{rop3_83_0_0,rop3_83_0_1},{rop3_83_1_0,rop3_83_1_1}}, 27114 {{rop3_84_0_0,rop3_84_0_1},{rop3_84_1_0,rop3_84_1_1}}, 27115 {{rop3_85_0_0,rop3_85_0_1},{rop3_85_1_0,rop3_85_1_1}}, 27116 {{rop3_86_0_0,rop3_86_0_1},{rop3_86_1_0,rop3_86_1_1}}, 27117 {{rop3_87_0_0,rop3_87_0_1},{rop3_87_1_0,rop3_87_1_1}}, 27118 {{rop3_88_0_0,rop3_88_0_1},{rop3_88_1_0,rop3_88_1_1}}, 27119 {{rop3_89_0_0,rop3_89_0_1},{rop3_89_1_0,rop3_89_1_1}}, 27120 {{rop3_90_0_0,rop3_90_0_1},{rop3_90_1_0,rop3_90_1_1}}, 27121 {{rop3_91_0_0,rop3_91_0_1},{rop3_91_1_0,rop3_91_1_1}}, 27122 {{rop3_92_0_0,rop3_92_0_1},{rop3_92_1_0,rop3_92_1_1}}, 27123 {{rop3_93_0_0,rop3_93_0_1},{rop3_93_1_0,rop3_93_1_1}}, 27124 {{rop3_94_0_0,rop3_94_0_1},{rop3_94_1_0,rop3_94_1_1}}, 27125 {{rop3_95_0_0,rop3_95_0_1},{rop3_95_1_0,rop3_95_1_1}}, 27126 {{rop3_96_0_0,rop3_96_0_1},{rop3_96_1_0,rop3_96_1_1}}, 27127 {{rop3_97_0_0,rop3_97_0_1},{rop3_97_1_0,rop3_97_1_1}}, 27128 {{rop3_98_0_0,rop3_98_0_1},{rop3_98_1_0,rop3_98_1_1}}, 27129 {{rop3_99_0_0,rop3_99_0_1},{rop3_99_1_0,rop3_99_1_1}}, 27130 {{rop3_100_0_0,rop3_100_0_1},{rop3_100_1_0,rop3_100_1_1}}, 27131 {{rop3_101_0_0,rop3_101_0_1},{rop3_101_1_0,rop3_101_1_1}}, 27132 {{rop3_102_0_0,rop3_102_0_1},{rop3_102_1_0,rop3_102_1_1}}, 27133 {{rop3_103_0_0,rop3_103_0_1},{rop3_103_1_0,rop3_103_1_1}}, 27134 {{rop3_104_0_0,rop3_104_0_1},{rop3_104_1_0,rop3_104_1_1}}, 27135 {{rop3_105_0_0,rop3_105_0_1},{rop3_105_1_0,rop3_105_1_1}}, 27136 {{rop3_106_0_0,rop3_106_0_1},{rop3_106_1_0,rop3_106_1_1}}, 27137 {{rop3_107_0_0,rop3_107_0_1},{rop3_107_1_0,rop3_107_1_1}}, 27138 {{rop3_108_0_0,rop3_108_0_1},{rop3_108_1_0,rop3_108_1_1}}, 27139 {{rop3_109_0_0,rop3_109_0_1},{rop3_109_1_0,rop3_109_1_1}}, 27140 {{rop3_110_0_0,rop3_110_0_1},{rop3_110_1_0,rop3_110_1_1}}, 27141 {{rop3_111_0_0,rop3_111_0_1},{rop3_111_1_0,rop3_111_1_1}}, 27142 {{rop3_112_0_0,rop3_112_0_1},{rop3_112_1_0,rop3_112_1_1}}, 27143 {{rop3_113_0_0,rop3_113_0_1},{rop3_113_1_0,rop3_113_1_1}}, 27144 {{rop3_114_0_0,rop3_114_0_1},{rop3_114_1_0,rop3_114_1_1}}, 27145 {{rop3_115_0_0,rop3_115_0_1},{rop3_115_1_0,rop3_115_1_1}}, 27146 {{rop3_116_0_0,rop3_116_0_1},{rop3_116_1_0,rop3_116_1_1}}, 27147 {{rop3_117_0_0,rop3_117_0_1},{rop3_117_1_0,rop3_117_1_1}}, 27148 {{rop3_118_0_0,rop3_118_0_1},{rop3_118_1_0,rop3_118_1_1}}, 27149 {{rop3_119_0_0,rop3_119_0_1},{rop3_119_1_0,rop3_119_1_1}}, 27150 {{rop3_120_0_0,rop3_120_0_1},{rop3_120_1_0,rop3_120_1_1}}, 27151 {{rop3_121_0_0,rop3_121_0_1},{rop3_121_1_0,rop3_121_1_1}}, 27152 {{rop3_122_0_0,rop3_122_0_1},{rop3_122_1_0,rop3_122_1_1}}, 27153 {{rop3_123_0_0,rop3_123_0_1},{rop3_123_1_0,rop3_123_1_1}}, 27154 {{rop3_124_0_0,rop3_124_0_1},{rop3_124_1_0,rop3_124_1_1}}, 27155 {{rop3_125_0_0,rop3_125_0_1},{rop3_125_1_0,rop3_125_1_1}}, 27156 {{rop3_126_0_0,rop3_126_0_1},{rop3_126_1_0,rop3_126_1_1}}, 27157 {{rop3_127_0_0,rop3_127_0_1},{rop3_127_1_0,rop3_127_1_1}}, 27158 {{rop3_128_0_0,rop3_128_0_1},{rop3_128_1_0,rop3_128_1_1}}, 27159 {{rop3_129_0_0,rop3_129_0_1},{rop3_129_1_0,rop3_129_1_1}}, 27160 {{rop3_130_0_0,rop3_130_0_1},{rop3_130_1_0,rop3_130_1_1}}, 27161 {{rop3_131_0_0,rop3_131_0_1},{rop3_131_1_0,rop3_131_1_1}}, 27162 {{rop3_132_0_0,rop3_132_0_1},{rop3_132_1_0,rop3_132_1_1}}, 27163 {{rop3_133_0_0,rop3_133_0_1},{rop3_133_1_0,rop3_133_1_1}}, 27164 {{rop3_134_0_0,rop3_134_0_1},{rop3_134_1_0,rop3_134_1_1}}, 27165 {{rop3_135_0_0,rop3_135_0_1},{rop3_135_1_0,rop3_135_1_1}}, 27166 {{rop3_136_0_0,rop3_136_0_1},{rop3_136_1_0,rop3_136_1_1}}, 27167 {{rop3_137_0_0,rop3_137_0_1},{rop3_137_1_0,rop3_137_1_1}}, 27168 {{rop3_138_0_0,rop3_138_0_1},{rop3_138_1_0,rop3_138_1_1}}, 27169 {{rop3_139_0_0,rop3_139_0_1},{rop3_139_1_0,rop3_139_1_1}}, 27170 {{rop3_140_0_0,rop3_140_0_1},{rop3_140_1_0,rop3_140_1_1}}, 27171 {{rop3_141_0_0,rop3_141_0_1},{rop3_141_1_0,rop3_141_1_1}}, 27172 {{rop3_142_0_0,rop3_142_0_1},{rop3_142_1_0,rop3_142_1_1}}, 27173 {{rop3_143_0_0,rop3_143_0_1},{rop3_143_1_0,rop3_143_1_1}}, 27174 {{rop3_144_0_0,rop3_144_0_1},{rop3_144_1_0,rop3_144_1_1}}, 27175 {{rop3_145_0_0,rop3_145_0_1},{rop3_145_1_0,rop3_145_1_1}}, 27176 {{rop3_146_0_0,rop3_146_0_1},{rop3_146_1_0,rop3_146_1_1}}, 27177 {{rop3_147_0_0,rop3_147_0_1},{rop3_147_1_0,rop3_147_1_1}}, 27178 {{rop3_148_0_0,rop3_148_0_1},{rop3_148_1_0,rop3_148_1_1}}, 27179 {{rop3_149_0_0,rop3_149_0_1},{rop3_149_1_0,rop3_149_1_1}}, 27180 {{rop3_150_0_0,rop3_150_0_1},{rop3_150_1_0,rop3_150_1_1}}, 27181 {{rop3_151_0_0,rop3_151_0_1},{rop3_151_1_0,rop3_151_1_1}}, 27182 {{rop3_152_0_0,rop3_152_0_1},{rop3_152_1_0,rop3_152_1_1}}, 27183 {{rop3_153_0_0,rop3_153_0_1},{rop3_153_1_0,rop3_153_1_1}}, 27184 {{rop3_154_0_0,rop3_154_0_1},{rop3_154_1_0,rop3_154_1_1}}, 27185 {{rop3_155_0_0,rop3_155_0_1},{rop3_155_1_0,rop3_155_1_1}}, 27186 {{rop3_156_0_0,rop3_156_0_1},{rop3_156_1_0,rop3_156_1_1}}, 27187 {{rop3_157_0_0,rop3_157_0_1},{rop3_157_1_0,rop3_157_1_1}}, 27188 {{rop3_158_0_0,rop3_158_0_1},{rop3_158_1_0,rop3_158_1_1}}, 27189 {{rop3_159_0_0,rop3_159_0_1},{rop3_159_1_0,rop3_159_1_1}}, 27190 {{rop3_160_0_0,rop3_160_0_1},{rop3_160_1_0,rop3_160_1_1}}, 27191 {{rop3_161_0_0,rop3_161_0_1},{rop3_161_1_0,rop3_161_1_1}}, 27192 {{rop3_162_0_0,rop3_162_0_1},{rop3_162_1_0,rop3_162_1_1}}, 27193 {{rop3_163_0_0,rop3_163_0_1},{rop3_163_1_0,rop3_163_1_1}}, 27194 {{rop3_164_0_0,rop3_164_0_1},{rop3_164_1_0,rop3_164_1_1}}, 27195 {{rop3_165_0_0,rop3_165_0_1},{rop3_165_1_0,rop3_165_1_1}}, 27196 {{rop3_166_0_0,rop3_166_0_1},{rop3_166_1_0,rop3_166_1_1}}, 27197 {{rop3_167_0_0,rop3_167_0_1},{rop3_167_1_0,rop3_167_1_1}}, 27198 {{rop3_168_0_0,rop3_168_0_1},{rop3_168_1_0,rop3_168_1_1}}, 27199 {{rop3_169_0_0,rop3_169_0_1},{rop3_169_1_0,rop3_169_1_1}}, 27200 {{rop3_170_0_0,rop3_170_0_1},{rop3_170_1_0,rop3_170_1_1}}, 27201 {{rop3_171_0_0,rop3_171_0_1},{rop3_171_1_0,rop3_171_1_1}}, 27202 {{rop3_172_0_0,rop3_172_0_1},{rop3_172_1_0,rop3_172_1_1}}, 27203 {{rop3_173_0_0,rop3_173_0_1},{rop3_173_1_0,rop3_173_1_1}}, 27204 {{rop3_174_0_0,rop3_174_0_1},{rop3_174_1_0,rop3_174_1_1}}, 27205 {{rop3_175_0_0,rop3_175_0_1},{rop3_175_1_0,rop3_175_1_1}}, 27206 {{rop3_176_0_0,rop3_176_0_1},{rop3_176_1_0,rop3_176_1_1}}, 27207 {{rop3_177_0_0,rop3_177_0_1},{rop3_177_1_0,rop3_177_1_1}}, 27208 {{rop3_178_0_0,rop3_178_0_1},{rop3_178_1_0,rop3_178_1_1}}, 27209 {{rop3_179_0_0,rop3_179_0_1},{rop3_179_1_0,rop3_179_1_1}}, 27210 {{rop3_180_0_0,rop3_180_0_1},{rop3_180_1_0,rop3_180_1_1}}, 27211 {{rop3_181_0_0,rop3_181_0_1},{rop3_181_1_0,rop3_181_1_1}}, 27212 {{rop3_182_0_0,rop3_182_0_1},{rop3_182_1_0,rop3_182_1_1}}, 27213 {{rop3_183_0_0,rop3_183_0_1},{rop3_183_1_0,rop3_183_1_1}}, 27214 {{rop3_184_0_0,rop3_184_0_1},{rop3_184_1_0,rop3_184_1_1}}, 27215 {{rop3_185_0_0,rop3_185_0_1},{rop3_185_1_0,rop3_185_1_1}}, 27216 {{rop3_186_0_0,rop3_186_0_1},{rop3_186_1_0,rop3_186_1_1}}, 27217 {{rop3_187_0_0,rop3_187_0_1},{rop3_187_1_0,rop3_187_1_1}}, 27218 {{rop3_188_0_0,rop3_188_0_1},{rop3_188_1_0,rop3_188_1_1}}, 27219 {{rop3_189_0_0,rop3_189_0_1},{rop3_189_1_0,rop3_189_1_1}}, 27220 {{rop3_190_0_0,rop3_190_0_1},{rop3_190_1_0,rop3_190_1_1}}, 27221 {{rop3_191_0_0,rop3_191_0_1},{rop3_191_1_0,rop3_191_1_1}}, 27222 {{rop3_192_0_0,rop3_192_0_1},{rop3_192_1_0,rop3_192_1_1}}, 27223 {{rop3_193_0_0,rop3_193_0_1},{rop3_193_1_0,rop3_193_1_1}}, 27224 {{rop3_194_0_0,rop3_194_0_1},{rop3_194_1_0,rop3_194_1_1}}, 27225 {{rop3_195_0_0,rop3_195_0_1},{rop3_195_1_0,rop3_195_1_1}}, 27226 {{rop3_196_0_0,rop3_196_0_1},{rop3_196_1_0,rop3_196_1_1}}, 27227 {{rop3_197_0_0,rop3_197_0_1},{rop3_197_1_0,rop3_197_1_1}}, 27228 {{rop3_198_0_0,rop3_198_0_1},{rop3_198_1_0,rop3_198_1_1}}, 27229 {{rop3_199_0_0,rop3_199_0_1},{rop3_199_1_0,rop3_199_1_1}}, 27230 {{rop3_200_0_0,rop3_200_0_1},{rop3_200_1_0,rop3_200_1_1}}, 27231 {{rop3_201_0_0,rop3_201_0_1},{rop3_201_1_0,rop3_201_1_1}}, 27232 {{rop3_202_0_0,rop3_202_0_1},{rop3_202_1_0,rop3_202_1_1}}, 27233 {{rop3_203_0_0,rop3_203_0_1},{rop3_203_1_0,rop3_203_1_1}}, 27234 {{rop3_204_0_0,rop3_204_0_1},{rop3_204_1_0,rop3_204_1_1}}, 27235 {{rop3_205_0_0,rop3_205_0_1},{rop3_205_1_0,rop3_205_1_1}}, 27236 {{rop3_206_0_0,rop3_206_0_1},{rop3_206_1_0,rop3_206_1_1}}, 27237 {{rop3_207_0_0,rop3_207_0_1},{rop3_207_1_0,rop3_207_1_1}}, 27238 {{rop3_208_0_0,rop3_208_0_1},{rop3_208_1_0,rop3_208_1_1}}, 27239 {{rop3_209_0_0,rop3_209_0_1},{rop3_209_1_0,rop3_209_1_1}}, 27240 {{rop3_210_0_0,rop3_210_0_1},{rop3_210_1_0,rop3_210_1_1}}, 27241 {{rop3_211_0_0,rop3_211_0_1},{rop3_211_1_0,rop3_211_1_1}}, 27242 {{rop3_212_0_0,rop3_212_0_1},{rop3_212_1_0,rop3_212_1_1}}, 27243 {{rop3_213_0_0,rop3_213_0_1},{rop3_213_1_0,rop3_213_1_1}}, 27244 {{rop3_214_0_0,rop3_214_0_1},{rop3_214_1_0,rop3_214_1_1}}, 27245 {{rop3_215_0_0,rop3_215_0_1},{rop3_215_1_0,rop3_215_1_1}}, 27246 {{rop3_216_0_0,rop3_216_0_1},{rop3_216_1_0,rop3_216_1_1}}, 27247 {{rop3_217_0_0,rop3_217_0_1},{rop3_217_1_0,rop3_217_1_1}}, 27248 {{rop3_218_0_0,rop3_218_0_1},{rop3_218_1_0,rop3_218_1_1}}, 27249 {{rop3_219_0_0,rop3_219_0_1},{rop3_219_1_0,rop3_219_1_1}}, 27250 {{rop3_220_0_0,rop3_220_0_1},{rop3_220_1_0,rop3_220_1_1}}, 27251 {{rop3_221_0_0,rop3_221_0_1},{rop3_221_1_0,rop3_221_1_1}}, 27252 {{rop3_222_0_0,rop3_222_0_1},{rop3_222_1_0,rop3_222_1_1}}, 27253 {{rop3_223_0_0,rop3_223_0_1},{rop3_223_1_0,rop3_223_1_1}}, 27254 {{rop3_224_0_0,rop3_224_0_1},{rop3_224_1_0,rop3_224_1_1}}, 27255 {{rop3_225_0_0,rop3_225_0_1},{rop3_225_1_0,rop3_225_1_1}}, 27256 {{rop3_226_0_0,rop3_226_0_1},{rop3_226_1_0,rop3_226_1_1}}, 27257 {{rop3_227_0_0,rop3_227_0_1},{rop3_227_1_0,rop3_227_1_1}}, 27258 {{rop3_228_0_0,rop3_228_0_1},{rop3_228_1_0,rop3_228_1_1}}, 27259 {{rop3_229_0_0,rop3_229_0_1},{rop3_229_1_0,rop3_229_1_1}}, 27260 {{rop3_230_0_0,rop3_230_0_1},{rop3_230_1_0,rop3_230_1_1}}, 27261 {{rop3_231_0_0,rop3_231_0_1},{rop3_231_1_0,rop3_231_1_1}}, 27262 {{rop3_232_0_0,rop3_232_0_1},{rop3_232_1_0,rop3_232_1_1}}, 27263 {{rop3_233_0_0,rop3_233_0_1},{rop3_233_1_0,rop3_233_1_1}}, 27264 {{rop3_234_0_0,rop3_234_0_1},{rop3_234_1_0,rop3_234_1_1}}, 27265 {{rop3_235_0_0,rop3_235_0_1},{rop3_235_1_0,rop3_235_1_1}}, 27266 {{rop3_236_0_0,rop3_236_0_1},{rop3_236_1_0,rop3_236_1_1}}, 27267 {{rop3_237_0_0,rop3_237_0_1},{rop3_237_1_0,rop3_237_1_1}}, 27268 {{rop3_238_0_0,rop3_238_0_1},{rop3_238_1_0,rop3_238_1_1}}, 27269 {{rop3_239_0_0,rop3_239_0_1},{rop3_239_1_0,rop3_239_1_1}}, 27270 {{rop3_240_0_0,rop3_240_0_1},{rop3_240_1_0,rop3_240_1_1}}, 27271 {{rop3_241_0_0,rop3_241_0_1},{rop3_241_1_0,rop3_241_1_1}}, 27272 {{rop3_242_0_0,rop3_242_0_1},{rop3_242_1_0,rop3_242_1_1}}, 27273 {{rop3_243_0_0,rop3_243_0_1},{rop3_243_1_0,rop3_243_1_1}}, 27274 {{rop3_244_0_0,rop3_244_0_1},{rop3_244_1_0,rop3_244_1_1}}, 27275 {{rop3_245_0_0,rop3_245_0_1},{rop3_245_1_0,rop3_245_1_1}}, 27276 {{rop3_246_0_0,rop3_246_0_1},{rop3_246_1_0,rop3_246_1_1}}, 27277 {{rop3_247_0_0,rop3_247_0_1},{rop3_247_1_0,rop3_247_1_1}}, 27278 {{rop3_248_0_0,rop3_248_0_1},{rop3_248_1_0,rop3_248_1_1}}, 27279 {{rop3_249_0_0,rop3_249_0_1},{rop3_249_1_0,rop3_249_1_1}}, 27280 {{rop3_250_0_0,rop3_250_0_1},{rop3_250_1_0,rop3_250_1_1}}, 27281 {{rop3_251_0_0,rop3_251_0_1},{rop3_251_1_0,rop3_251_1_1}}, 27282 {{rop3_252_0_0,rop3_252_0_1},{rop3_252_1_0,rop3_252_1_1}}, 27283 {{rop3_253_0_0,rop3_253_0_1},{rop3_253_1_0,rop3_253_1_1}}, 27284 {{rop3_254_0_0,rop3_254_0_1},{rop3_254_1_0,rop3_254_1_1}}, 27285 {{rop3_255_0_0,rop3_255_0_1},{rop3_255_1_0,rop3_255_1_1}} 27286}; 27287 27288hpgs_rop3_func_t hpgs_rop3_func(int rop3, 27289 hpgs_bool src_transparency, 27290 hpgs_bool pattern_transparency) 27291{ 27292 if (rop3 < 0 || rop3 >= 256) return 0; 27293 return rop3_table[rop3][src_transparency!=0][pattern_transparency!=0]; 27294} 27295static hpgs_xrop3_func_t xrop3_table[][2][2] = { 27296 {{xrop3_0_0_0,xrop3_0_0_1},{xrop3_0_1_0,xrop3_0_1_1}}, 27297 {{xrop3_1_0_0,xrop3_1_0_1},{xrop3_1_1_0,xrop3_1_1_1}}, 27298 {{xrop3_2_0_0,xrop3_2_0_1},{xrop3_2_1_0,xrop3_2_1_1}}, 27299 {{xrop3_3_0_0,xrop3_3_0_1},{xrop3_3_1_0,xrop3_3_1_1}}, 27300 {{xrop3_4_0_0,xrop3_4_0_1},{xrop3_4_1_0,xrop3_4_1_1}}, 27301 {{xrop3_5_0_0,xrop3_5_0_1},{xrop3_5_1_0,xrop3_5_1_1}}, 27302 {{xrop3_6_0_0,xrop3_6_0_1},{xrop3_6_1_0,xrop3_6_1_1}}, 27303 {{xrop3_7_0_0,xrop3_7_0_1},{xrop3_7_1_0,xrop3_7_1_1}}, 27304 {{xrop3_8_0_0,xrop3_8_0_1},{xrop3_8_1_0,xrop3_8_1_1}}, 27305 {{xrop3_9_0_0,xrop3_9_0_1},{xrop3_9_1_0,xrop3_9_1_1}}, 27306 {{xrop3_10_0_0,xrop3_10_0_1},{xrop3_10_1_0,xrop3_10_1_1}}, 27307 {{xrop3_11_0_0,xrop3_11_0_1},{xrop3_11_1_0,xrop3_11_1_1}}, 27308 {{xrop3_12_0_0,xrop3_12_0_1},{xrop3_12_1_0,xrop3_12_1_1}}, 27309 {{xrop3_13_0_0,xrop3_13_0_1},{xrop3_13_1_0,xrop3_13_1_1}}, 27310 {{xrop3_14_0_0,xrop3_14_0_1},{xrop3_14_1_0,xrop3_14_1_1}}, 27311 {{xrop3_15_0_0,xrop3_15_0_1},{xrop3_15_1_0,xrop3_15_1_1}}, 27312 {{xrop3_16_0_0,xrop3_16_0_1},{xrop3_16_1_0,xrop3_16_1_1}}, 27313 {{xrop3_17_0_0,xrop3_17_0_1},{xrop3_17_1_0,xrop3_17_1_1}}, 27314 {{xrop3_18_0_0,xrop3_18_0_1},{xrop3_18_1_0,xrop3_18_1_1}}, 27315 {{xrop3_19_0_0,xrop3_19_0_1},{xrop3_19_1_0,xrop3_19_1_1}}, 27316 {{xrop3_20_0_0,xrop3_20_0_1},{xrop3_20_1_0,xrop3_20_1_1}}, 27317 {{xrop3_21_0_0,xrop3_21_0_1},{xrop3_21_1_0,xrop3_21_1_1}}, 27318 {{xrop3_22_0_0,xrop3_22_0_1},{xrop3_22_1_0,xrop3_22_1_1}}, 27319 {{xrop3_23_0_0,xrop3_23_0_1},{xrop3_23_1_0,xrop3_23_1_1}}, 27320 {{xrop3_24_0_0,xrop3_24_0_1},{xrop3_24_1_0,xrop3_24_1_1}}, 27321 {{xrop3_25_0_0,xrop3_25_0_1},{xrop3_25_1_0,xrop3_25_1_1}}, 27322 {{xrop3_26_0_0,xrop3_26_0_1},{xrop3_26_1_0,xrop3_26_1_1}}, 27323 {{xrop3_27_0_0,xrop3_27_0_1},{xrop3_27_1_0,xrop3_27_1_1}}, 27324 {{xrop3_28_0_0,xrop3_28_0_1},{xrop3_28_1_0,xrop3_28_1_1}}, 27325 {{xrop3_29_0_0,xrop3_29_0_1},{xrop3_29_1_0,xrop3_29_1_1}}, 27326 {{xrop3_30_0_0,xrop3_30_0_1},{xrop3_30_1_0,xrop3_30_1_1}}, 27327 {{xrop3_31_0_0,xrop3_31_0_1},{xrop3_31_1_0,xrop3_31_1_1}}, 27328 {{xrop3_32_0_0,xrop3_32_0_1},{xrop3_32_1_0,xrop3_32_1_1}}, 27329 {{xrop3_33_0_0,xrop3_33_0_1},{xrop3_33_1_0,xrop3_33_1_1}}, 27330 {{xrop3_34_0_0,xrop3_34_0_1},{xrop3_34_1_0,xrop3_34_1_1}}, 27331 {{xrop3_35_0_0,xrop3_35_0_1},{xrop3_35_1_0,xrop3_35_1_1}}, 27332 {{xrop3_36_0_0,xrop3_36_0_1},{xrop3_36_1_0,xrop3_36_1_1}}, 27333 {{xrop3_37_0_0,xrop3_37_0_1},{xrop3_37_1_0,xrop3_37_1_1}}, 27334 {{xrop3_38_0_0,xrop3_38_0_1},{xrop3_38_1_0,xrop3_38_1_1}}, 27335 {{xrop3_39_0_0,xrop3_39_0_1},{xrop3_39_1_0,xrop3_39_1_1}}, 27336 {{xrop3_40_0_0,xrop3_40_0_1},{xrop3_40_1_0,xrop3_40_1_1}}, 27337 {{xrop3_41_0_0,xrop3_41_0_1},{xrop3_41_1_0,xrop3_41_1_1}}, 27338 {{xrop3_42_0_0,xrop3_42_0_1},{xrop3_42_1_0,xrop3_42_1_1}}, 27339 {{xrop3_43_0_0,xrop3_43_0_1},{xrop3_43_1_0,xrop3_43_1_1}}, 27340 {{xrop3_44_0_0,xrop3_44_0_1},{xrop3_44_1_0,xrop3_44_1_1}}, 27341 {{xrop3_45_0_0,xrop3_45_0_1},{xrop3_45_1_0,xrop3_45_1_1}}, 27342 {{xrop3_46_0_0,xrop3_46_0_1},{xrop3_46_1_0,xrop3_46_1_1}}, 27343 {{xrop3_47_0_0,xrop3_47_0_1},{xrop3_47_1_0,xrop3_47_1_1}}, 27344 {{xrop3_48_0_0,xrop3_48_0_1},{xrop3_48_1_0,xrop3_48_1_1}}, 27345 {{xrop3_49_0_0,xrop3_49_0_1},{xrop3_49_1_0,xrop3_49_1_1}}, 27346 {{xrop3_50_0_0,xrop3_50_0_1},{xrop3_50_1_0,xrop3_50_1_1}}, 27347 {{xrop3_51_0_0,xrop3_51_0_1},{xrop3_51_1_0,xrop3_51_1_1}}, 27348 {{xrop3_52_0_0,xrop3_52_0_1},{xrop3_52_1_0,xrop3_52_1_1}}, 27349 {{xrop3_53_0_0,xrop3_53_0_1},{xrop3_53_1_0,xrop3_53_1_1}}, 27350 {{xrop3_54_0_0,xrop3_54_0_1},{xrop3_54_1_0,xrop3_54_1_1}}, 27351 {{xrop3_55_0_0,xrop3_55_0_1},{xrop3_55_1_0,xrop3_55_1_1}}, 27352 {{xrop3_56_0_0,xrop3_56_0_1},{xrop3_56_1_0,xrop3_56_1_1}}, 27353 {{xrop3_57_0_0,xrop3_57_0_1},{xrop3_57_1_0,xrop3_57_1_1}}, 27354 {{xrop3_58_0_0,xrop3_58_0_1},{xrop3_58_1_0,xrop3_58_1_1}}, 27355 {{xrop3_59_0_0,xrop3_59_0_1},{xrop3_59_1_0,xrop3_59_1_1}}, 27356 {{xrop3_60_0_0,xrop3_60_0_1},{xrop3_60_1_0,xrop3_60_1_1}}, 27357 {{xrop3_61_0_0,xrop3_61_0_1},{xrop3_61_1_0,xrop3_61_1_1}}, 27358 {{xrop3_62_0_0,xrop3_62_0_1},{xrop3_62_1_0,xrop3_62_1_1}}, 27359 {{xrop3_63_0_0,xrop3_63_0_1},{xrop3_63_1_0,xrop3_63_1_1}}, 27360 {{xrop3_64_0_0,xrop3_64_0_1},{xrop3_64_1_0,xrop3_64_1_1}}, 27361 {{xrop3_65_0_0,xrop3_65_0_1},{xrop3_65_1_0,xrop3_65_1_1}}, 27362 {{xrop3_66_0_0,xrop3_66_0_1},{xrop3_66_1_0,xrop3_66_1_1}}, 27363 {{xrop3_67_0_0,xrop3_67_0_1},{xrop3_67_1_0,xrop3_67_1_1}}, 27364 {{xrop3_68_0_0,xrop3_68_0_1},{xrop3_68_1_0,xrop3_68_1_1}}, 27365 {{xrop3_69_0_0,xrop3_69_0_1},{xrop3_69_1_0,xrop3_69_1_1}}, 27366 {{xrop3_70_0_0,xrop3_70_0_1},{xrop3_70_1_0,xrop3_70_1_1}}, 27367 {{xrop3_71_0_0,xrop3_71_0_1},{xrop3_71_1_0,xrop3_71_1_1}}, 27368 {{xrop3_72_0_0,xrop3_72_0_1},{xrop3_72_1_0,xrop3_72_1_1}}, 27369 {{xrop3_73_0_0,xrop3_73_0_1},{xrop3_73_1_0,xrop3_73_1_1}}, 27370 {{xrop3_74_0_0,xrop3_74_0_1},{xrop3_74_1_0,xrop3_74_1_1}}, 27371 {{xrop3_75_0_0,xrop3_75_0_1},{xrop3_75_1_0,xrop3_75_1_1}}, 27372 {{xrop3_76_0_0,xrop3_76_0_1},{xrop3_76_1_0,xrop3_76_1_1}}, 27373 {{xrop3_77_0_0,xrop3_77_0_1},{xrop3_77_1_0,xrop3_77_1_1}}, 27374 {{xrop3_78_0_0,xrop3_78_0_1},{xrop3_78_1_0,xrop3_78_1_1}}, 27375 {{xrop3_79_0_0,xrop3_79_0_1},{xrop3_79_1_0,xrop3_79_1_1}}, 27376 {{xrop3_80_0_0,xrop3_80_0_1},{xrop3_80_1_0,xrop3_80_1_1}}, 27377 {{xrop3_81_0_0,xrop3_81_0_1},{xrop3_81_1_0,xrop3_81_1_1}}, 27378 {{xrop3_82_0_0,xrop3_82_0_1},{xrop3_82_1_0,xrop3_82_1_1}}, 27379 {{xrop3_83_0_0,xrop3_83_0_1},{xrop3_83_1_0,xrop3_83_1_1}}, 27380 {{xrop3_84_0_0,xrop3_84_0_1},{xrop3_84_1_0,xrop3_84_1_1}}, 27381 {{xrop3_85_0_0,xrop3_85_0_1},{xrop3_85_1_0,xrop3_85_1_1}}, 27382 {{xrop3_86_0_0,xrop3_86_0_1},{xrop3_86_1_0,xrop3_86_1_1}}, 27383 {{xrop3_87_0_0,xrop3_87_0_1},{xrop3_87_1_0,xrop3_87_1_1}}, 27384 {{xrop3_88_0_0,xrop3_88_0_1},{xrop3_88_1_0,xrop3_88_1_1}}, 27385 {{xrop3_89_0_0,xrop3_89_0_1},{xrop3_89_1_0,xrop3_89_1_1}}, 27386 {{xrop3_90_0_0,xrop3_90_0_1},{xrop3_90_1_0,xrop3_90_1_1}}, 27387 {{xrop3_91_0_0,xrop3_91_0_1},{xrop3_91_1_0,xrop3_91_1_1}}, 27388 {{xrop3_92_0_0,xrop3_92_0_1},{xrop3_92_1_0,xrop3_92_1_1}}, 27389 {{xrop3_93_0_0,xrop3_93_0_1},{xrop3_93_1_0,xrop3_93_1_1}}, 27390 {{xrop3_94_0_0,xrop3_94_0_1},{xrop3_94_1_0,xrop3_94_1_1}}, 27391 {{xrop3_95_0_0,xrop3_95_0_1},{xrop3_95_1_0,xrop3_95_1_1}}, 27392 {{xrop3_96_0_0,xrop3_96_0_1},{xrop3_96_1_0,xrop3_96_1_1}}, 27393 {{xrop3_97_0_0,xrop3_97_0_1},{xrop3_97_1_0,xrop3_97_1_1}}, 27394 {{xrop3_98_0_0,xrop3_98_0_1},{xrop3_98_1_0,xrop3_98_1_1}}, 27395 {{xrop3_99_0_0,xrop3_99_0_1},{xrop3_99_1_0,xrop3_99_1_1}}, 27396 {{xrop3_100_0_0,xrop3_100_0_1},{xrop3_100_1_0,xrop3_100_1_1}}, 27397 {{xrop3_101_0_0,xrop3_101_0_1},{xrop3_101_1_0,xrop3_101_1_1}}, 27398 {{xrop3_102_0_0,xrop3_102_0_1},{xrop3_102_1_0,xrop3_102_1_1}}, 27399 {{xrop3_103_0_0,xrop3_103_0_1},{xrop3_103_1_0,xrop3_103_1_1}}, 27400 {{xrop3_104_0_0,xrop3_104_0_1},{xrop3_104_1_0,xrop3_104_1_1}}, 27401 {{xrop3_105_0_0,xrop3_105_0_1},{xrop3_105_1_0,xrop3_105_1_1}}, 27402 {{xrop3_106_0_0,xrop3_106_0_1},{xrop3_106_1_0,xrop3_106_1_1}}, 27403 {{xrop3_107_0_0,xrop3_107_0_1},{xrop3_107_1_0,xrop3_107_1_1}}, 27404 {{xrop3_108_0_0,xrop3_108_0_1},{xrop3_108_1_0,xrop3_108_1_1}}, 27405 {{xrop3_109_0_0,xrop3_109_0_1},{xrop3_109_1_0,xrop3_109_1_1}}, 27406 {{xrop3_110_0_0,xrop3_110_0_1},{xrop3_110_1_0,xrop3_110_1_1}}, 27407 {{xrop3_111_0_0,xrop3_111_0_1},{xrop3_111_1_0,xrop3_111_1_1}}, 27408 {{xrop3_112_0_0,xrop3_112_0_1},{xrop3_112_1_0,xrop3_112_1_1}}, 27409 {{xrop3_113_0_0,xrop3_113_0_1},{xrop3_113_1_0,xrop3_113_1_1}}, 27410 {{xrop3_114_0_0,xrop3_114_0_1},{xrop3_114_1_0,xrop3_114_1_1}}, 27411 {{xrop3_115_0_0,xrop3_115_0_1},{xrop3_115_1_0,xrop3_115_1_1}}, 27412 {{xrop3_116_0_0,xrop3_116_0_1},{xrop3_116_1_0,xrop3_116_1_1}}, 27413 {{xrop3_117_0_0,xrop3_117_0_1},{xrop3_117_1_0,xrop3_117_1_1}}, 27414 {{xrop3_118_0_0,xrop3_118_0_1},{xrop3_118_1_0,xrop3_118_1_1}}, 27415 {{xrop3_119_0_0,xrop3_119_0_1},{xrop3_119_1_0,xrop3_119_1_1}}, 27416 {{xrop3_120_0_0,xrop3_120_0_1},{xrop3_120_1_0,xrop3_120_1_1}}, 27417 {{xrop3_121_0_0,xrop3_121_0_1},{xrop3_121_1_0,xrop3_121_1_1}}, 27418 {{xrop3_122_0_0,xrop3_122_0_1},{xrop3_122_1_0,xrop3_122_1_1}}, 27419 {{xrop3_123_0_0,xrop3_123_0_1},{xrop3_123_1_0,xrop3_123_1_1}}, 27420 {{xrop3_124_0_0,xrop3_124_0_1},{xrop3_124_1_0,xrop3_124_1_1}}, 27421 {{xrop3_125_0_0,xrop3_125_0_1},{xrop3_125_1_0,xrop3_125_1_1}}, 27422 {{xrop3_126_0_0,xrop3_126_0_1},{xrop3_126_1_0,xrop3_126_1_1}}, 27423 {{xrop3_127_0_0,xrop3_127_0_1},{xrop3_127_1_0,xrop3_127_1_1}}, 27424 {{xrop3_128_0_0,xrop3_128_0_1},{xrop3_128_1_0,xrop3_128_1_1}}, 27425 {{xrop3_129_0_0,xrop3_129_0_1},{xrop3_129_1_0,xrop3_129_1_1}}, 27426 {{xrop3_130_0_0,xrop3_130_0_1},{xrop3_130_1_0,xrop3_130_1_1}}, 27427 {{xrop3_131_0_0,xrop3_131_0_1},{xrop3_131_1_0,xrop3_131_1_1}}, 27428 {{xrop3_132_0_0,xrop3_132_0_1},{xrop3_132_1_0,xrop3_132_1_1}}, 27429 {{xrop3_133_0_0,xrop3_133_0_1},{xrop3_133_1_0,xrop3_133_1_1}}, 27430 {{xrop3_134_0_0,xrop3_134_0_1},{xrop3_134_1_0,xrop3_134_1_1}}, 27431 {{xrop3_135_0_0,xrop3_135_0_1},{xrop3_135_1_0,xrop3_135_1_1}}, 27432 {{xrop3_136_0_0,xrop3_136_0_1},{xrop3_136_1_0,xrop3_136_1_1}}, 27433 {{xrop3_137_0_0,xrop3_137_0_1},{xrop3_137_1_0,xrop3_137_1_1}}, 27434 {{xrop3_138_0_0,xrop3_138_0_1},{xrop3_138_1_0,xrop3_138_1_1}}, 27435 {{xrop3_139_0_0,xrop3_139_0_1},{xrop3_139_1_0,xrop3_139_1_1}}, 27436 {{xrop3_140_0_0,xrop3_140_0_1},{xrop3_140_1_0,xrop3_140_1_1}}, 27437 {{xrop3_141_0_0,xrop3_141_0_1},{xrop3_141_1_0,xrop3_141_1_1}}, 27438 {{xrop3_142_0_0,xrop3_142_0_1},{xrop3_142_1_0,xrop3_142_1_1}}, 27439 {{xrop3_143_0_0,xrop3_143_0_1},{xrop3_143_1_0,xrop3_143_1_1}}, 27440 {{xrop3_144_0_0,xrop3_144_0_1},{xrop3_144_1_0,xrop3_144_1_1}}, 27441 {{xrop3_145_0_0,xrop3_145_0_1},{xrop3_145_1_0,xrop3_145_1_1}}, 27442 {{xrop3_146_0_0,xrop3_146_0_1},{xrop3_146_1_0,xrop3_146_1_1}}, 27443 {{xrop3_147_0_0,xrop3_147_0_1},{xrop3_147_1_0,xrop3_147_1_1}}, 27444 {{xrop3_148_0_0,xrop3_148_0_1},{xrop3_148_1_0,xrop3_148_1_1}}, 27445 {{xrop3_149_0_0,xrop3_149_0_1},{xrop3_149_1_0,xrop3_149_1_1}}, 27446 {{xrop3_150_0_0,xrop3_150_0_1},{xrop3_150_1_0,xrop3_150_1_1}}, 27447 {{xrop3_151_0_0,xrop3_151_0_1},{xrop3_151_1_0,xrop3_151_1_1}}, 27448 {{xrop3_152_0_0,xrop3_152_0_1},{xrop3_152_1_0,xrop3_152_1_1}}, 27449 {{xrop3_153_0_0,xrop3_153_0_1},{xrop3_153_1_0,xrop3_153_1_1}}, 27450 {{xrop3_154_0_0,xrop3_154_0_1},{xrop3_154_1_0,xrop3_154_1_1}}, 27451 {{xrop3_155_0_0,xrop3_155_0_1},{xrop3_155_1_0,xrop3_155_1_1}}, 27452 {{xrop3_156_0_0,xrop3_156_0_1},{xrop3_156_1_0,xrop3_156_1_1}}, 27453 {{xrop3_157_0_0,xrop3_157_0_1},{xrop3_157_1_0,xrop3_157_1_1}}, 27454 {{xrop3_158_0_0,xrop3_158_0_1},{xrop3_158_1_0,xrop3_158_1_1}}, 27455 {{xrop3_159_0_0,xrop3_159_0_1},{xrop3_159_1_0,xrop3_159_1_1}}, 27456 {{xrop3_160_0_0,xrop3_160_0_1},{xrop3_160_1_0,xrop3_160_1_1}}, 27457 {{xrop3_161_0_0,xrop3_161_0_1},{xrop3_161_1_0,xrop3_161_1_1}}, 27458 {{xrop3_162_0_0,xrop3_162_0_1},{xrop3_162_1_0,xrop3_162_1_1}}, 27459 {{xrop3_163_0_0,xrop3_163_0_1},{xrop3_163_1_0,xrop3_163_1_1}}, 27460 {{xrop3_164_0_0,xrop3_164_0_1},{xrop3_164_1_0,xrop3_164_1_1}}, 27461 {{xrop3_165_0_0,xrop3_165_0_1},{xrop3_165_1_0,xrop3_165_1_1}}, 27462 {{xrop3_166_0_0,xrop3_166_0_1},{xrop3_166_1_0,xrop3_166_1_1}}, 27463 {{xrop3_167_0_0,xrop3_167_0_1},{xrop3_167_1_0,xrop3_167_1_1}}, 27464 {{xrop3_168_0_0,xrop3_168_0_1},{xrop3_168_1_0,xrop3_168_1_1}}, 27465 {{xrop3_169_0_0,xrop3_169_0_1},{xrop3_169_1_0,xrop3_169_1_1}}, 27466 {{xrop3_170_0_0,xrop3_170_0_1},{xrop3_170_1_0,xrop3_170_1_1}}, 27467 {{xrop3_171_0_0,xrop3_171_0_1},{xrop3_171_1_0,xrop3_171_1_1}}, 27468 {{xrop3_172_0_0,xrop3_172_0_1},{xrop3_172_1_0,xrop3_172_1_1}}, 27469 {{xrop3_173_0_0,xrop3_173_0_1},{xrop3_173_1_0,xrop3_173_1_1}}, 27470 {{xrop3_174_0_0,xrop3_174_0_1},{xrop3_174_1_0,xrop3_174_1_1}}, 27471 {{xrop3_175_0_0,xrop3_175_0_1},{xrop3_175_1_0,xrop3_175_1_1}}, 27472 {{xrop3_176_0_0,xrop3_176_0_1},{xrop3_176_1_0,xrop3_176_1_1}}, 27473 {{xrop3_177_0_0,xrop3_177_0_1},{xrop3_177_1_0,xrop3_177_1_1}}, 27474 {{xrop3_178_0_0,xrop3_178_0_1},{xrop3_178_1_0,xrop3_178_1_1}}, 27475 {{xrop3_179_0_0,xrop3_179_0_1},{xrop3_179_1_0,xrop3_179_1_1}}, 27476 {{xrop3_180_0_0,xrop3_180_0_1},{xrop3_180_1_0,xrop3_180_1_1}}, 27477 {{xrop3_181_0_0,xrop3_181_0_1},{xrop3_181_1_0,xrop3_181_1_1}}, 27478 {{xrop3_182_0_0,xrop3_182_0_1},{xrop3_182_1_0,xrop3_182_1_1}}, 27479 {{xrop3_183_0_0,xrop3_183_0_1},{xrop3_183_1_0,xrop3_183_1_1}}, 27480 {{xrop3_184_0_0,xrop3_184_0_1},{xrop3_184_1_0,xrop3_184_1_1}}, 27481 {{xrop3_185_0_0,xrop3_185_0_1},{xrop3_185_1_0,xrop3_185_1_1}}, 27482 {{xrop3_186_0_0,xrop3_186_0_1},{xrop3_186_1_0,xrop3_186_1_1}}, 27483 {{xrop3_187_0_0,xrop3_187_0_1},{xrop3_187_1_0,xrop3_187_1_1}}, 27484 {{xrop3_188_0_0,xrop3_188_0_1},{xrop3_188_1_0,xrop3_188_1_1}}, 27485 {{xrop3_189_0_0,xrop3_189_0_1},{xrop3_189_1_0,xrop3_189_1_1}}, 27486 {{xrop3_190_0_0,xrop3_190_0_1},{xrop3_190_1_0,xrop3_190_1_1}}, 27487 {{xrop3_191_0_0,xrop3_191_0_1},{xrop3_191_1_0,xrop3_191_1_1}}, 27488 {{xrop3_192_0_0,xrop3_192_0_1},{xrop3_192_1_0,xrop3_192_1_1}}, 27489 {{xrop3_193_0_0,xrop3_193_0_1},{xrop3_193_1_0,xrop3_193_1_1}}, 27490 {{xrop3_194_0_0,xrop3_194_0_1},{xrop3_194_1_0,xrop3_194_1_1}}, 27491 {{xrop3_195_0_0,xrop3_195_0_1},{xrop3_195_1_0,xrop3_195_1_1}}, 27492 {{xrop3_196_0_0,xrop3_196_0_1},{xrop3_196_1_0,xrop3_196_1_1}}, 27493 {{xrop3_197_0_0,xrop3_197_0_1},{xrop3_197_1_0,xrop3_197_1_1}}, 27494 {{xrop3_198_0_0,xrop3_198_0_1},{xrop3_198_1_0,xrop3_198_1_1}}, 27495 {{xrop3_199_0_0,xrop3_199_0_1},{xrop3_199_1_0,xrop3_199_1_1}}, 27496 {{xrop3_200_0_0,xrop3_200_0_1},{xrop3_200_1_0,xrop3_200_1_1}}, 27497 {{xrop3_201_0_0,xrop3_201_0_1},{xrop3_201_1_0,xrop3_201_1_1}}, 27498 {{xrop3_202_0_0,xrop3_202_0_1},{xrop3_202_1_0,xrop3_202_1_1}}, 27499 {{xrop3_203_0_0,xrop3_203_0_1},{xrop3_203_1_0,xrop3_203_1_1}}, 27500 {{xrop3_204_0_0,xrop3_204_0_1},{xrop3_204_1_0,xrop3_204_1_1}}, 27501 {{xrop3_205_0_0,xrop3_205_0_1},{xrop3_205_1_0,xrop3_205_1_1}}, 27502 {{xrop3_206_0_0,xrop3_206_0_1},{xrop3_206_1_0,xrop3_206_1_1}}, 27503 {{xrop3_207_0_0,xrop3_207_0_1},{xrop3_207_1_0,xrop3_207_1_1}}, 27504 {{xrop3_208_0_0,xrop3_208_0_1},{xrop3_208_1_0,xrop3_208_1_1}}, 27505 {{xrop3_209_0_0,xrop3_209_0_1},{xrop3_209_1_0,xrop3_209_1_1}}, 27506 {{xrop3_210_0_0,xrop3_210_0_1},{xrop3_210_1_0,xrop3_210_1_1}}, 27507 {{xrop3_211_0_0,xrop3_211_0_1},{xrop3_211_1_0,xrop3_211_1_1}}, 27508 {{xrop3_212_0_0,xrop3_212_0_1},{xrop3_212_1_0,xrop3_212_1_1}}, 27509 {{xrop3_213_0_0,xrop3_213_0_1},{xrop3_213_1_0,xrop3_213_1_1}}, 27510 {{xrop3_214_0_0,xrop3_214_0_1},{xrop3_214_1_0,xrop3_214_1_1}}, 27511 {{xrop3_215_0_0,xrop3_215_0_1},{xrop3_215_1_0,xrop3_215_1_1}}, 27512 {{xrop3_216_0_0,xrop3_216_0_1},{xrop3_216_1_0,xrop3_216_1_1}}, 27513 {{xrop3_217_0_0,xrop3_217_0_1},{xrop3_217_1_0,xrop3_217_1_1}}, 27514 {{xrop3_218_0_0,xrop3_218_0_1},{xrop3_218_1_0,xrop3_218_1_1}}, 27515 {{xrop3_219_0_0,xrop3_219_0_1},{xrop3_219_1_0,xrop3_219_1_1}}, 27516 {{xrop3_220_0_0,xrop3_220_0_1},{xrop3_220_1_0,xrop3_220_1_1}}, 27517 {{xrop3_221_0_0,xrop3_221_0_1},{xrop3_221_1_0,xrop3_221_1_1}}, 27518 {{xrop3_222_0_0,xrop3_222_0_1},{xrop3_222_1_0,xrop3_222_1_1}}, 27519 {{xrop3_223_0_0,xrop3_223_0_1},{xrop3_223_1_0,xrop3_223_1_1}}, 27520 {{xrop3_224_0_0,xrop3_224_0_1},{xrop3_224_1_0,xrop3_224_1_1}}, 27521 {{xrop3_225_0_0,xrop3_225_0_1},{xrop3_225_1_0,xrop3_225_1_1}}, 27522 {{xrop3_226_0_0,xrop3_226_0_1},{xrop3_226_1_0,xrop3_226_1_1}}, 27523 {{xrop3_227_0_0,xrop3_227_0_1},{xrop3_227_1_0,xrop3_227_1_1}}, 27524 {{xrop3_228_0_0,xrop3_228_0_1},{xrop3_228_1_0,xrop3_228_1_1}}, 27525 {{xrop3_229_0_0,xrop3_229_0_1},{xrop3_229_1_0,xrop3_229_1_1}}, 27526 {{xrop3_230_0_0,xrop3_230_0_1},{xrop3_230_1_0,xrop3_230_1_1}}, 27527 {{xrop3_231_0_0,xrop3_231_0_1},{xrop3_231_1_0,xrop3_231_1_1}}, 27528 {{xrop3_232_0_0,xrop3_232_0_1},{xrop3_232_1_0,xrop3_232_1_1}}, 27529 {{xrop3_233_0_0,xrop3_233_0_1},{xrop3_233_1_0,xrop3_233_1_1}}, 27530 {{xrop3_234_0_0,xrop3_234_0_1},{xrop3_234_1_0,xrop3_234_1_1}}, 27531 {{xrop3_235_0_0,xrop3_235_0_1},{xrop3_235_1_0,xrop3_235_1_1}}, 27532 {{xrop3_236_0_0,xrop3_236_0_1},{xrop3_236_1_0,xrop3_236_1_1}}, 27533 {{xrop3_237_0_0,xrop3_237_0_1},{xrop3_237_1_0,xrop3_237_1_1}}, 27534 {{xrop3_238_0_0,xrop3_238_0_1},{xrop3_238_1_0,xrop3_238_1_1}}, 27535 {{xrop3_239_0_0,xrop3_239_0_1},{xrop3_239_1_0,xrop3_239_1_1}}, 27536 {{xrop3_240_0_0,xrop3_240_0_1},{xrop3_240_1_0,xrop3_240_1_1}}, 27537 {{xrop3_241_0_0,xrop3_241_0_1},{xrop3_241_1_0,xrop3_241_1_1}}, 27538 {{xrop3_242_0_0,xrop3_242_0_1},{xrop3_242_1_0,xrop3_242_1_1}}, 27539 {{xrop3_243_0_0,xrop3_243_0_1},{xrop3_243_1_0,xrop3_243_1_1}}, 27540 {{xrop3_244_0_0,xrop3_244_0_1},{xrop3_244_1_0,xrop3_244_1_1}}, 27541 {{xrop3_245_0_0,xrop3_245_0_1},{xrop3_245_1_0,xrop3_245_1_1}}, 27542 {{xrop3_246_0_0,xrop3_246_0_1},{xrop3_246_1_0,xrop3_246_1_1}}, 27543 {{xrop3_247_0_0,xrop3_247_0_1},{xrop3_247_1_0,xrop3_247_1_1}}, 27544 {{xrop3_248_0_0,xrop3_248_0_1},{xrop3_248_1_0,xrop3_248_1_1}}, 27545 {{xrop3_249_0_0,xrop3_249_0_1},{xrop3_249_1_0,xrop3_249_1_1}}, 27546 {{xrop3_250_0_0,xrop3_250_0_1},{xrop3_250_1_0,xrop3_250_1_1}}, 27547 {{xrop3_251_0_0,xrop3_251_0_1},{xrop3_251_1_0,xrop3_251_1_1}}, 27548 {{xrop3_252_0_0,xrop3_252_0_1},{xrop3_252_1_0,xrop3_252_1_1}}, 27549 {{xrop3_253_0_0,xrop3_253_0_1},{xrop3_253_1_0,xrop3_253_1_1}}, 27550 {{xrop3_254_0_0,xrop3_254_0_1},{xrop3_254_1_0,xrop3_254_1_1}}, 27551 {{xrop3_255_0_0,xrop3_255_0_1},{xrop3_255_1_0,xrop3_255_1_1}} 27552}; 27553 27554hpgs_xrop3_func_t hpgs_xrop3_func(int rop3, 27555 hpgs_bool src_transparency, 27556 hpgs_bool pattern_transparency) 27557{ 27558 if (rop3 < 0 || rop3 >= 256) return 0; 27559 return xrop3_table[rop3][src_transparency!=0][pattern_transparency!=0]; 27560} 27561