623l_uint32 *lines, *lined;
633 lwmask = lmask32[lwbits];
634 psfword = datas + swpl * sy + (sx >> 5);
635 pdfword = datad + dwpl * dy + (dx >> 5);
643 for (i = 0; i < dh; i++) {
644 lines = psfword + i * swpl;
645 lined = pdfword + i * dwpl;
646 for (j = 0; j < nfullw; j++) {
652 *lined = COMBINE_PARTIAL(*lined, *lines, lwmask);
656 for (i = 0; i < dh; i++) {
657 lines = psfword + i * swpl;
658 lined = pdfword + i * dwpl;
659 for (j = 0; j < nfullw; j++) {
665 *lined = COMBINE_PARTIAL(*lined, ~(*lines), lwmask);
669 for (i = 0; i < dh; i++) {
670 lines = psfword + i * swpl;
671 lined = pdfword + i * dwpl;
672 for (j = 0; j < nfullw; j++) {
673 *lined = (*lines | *lined);
678 *lined = COMBINE_PARTIAL(*lined, (*lines | *lined), lwmask);
682 for (i = 0; i < dh; i++) {
683 lines = psfword + i * swpl;
684 lined = pdfword + i * dwpl;
685 for (j = 0; j < nfullw; j++) {
686 *lined = (*lines & *lined);
691 *lined = COMBINE_PARTIAL(*lined, (*lines & *lined), lwmask);
695 for (i = 0; i < dh; i++) {
696 lines = psfword + i * swpl;
697 lined = pdfword + i * dwpl;
698 for (j = 0; j < nfullw; j++) {
699 *lined = (*lines ^ *lined);
704 *lined = COMBINE_PARTIAL(*lined, (*lines ^ *lined), lwmask);
708 for (i = 0; i < dh; i++) {
709 lines = psfword + i * swpl;
710 lined = pdfword + i * dwpl;
711 for (j = 0; j < nfullw; j++) {
712 *lined = (~(*lines) | *lined);
717 *lined = COMBINE_PARTIAL(*lined, (~(*lines) | *lined), lwmask);
721 for (i = 0; i < dh; i++) {
722 lines = psfword + i * swpl;
723 lined = pdfword + i * dwpl;
724 for (j = 0; j < nfullw; j++) {
725 *lined = (~(*lines) & *lined);
730 *lined = COMBINE_PARTIAL(*lined, (~(*lines) & *lined), lwmask);
734 for (i = 0; i < dh; i++) {
735 lines = psfword + i * swpl;
736 lined = pdfword + i * dwpl;
737 for (j = 0; j < nfullw; j++) {
738 *lined = (*lines | ~(*lined));
743 *lined = COMBINE_PARTIAL(*lined, (*lines | ~(*lined)), lwmask);
747 for (i = 0; i < dh; i++) {
748 lines = psfword + i * swpl;
749 lined = pdfword + i * dwpl;
750 for (j = 0; j < nfullw; j++) {
751 *lined = (*lines & ~(*lined));
756 *lined = COMBINE_PARTIAL(*lined, (*lines & ~(*lined)), lwmask);
760 for (i = 0; i < dh; i++) {
761 lines = psfword + i * swpl;
762 lined = pdfword + i * dwpl;
763 for (j = 0; j < nfullw; j++) {
764 *lined = ~(*lines | *lined);
769 *lined = COMBINE_PARTIAL(*lined, ~(*lines | *lined), lwmask);
773 for (i = 0; i < dh; i++) {
774 lines = psfword + i * swpl;
775 lined = pdfword + i * dwpl;
776 for (j = 0; j < nfullw; j++) {
777 *lined = ~(*lines & *lined);
782 *lined = COMBINE_PARTIAL(*lined, ~(*lines & *lined), lwmask);
787 for (i = 0; i < dh; i++) {
788 lines = psfword + i * swpl;
789 lined = pdfword + i * dwpl;
790 for (j = 0; j < nfullw; j++) {
791 *lined = ~(*lines ^ *lined);
796 *lined = COMBINE_PARTIAL(*lined, ~(*lines ^ *lined), lwmask);
800 lept_stderr(
"Operation %d invalid\n", op);
846l_uint32 *pdfwpart = NULL;
847l_uint32 *psfwpart = NULL;
850l_uint32 *pdfwfull = NULL;
851l_uint32 *psfwfull = NULL;
855l_uint32 *pdlwpart = NULL;
856l_uint32 *pslwpart = NULL;
865 if ((dx & 31) == 0) {
870 dfwbits = 32 - (dx & 31);
871 dfwmask = rmask32[dfwbits];
872 pdfwpart = datad + dwpl * dy + (dx >> 5);
873 psfwpart = datas + swpl * sy + (sx >> 5);
881 dfwmask &= lmask32[32 - dfwbits + dw];
885 if (dfwpart2b == 1) {
889 dnfullw = (dw - dfwbits) >> 5;
895 pdfwfull = pdfwpart + 1;
896 psfwfull = psfwpart + 1;
898 pdfwfull = datad + dwpl * dy + (dx >> 5);
899 psfwfull = datas + swpl * sy + (sx >> 5);
905 dlwbits = (dx + dw) & 31;
906 if (dfwpart2b == 1 || dlwbits == 0) {
910 dlwmask = lmask32[dlwbits];
912 pdlwpart = pdfwpart + 1 + dnfullw;
913 pslwpart = psfwpart + 1 + dnfullw;
915 pdlwpart = datad + dwpl * dy + (dx >> 5) + dnfullw;
916 pslwpart = datas + swpl * sy + (sx >> 5) + dnfullw;
929 for (i = 0; i < dh; i++) {
930 *pdfwpart = COMBINE_PARTIAL(*pdfwpart, *psfwpart, dfwmask);
938 for (i = 0; i < dh; i++) {
939 for (j = 0; j < dnfullw; j++)
940 *(pdfwfull + j) = *(psfwfull + j);
948 for (i = 0; i < dh; i++) {
949 *pdlwpart = COMBINE_PARTIAL(*pdlwpart, *pslwpart, dlwmask);
958 for (i = 0; i < dh; i++) {
959 *pdfwpart = COMBINE_PARTIAL(*pdfwpart, ~(*psfwpart), dfwmask);
967 for (i = 0; i < dh; i++) {
968 for (j = 0; j < dnfullw; j++)
969 *(pdfwfull + j) = ~(*(psfwfull + j));
977 for (i = 0; i < dh; i++) {
978 *pdlwpart = COMBINE_PARTIAL(*pdlwpart, ~(*pslwpart), dlwmask);
987 for (i = 0; i < dh; i++) {
988 *pdfwpart = COMBINE_PARTIAL(*pdfwpart,
989 (*psfwpart | *pdfwpart), dfwmask);
997 for (i = 0; i < dh; i++) {
998 for (j = 0; j < dnfullw; j++)
999 *(pdfwfull + j) |= *(psfwfull + j);
1007 for (i = 0; i < dh; i++) {
1008 *pdlwpart = COMBINE_PARTIAL(*pdlwpart,
1009 (*pslwpart | *pdlwpart), dlwmask);
1018 for (i = 0; i < dh; i++) {
1019 *pdfwpart = COMBINE_PARTIAL(*pdfwpart,
1020 (*psfwpart & *pdfwpart), dfwmask);
1028 for (i = 0; i < dh; i++) {
1029 for (j = 0; j < dnfullw; j++)
1030 *(pdfwfull + j) &= *(psfwfull + j);
1038 for (i = 0; i < dh; i++) {
1039 *pdlwpart = COMBINE_PARTIAL(*pdlwpart,
1040 (*pslwpart & *pdlwpart), dlwmask);
1049 for (i = 0; i < dh; i++) {
1050 *pdfwpart = COMBINE_PARTIAL(*pdfwpart,
1051 (*psfwpart ^ *pdfwpart), dfwmask);
1059 for (i = 0; i < dh; i++) {
1060 for (j = 0; j < dnfullw; j++)
1061 *(pdfwfull + j) ^= *(psfwfull + j);
1069 for (i = 0; i < dh; i++) {
1070 *pdlwpart = COMBINE_PARTIAL(*pdlwpart,
1071 (*pslwpart ^ *pdlwpart), dlwmask);
1080 for (i = 0; i < dh; i++) {
1081 *pdfwpart = COMBINE_PARTIAL(*pdfwpart,
1082 (~(*psfwpart) | *pdfwpart), dfwmask);
1090 for (i = 0; i < dh; i++) {
1091 for (j = 0; j < dnfullw; j++)
1092 *(pdfwfull + j) |= ~(*(psfwfull + j));
1100 for (i = 0; i < dh; i++) {
1101 *pdlwpart = COMBINE_PARTIAL(*pdlwpart,
1102 (~(*pslwpart) | *pdlwpart), dlwmask);
1111 for (i = 0; i < dh; i++) {
1112 *pdfwpart = COMBINE_PARTIAL(*pdfwpart,
1113 (~(*psfwpart) & *pdfwpart), dfwmask);
1121 for (i = 0; i < dh; i++) {
1122 for (j = 0; j < dnfullw; j++)
1123 *(pdfwfull + j) &= ~(*(psfwfull + j));
1131 for (i = 0; i < dh; i++) {
1132 *pdlwpart = COMBINE_PARTIAL(*pdlwpart,
1133 (~(*pslwpart) & *pdlwpart), dlwmask);
1142 for (i = 0; i < dh; i++) {
1143 *pdfwpart = COMBINE_PARTIAL(*pdfwpart,
1144 (*psfwpart | ~(*pdfwpart)), dfwmask);
1152 for (i = 0; i < dh; i++) {
1153 for (j = 0; j < dnfullw; j++)
1154 *(pdfwfull + j) = *(psfwfull + j) | ~(*(pdfwfull + j));
1162 for (i = 0; i < dh; i++) {
1163 *pdlwpart = COMBINE_PARTIAL(*pdlwpart,
1164 (*pslwpart | ~(*pdlwpart)), dlwmask);
1173 for (i = 0; i < dh; i++) {
1174 *pdfwpart = COMBINE_PARTIAL(*pdfwpart,
1175 (*psfwpart & ~(*pdfwpart)), dfwmask);
1183 for (i = 0; i < dh; i++) {
1184 for (j = 0; j < dnfullw; j++)
1185 *(pdfwfull + j) = *(psfwfull + j) & ~(*(pdfwfull + j));
1193 for (i = 0; i < dh; i++) {
1194 *pdlwpart = COMBINE_PARTIAL(*pdlwpart,
1195 (*pslwpart & ~(*pdlwpart)), dlwmask);
1204 for (i = 0; i < dh; i++) {
1205 *pdfwpart = COMBINE_PARTIAL(*pdfwpart,
1206 ~(*psfwpart | *pdfwpart), dfwmask);
1214 for (i = 0; i < dh; i++) {
1215 for (j = 0; j < dnfullw; j++)
1216 *(pdfwfull + j) = ~(*(psfwfull + j) | *(pdfwfull + j));
1224 for (i = 0; i < dh; i++) {
1225 *pdlwpart = COMBINE_PARTIAL(*pdlwpart,
1226 ~(*pslwpart | *pdlwpart), dlwmask);
1235 for (i = 0; i < dh; i++) {
1236 *pdfwpart = COMBINE_PARTIAL(*pdfwpart,
1237 ~(*psfwpart & *pdfwpart), dfwmask);
1245 for (i = 0; i < dh; i++) {
1246 for (j = 0; j < dnfullw; j++)
1247 *(pdfwfull + j) = ~(*(psfwfull + j) & *(pdfwfull + j));
1255 for (i = 0; i < dh; i++) {
1256 *pdlwpart = COMBINE_PARTIAL(*pdlwpart,
1257 ~(*pslwpart & *pdlwpart), dlwmask);
1267 for (i = 0; i < dh; i++) {
1268 *pdfwpart = COMBINE_PARTIAL(*pdfwpart,
1269 ~(*psfwpart ^ *pdfwpart), dfwmask);
1277 for (i = 0; i < dh; i++) {
1278 for (j = 0; j < dnfullw; j++)
1279 *(pdfwfull + j) = ~(*(psfwfull + j) ^ *(pdfwfull + j));
1287 for (i = 0; i < dh; i++) {
1288 *pdlwpart = COMBINE_PARTIAL(*pdlwpart,
1289 ~(*pslwpart ^ *pdlwpart), dlwmask);
1296 lept_stderr(
"Operation %x invalid\n", op);
1377l_uint32 *pdfwpart = NULL;
1378l_uint32 *psfwpart = NULL;
1381l_uint32 *pdfwfull = NULL;
1382l_uint32 *psfwfull = NULL;
1386l_uint32 *pdlwpart = NULL;
1387l_uint32 *pslwpart = NULL;
1420 shang = 32 - (sx & 31);
1424 dhang = 32 - (dx & 31);
1426 lept_stderr(
"shang = %d, dhang = %d\n", shang, dhang);
1429 if (shang == 0 && dhang == 0) {
1434 srightmask = rmask32[0];
1437 sleftshift = dhang - shang;
1439 sleftshift = 32 - (shang - dhang);
1440 srightshift = 32 - sleftshift;
1441 srightmask = rmask32[sleftshift];
1445 lept_stderr(
"sleftshift = %d, srightshift = %d\n", sleftshift, srightshift);
1450 if ((dx & 31) == 0) {
1455 dfwbits = 32 - (dx & 31);
1456 dfwmask = rmask32[dfwbits];
1457 pdfwpart = datad + dwpl * dy + (dx >> 5);
1458 psfwpart = datas + swpl * sy + (sx >> 5);
1459 sfwbits = 32 - (sx & 31);
1460 if (dfwbits > sfwbits) {
1461 sfwshiftdir = SHIFT_LEFT;
1468 sfwshiftdir = SHIFT_RIGHT;
1473 if (dw >= dfwbits) {
1477 dfwmask &= lmask32[32 - dfwbits + dw];
1481 if (dfwpart2b == 1) {
1485 dnfullw = (dw - dfwbits) >> 5;
1490 pdfwfull = datad + dwpl * dy + ((dx + dhang) >> 5);
1491 psfwfull = datas + swpl * sy + ((sx + dhang) >> 5);
1496 dlwbits = (dx + dw) & 31;
1497 if (dfwpart2b == 1 || dlwbits == 0) {
1501 dlwmask = lmask32[dlwbits];
1502 pdlwpart = datad + dwpl * dy + ((dx + dhang) >> 5) + dnfullw;
1503 pslwpart = datas + swpl * sy + ((sx + dhang) >> 5) + dnfullw;
1504 if (dlwbits <= srightshift)
1519 for (i = 0; i < dh; i++)
1521 if (sfwshiftdir == SHIFT_LEFT) {
1522 sword = *psfwpart << sleftshift;
1524 sword = COMBINE_PARTIAL(sword,
1525 *(psfwpart + 1) >> srightshift,
1528 sword = *psfwpart >> srightshift;
1531 *pdfwpart = COMBINE_PARTIAL(*pdfwpart, sword, dfwmask);
1539 for (i = 0; i < dh; i++) {
1540 for (j = 0; j < dnfullw; j++) {
1541 sword = COMBINE_PARTIAL(*(psfwfull + j) << sleftshift,
1542 *(psfwfull + j + 1) >> srightshift,
1544 *(pdfwfull + j) = sword;
1553 for (i = 0; i < dh; i++) {
1554 sword = *pslwpart << sleftshift;
1556 sword = COMBINE_PARTIAL(sword,
1557 *(pslwpart + 1) >> srightshift,
1560 *pdlwpart = COMBINE_PARTIAL(*pdlwpart, sword, dlwmask);
1569 for (i = 0; i < dh; i++)
1571 if (sfwshiftdir == SHIFT_LEFT) {
1572 sword = *psfwpart << sleftshift;
1574 sword = COMBINE_PARTIAL(sword,
1575 *(psfwpart + 1) >> srightshift,
1578 sword = *psfwpart >> srightshift;
1581 *pdfwpart = COMBINE_PARTIAL(*pdfwpart, ~sword, dfwmask);
1589 for (i = 0; i < dh; i++) {
1590 for (j = 0; j < dnfullw; j++) {
1591 sword = COMBINE_PARTIAL(*(psfwfull + j) << sleftshift,
1592 *(psfwfull + j + 1) >> srightshift,
1594 *(pdfwfull + j) = ~sword;
1603 for (i = 0; i < dh; i++) {
1604 sword = *pslwpart << sleftshift;
1606 sword = COMBINE_PARTIAL(sword,
1607 *(pslwpart + 1) >> srightshift,
1610 *pdlwpart = COMBINE_PARTIAL(*pdlwpart, ~sword, dlwmask);
1619 for (i = 0; i < dh; i++)
1621 if (sfwshiftdir == SHIFT_LEFT) {
1622 sword = *psfwpart << sleftshift;
1624 sword = COMBINE_PARTIAL(sword,
1625 *(psfwpart + 1) >> srightshift,
1628 sword = *psfwpart >> srightshift;
1631 *pdfwpart = COMBINE_PARTIAL(*pdfwpart,
1632 (sword | *pdfwpart), dfwmask);
1640 for (i = 0; i < dh; i++) {
1641 for (j = 0; j < dnfullw; j++) {
1642 sword = COMBINE_PARTIAL(*(psfwfull + j) << sleftshift,
1643 *(psfwfull + j + 1) >> srightshift,
1645 *(pdfwfull + j) |= sword;
1654 for (i = 0; i < dh; i++) {
1655 sword = *pslwpart << sleftshift;
1657 sword = COMBINE_PARTIAL(sword,
1658 *(pslwpart + 1) >> srightshift,
1661 *pdlwpart = COMBINE_PARTIAL(*pdlwpart,
1662 (sword | *pdlwpart), dlwmask);
1671 for (i = 0; i < dh; i++)
1673 if (sfwshiftdir == SHIFT_LEFT) {
1674 sword = *psfwpart << sleftshift;
1676 sword = COMBINE_PARTIAL(sword,
1677 *(psfwpart + 1) >> srightshift,
1680 sword = *psfwpart >> srightshift;
1683 *pdfwpart = COMBINE_PARTIAL(*pdfwpart,
1684 (sword & *pdfwpart), dfwmask);
1692 for (i = 0; i < dh; i++) {
1693 for (j = 0; j < dnfullw; j++) {
1694 sword = COMBINE_PARTIAL(*(psfwfull + j) << sleftshift,
1695 *(psfwfull + j + 1) >> srightshift,
1697 *(pdfwfull + j) &= sword;
1706 for (i = 0; i < dh; i++) {
1707 sword = *pslwpart << sleftshift;
1709 sword = COMBINE_PARTIAL(sword,
1710 *(pslwpart + 1) >> srightshift,
1713 *pdlwpart = COMBINE_PARTIAL(*pdlwpart,
1714 (sword & *pdlwpart), dlwmask);
1723 for (i = 0; i < dh; i++)
1725 if (sfwshiftdir == SHIFT_LEFT) {
1726 sword = *psfwpart << sleftshift;
1728 sword = COMBINE_PARTIAL(sword,
1729 *(psfwpart + 1) >> srightshift,
1732 sword = *psfwpart >> srightshift;
1735 *pdfwpart = COMBINE_PARTIAL(*pdfwpart,
1736 (sword ^ *pdfwpart), dfwmask);
1744 for (i = 0; i < dh; i++) {
1745 for (j = 0; j < dnfullw; j++) {
1746 sword = COMBINE_PARTIAL(*(psfwfull + j) << sleftshift,
1747 *(psfwfull + j + 1) >> srightshift,
1749 *(pdfwfull + j) ^= sword;
1758 for (i = 0; i < dh; i++) {
1759 sword = *pslwpart << sleftshift;
1761 sword = COMBINE_PARTIAL(sword,
1762 *(pslwpart + 1) >> srightshift,
1765 *pdlwpart = COMBINE_PARTIAL(*pdlwpart,
1766 (sword ^ *pdlwpart), dlwmask);
1775 for (i = 0; i < dh; i++)
1777 if (sfwshiftdir == SHIFT_LEFT) {
1778 sword = *psfwpart << sleftshift;
1780 sword = COMBINE_PARTIAL(sword,
1781 *(psfwpart + 1) >> srightshift,
1784 sword = *psfwpart >> srightshift;
1787 *pdfwpart = COMBINE_PARTIAL(*pdfwpart,
1788 (~sword | *pdfwpart), dfwmask);
1796 for (i = 0; i < dh; i++) {
1797 for (j = 0; j < dnfullw; j++) {
1798 sword = COMBINE_PARTIAL(*(psfwfull + j) << sleftshift,
1799 *(psfwfull + j + 1) >> srightshift,
1801 *(pdfwfull + j) |= ~sword;
1810 for (i = 0; i < dh; i++) {
1811 sword = *pslwpart << sleftshift;
1813 sword = COMBINE_PARTIAL(sword,
1814 *(pslwpart + 1) >> srightshift,
1817 *pdlwpart = COMBINE_PARTIAL(*pdlwpart,
1818 (~sword | *pdlwpart), dlwmask);
1827 for (i = 0; i < dh; i++)
1829 if (sfwshiftdir == SHIFT_LEFT) {
1830 sword = *psfwpart << sleftshift;
1832 sword = COMBINE_PARTIAL(sword,
1833 *(psfwpart + 1) >> srightshift,
1836 sword = *psfwpart >> srightshift;
1839 *pdfwpart = COMBINE_PARTIAL(*pdfwpart,
1840 (~sword & *pdfwpart), dfwmask);
1848 for (i = 0; i < dh; i++) {
1849 for (j = 0; j < dnfullw; j++) {
1850 sword = COMBINE_PARTIAL(*(psfwfull + j) << sleftshift,
1851 *(psfwfull + j + 1) >> srightshift,
1853 *(pdfwfull + j) &= ~sword;
1862 for (i = 0; i < dh; i++) {
1863 sword = *pslwpart << sleftshift;
1865 sword = COMBINE_PARTIAL(sword,
1866 *(pslwpart + 1) >> srightshift,
1869 *pdlwpart = COMBINE_PARTIAL(*pdlwpart,
1870 (~sword & *pdlwpart), dlwmask);
1879 for (i = 0; i < dh; i++)
1881 if (sfwshiftdir == SHIFT_LEFT) {
1882 sword = *psfwpart << sleftshift;
1884 sword = COMBINE_PARTIAL(sword,
1885 *(psfwpart + 1) >> srightshift,
1888 sword = *psfwpart >> srightshift;
1891 *pdfwpart = COMBINE_PARTIAL(*pdfwpart,
1892 (sword | ~(*pdfwpart)), dfwmask);
1900 for (i = 0; i < dh; i++) {
1901 for (j = 0; j < dnfullw; j++) {
1902 sword = COMBINE_PARTIAL(*(psfwfull + j) << sleftshift,
1903 *(psfwfull + j + 1) >> srightshift,
1905 *(pdfwfull + j) = sword | ~(*(pdfwfull + j));
1914 for (i = 0; i < dh; i++) {
1915 sword = *pslwpart << sleftshift;
1917 sword = COMBINE_PARTIAL(sword,
1918 *(pslwpart + 1) >> srightshift,
1921 *pdlwpart = COMBINE_PARTIAL(*pdlwpart,
1922 (sword | ~(*pdlwpart)), dlwmask);
1931 for (i = 0; i < dh; i++)
1933 if (sfwshiftdir == SHIFT_LEFT) {
1934 sword = *psfwpart << sleftshift;
1936 sword = COMBINE_PARTIAL(sword,
1937 *(psfwpart + 1) >> srightshift,
1940 sword = *psfwpart >> srightshift;
1943 *pdfwpart = COMBINE_PARTIAL(*pdfwpart,
1944 (sword & ~(*pdfwpart)), dfwmask);
1952 for (i = 0; i < dh; i++) {
1953 for (j = 0; j < dnfullw; j++) {
1954 sword = COMBINE_PARTIAL(*(psfwfull + j) << sleftshift,
1955 *(psfwfull + j + 1) >> srightshift,
1957 *(pdfwfull + j) = sword & ~(*(pdfwfull + j));
1966 for (i = 0; i < dh; i++) {
1967 sword = *pslwpart << sleftshift;
1969 sword = COMBINE_PARTIAL(sword,
1970 *(pslwpart + 1) >> srightshift,
1973 *pdlwpart = COMBINE_PARTIAL(*pdlwpart,
1974 (sword & ~(*pdlwpart)), dlwmask);
1983 for (i = 0; i < dh; i++)
1985 if (sfwshiftdir == SHIFT_LEFT) {
1986 sword = *psfwpart << sleftshift;
1988 sword = COMBINE_PARTIAL(sword,
1989 *(psfwpart + 1) >> srightshift,
1992 sword = *psfwpart >> srightshift;
1995 *pdfwpart = COMBINE_PARTIAL(*pdfwpart,
1996 ~(sword | *pdfwpart), dfwmask);
2004 for (i = 0; i < dh; i++) {
2005 for (j = 0; j < dnfullw; j++) {
2006 sword = COMBINE_PARTIAL(*(psfwfull + j) << sleftshift,
2007 *(psfwfull + j + 1) >> srightshift,
2009 *(pdfwfull + j) = ~(sword | *(pdfwfull + j));
2018 for (i = 0; i < dh; i++) {
2019 sword = *pslwpart << sleftshift;
2021 sword = COMBINE_PARTIAL(sword,
2022 *(pslwpart + 1) >> srightshift,
2025 *pdlwpart = COMBINE_PARTIAL(*pdlwpart,
2026 ~(sword | *pdlwpart), dlwmask);
2035 for (i = 0; i < dh; i++)
2037 if (sfwshiftdir == SHIFT_LEFT) {
2038 sword = *psfwpart << sleftshift;
2040 sword = COMBINE_PARTIAL(sword,
2041 *(psfwpart + 1) >> srightshift,
2044 sword = *psfwpart >> srightshift;
2047 *pdfwpart = COMBINE_PARTIAL(*pdfwpart,
2048 ~(sword & *pdfwpart), dfwmask);
2056 for (i = 0; i < dh; i++) {
2057 for (j = 0; j < dnfullw; j++) {
2058 sword = COMBINE_PARTIAL(*(psfwfull + j) << sleftshift,
2059 *(psfwfull + j + 1) >> srightshift,
2061 *(pdfwfull + j) = ~(sword & *(pdfwfull + j));
2070 for (i = 0; i < dh; i++) {
2071 sword = *pslwpart << sleftshift;
2073 sword = COMBINE_PARTIAL(sword,
2074 *(pslwpart + 1) >> srightshift,
2077 *pdlwpart = COMBINE_PARTIAL(*pdlwpart,
2078 ~(sword & *pdlwpart), dlwmask);
2088 for (i = 0; i < dh; i++)
2090 if (sfwshiftdir == SHIFT_LEFT) {
2091 sword = *psfwpart << sleftshift;
2093 sword = COMBINE_PARTIAL(sword,
2094 *(psfwpart + 1) >> srightshift,
2097 sword = *psfwpart >> srightshift;
2100 *pdfwpart = COMBINE_PARTIAL(*pdfwpart,
2101 ~(sword ^ *pdfwpart), dfwmask);
2109 for (i = 0; i < dh; i++) {
2110 for (j = 0; j < dnfullw; j++) {
2111 sword = COMBINE_PARTIAL(*(psfwfull + j) << sleftshift,
2112 *(psfwfull + j + 1) >> srightshift,
2114 *(pdfwfull + j) = ~(sword ^ *(pdfwfull + j));
2123 for (i = 0; i < dh; i++) {
2124 sword = *pslwpart << sleftshift;
2126 sword = COMBINE_PARTIAL(sword,
2127 *(pslwpart + 1) >> srightshift,
2130 *pdlwpart = COMBINE_PARTIAL(*pdlwpart,
2131 ~(sword ^ *pdlwpart), dlwmask);
2138 lept_stderr(
"Operation %x invalid\n", op);