Lines Matching refs:X

460 #define copyFromState(X, state) \
461 X##ba = state[ 0]; \
462 X##be = state[ 1]; \
463 X##bi = state[ 2]; \
464 X##bo = state[ 3]; \
465 X##bu = state[ 4]; \
466 X##ga = state[ 5]; \
467 X##ge = state[ 6]; \
468 X##gi = state[ 7]; \
469 X##go = state[ 8]; \
470 X##gu = state[ 9]; \
471 X##ka = state[10]; \
472 X##ke = state[11]; \
473 X##ki = state[12]; \
474 X##ko = state[13]; \
475 X##ku = state[14]; \
476 X##ma = state[15]; \
477 X##me = state[16]; \
478 X##mi = state[17]; \
479 X##mo = state[18]; \
480 X##mu = state[19]; \
481 X##sa = state[20]; \
482 X##se = state[21]; \
483 X##si = state[22]; \
484 X##so = state[23]; \
485 X##su = state[24]; \
487 #define copyToState(state, X) \
488 state[ 0] = X##ba; \
489 state[ 1] = X##be; \
490 state[ 2] = X##bi; \
491 state[ 3] = X##bo; \
492 state[ 4] = X##bu; \
493 state[ 5] = X##ga; \
494 state[ 6] = X##ge; \
495 state[ 7] = X##gi; \
496 state[ 8] = X##go; \
497 state[ 9] = X##gu; \
498 state[10] = X##ka; \
499 state[11] = X##ke; \
500 state[12] = X##ki; \
501 state[13] = X##ko; \
502 state[14] = X##ku; \
503 state[15] = X##ma; \
504 state[16] = X##me; \
505 state[17] = X##mi; \
506 state[18] = X##mo; \
507 state[19] = X##mu; \
508 state[20] = X##sa; \
509 state[21] = X##se; \
510 state[22] = X##si; \
511 state[23] = X##so; \
512 state[24] = X##su; \
514 #define copyStateVariables(X, Y) \
515 X##ba = Y##ba; \
516 X##be = Y##be; \
517 X##bi = Y##bi; \
518 X##bo = Y##bo; \
519 X##bu = Y##bu; \
520 X##ga = Y##ga; \
521 X##ge = Y##ge; \
522 X##gi = Y##gi; \
523 X##go = Y##go; \
524 X##gu = Y##gu; \
525 X##ka = Y##ka; \
526 X##ke = Y##ke; \
527 X##ki = Y##ki; \
528 X##ko = Y##ko; \
529 X##ku = Y##ku; \
530 X##ma = Y##ma; \
531 X##me = Y##me; \
532 X##mi = Y##mi; \
533 X##mo = Y##mo; \
534 X##mu = Y##mu; \
535 X##sa = Y##sa; \
536 X##se = Y##se; \
537 X##si = Y##si; \
538 X##so = Y##so; \
539 X##su = Y##su; \
541 #define copyFromStateAndAdd(X, state, input, laneCount) \
547 X##ba = state[ 0]; \
550 X##ba = state[ 0]^input[ 0]; \
552 X##be = state[ 1]; \
553 X##bi = state[ 2]; \
556 X##ba = state[ 0]^input[ 0]; \
557 X##be = state[ 1]^input[ 1]; \
559 X##bi = state[ 2]; \
562 X##bi = state[ 2]^input[ 2]; \
565 X##bo = state[ 3]; \
566 X##bu = state[ 4]; \
567 X##ga = state[ 5]; \
568 X##ge = state[ 6]; \
571 X##ba = state[ 0]^input[ 0]; \
572 X##be = state[ 1]^input[ 1]; \
573 X##bi = state[ 2]^input[ 2]; \
574 X##bo = state[ 3]^input[ 3]; \
577 X##bu = state[ 4]; \
580 X##bu = state[ 4]^input[ 4]; \
582 X##ga = state[ 5]; \
583 X##ge = state[ 6]; \
586 X##bu = state[ 4]^input[ 4]; \
587 X##ga = state[ 5]^input[ 5]; \
589 X##ge = state[ 6]; \
592 X##ge = state[ 6]^input[ 6]; \
596 X##gi = state[ 7]; \
597 X##go = state[ 8]; \
598 X##gu = state[ 9]; \
599 X##ka = state[10]; \
600 X##ke = state[11]; \
601 X##ki = state[12]; \
602 X##ko = state[13]; \
603 X##ku = state[14]; \
606 X##ba = state[ 0]^input[ 0]; \
607 X##be = state[ 1]^input[ 1]; \
608 X##bi = state[ 2]^input[ 2]; \
609 X##bo = state[ 3]^input[ 3]; \
610 X##bu = state[ 4]^input[ 4]; \
611 X##ga = state[ 5]^input[ 5]; \
612 X##ge = state[ 6]^input[ 6]; \
613 X##gi = state[ 7]^input[ 7]; \
617 X##go = state[ 8]; \
620 X##go = state[ 8]^input[ 8]; \
622 X##gu = state[ 9]; \
623 X##ka = state[10]; \
626 X##go = state[ 8]^input[ 8]; \
627 X##gu = state[ 9]^input[ 9]; \
629 X##ka = state[10]; \
632 X##ka = state[10]^input[10]; \
635 X##ke = state[11]; \
636 X##ki = state[12]; \
637 X##ko = state[13]; \
638 X##ku = state[14]; \
641 X##go = state[ 8]^input[ 8]; \
642 X##gu = state[ 9]^input[ 9]; \
643 X##ka = state[10]^input[10]; \
644 X##ke = state[11]^input[11]; \
647 X##ki = state[12]; \
650 X##ki = state[12]^input[12]; \
652 X##ko = state[13]; \
653 X##ku = state[14]; \
656 X##ki = state[12]^input[12]; \
657 X##ko = state[13]^input[13]; \
659 X##ku = state[14]; \
662 X##ku = state[14]^input[14]; \
667 X##ma = state[15]; \
668 X##me = state[16]; \
669 X##mi = state[17]; \
670 X##mo = state[18]; \
671 X##mu = state[19]; \
672 X##sa = state[20]; \
673 X##se = state[21]; \
674 X##si = state[22]; \
675 X##so = state[23]; \
676 X##su = state[24]; \
679 X##ba = state[ 0]^input[ 0]; \
680 X##be = state[ 1]^input[ 1]; \
681 X##bi = state[ 2]^input[ 2]; \
682 X##bo = state[ 3]^input[ 3]; \
683 X##bu = state[ 4]^input[ 4]; \
684 X##ga = state[ 5]^input[ 5]; \
685 X##ge = state[ 6]^input[ 6]; \
686 X##gi = state[ 7]^input[ 7]; \
687 X##go = state[ 8]^input[ 8]; \
688 X##gu = state[ 9]^input[ 9]; \
689 X##ka = state[10]^input[10]; \
690 X##ke = state[11]^input[11]; \
691 X##ki = state[12]^input[12]; \
692 X##ko = state[13]^input[13]; \
693 X##ku = state[14]^input[14]; \
694 X##ma = state[15]^input[15]; \
699 X##me = state[16]; \
702 X##me = state[16]^input[16]; \
704 X##mi = state[17]; \
705 X##mo = state[18]; \
708 X##me = state[16]^input[16]; \
709 X##mi = state[17]^input[17]; \
711 X##mo = state[18]; \
714 X##mo = state[18]^input[18]; \
717 X##mu = state[19]; \
718 X##sa = state[20]; \
719 X##se = state[21]; \
720 X##si = state[22]; \
723 X##me = state[16]^input[16]; \
724 X##mi = state[17]^input[17]; \
725 X##mo = state[18]^input[18]; \
726 X##mu = state[19]^input[19]; \
729 X##sa = state[20]; \
732 X##sa = state[20]^input[20]; \
734 X##se = state[21]; \
735 X##si = state[22]; \
738 X##sa = state[20]^input[20]; \
739 X##se = state[21]^input[21]; \
741 X##si = state[22]; \
744 X##si = state[22]^input[22]; \
748 X##so = state[23]; \
749 X##su = state[24]; \
752 X##me = state[16]^input[16]; \
753 X##mi = state[17]^input[17]; \
754 X##mo = state[18]^input[18]; \
755 X##mu = state[19]^input[19]; \
756 X##sa = state[20]^input[20]; \
757 X##se = state[21]^input[21]; \
758 X##si = state[22]^input[22]; \
759 X##so = state[23]^input[23]; \
761 X##su = state[24]; \
764 X##su = state[24]^input[24]; \
769 #define addInput(X, input, laneCount) \
771 X##ba ^= input[ 0]; \
772 X##be ^= input[ 1]; \
773 X##bi ^= input[ 2]; \
774 X##bo ^= input[ 3]; \
775 X##bu ^= input[ 4]; \
776 X##ga ^= input[ 5]; \
777 X##ge ^= input[ 6]; \
778 X##gi ^= input[ 7]; \
779 X##go ^= input[ 8]; \
780 X##gu ^= input[ 9]; \
781 X##ka ^= input[10]; \
782 X##ke ^= input[11]; \
783 X##ki ^= input[12]; \
784 X##ko ^= input[13]; \
785 X##ku ^= input[14]; \
786 X##ma ^= input[15]; \
787 X##me ^= input[16]; \
788 X##mi ^= input[17]; \
789 X##mo ^= input[18]; \
790 X##mu ^= input[19]; \
791 X##sa ^= input[20]; \
800 X##ba ^= input[ 0]; \
804 X##ba ^= input[ 0]; \
805 X##be ^= input[ 1]; \
809 X##bi ^= input[ 2]; \
814 X##ba ^= input[ 0]; \
815 X##be ^= input[ 1]; \
816 X##bi ^= input[ 2]; \
817 X##bo ^= input[ 3]; \
822 X##bu ^= input[ 4]; \
826 X##bu ^= input[ 4]; \
827 X##ga ^= input[ 5]; \
831 X##ge ^= input[ 6]; \
837 X##ba ^= input[ 0]; \
838 X##be ^= input[ 1]; \
839 X##bi ^= input[ 2]; \
840 X##bo ^= input[ 3]; \
841 X##bu ^= input[ 4]; \
842 X##ga ^= input[ 5]; \
843 X##ge ^= input[ 6]; \
844 X##gi ^= input[ 7]; \
850 X##go ^= input[ 8]; \
854 X##go ^= input[ 8]; \
855 X##gu ^= input[ 9]; \
859 X##ka ^= input[10]; \
864 X##go ^= input[ 8]; \
865 X##gu ^= input[ 9]; \
866 X##ka ^= input[10]; \
867 X##ke ^= input[11]; \
872 X##ki ^= input[12]; \
876 X##ki ^= input[12]; \
877 X##ko ^= input[13]; \
881 X##ku ^= input[14]; \
888 X##ba ^= input[ 0]; \
889 X##be ^= input[ 1]; \
890 X##bi ^= input[ 2]; \
891 X##bo ^= input[ 3]; \
892 X##bu ^= input[ 4]; \
893 X##ga ^= input[ 5]; \
894 X##ge ^= input[ 6]; \
895 X##gi ^= input[ 7]; \
896 X##go ^= input[ 8]; \
897 X##gu ^= input[ 9]; \
898 X##ka ^= input[10]; \
899 X##ke ^= input[11]; \
900 X##ki ^= input[12]; \
901 X##ko ^= input[13]; \
902 X##ku ^= input[14]; \
903 X##ma ^= input[15]; \
910 X##me ^= input[16]; \
914 X##me ^= input[16]; \
915 X##mi ^= input[17]; \
919 X##mo ^= input[18]; \
924 X##me ^= input[16]; \
925 X##mi ^= input[17]; \
926 X##mo ^= input[18]; \
927 X##mu ^= input[19]; \
932 X##sa ^= input[20]; \
936 X##sa ^= input[20]; \
937 X##se ^= input[21]; \
941 X##si ^= input[22]; \
947 X##me ^= input[16]; \
948 X##mi ^= input[17]; \
949 X##mo ^= input[18]; \
950 X##mu ^= input[19]; \
951 X##sa ^= input[20]; \
952 X##se ^= input[21]; \
953 X##si ^= input[22]; \
954 X##so ^= input[23]; \
958 X##su ^= input[24]; \
965 #define copyToStateAndOutput(X, state, output, laneCount) \
970 state[ 0] = X##ba; \
972 output[ 0] = X##ba; \
974 state[ 1] = X##be; \
975 state[ 2] = X##bi; \
978 state[ 0] = X##ba; \
979 output[ 0] = X##ba; \
980 state[ 1] = X##be; \
981 output[ 1] = ~X##be; \
982 state[ 2] = X##bi; \
984 output[ 2] = ~X##bi; \
987 state[ 3] = X##bo; \
988 state[ 4] = X##bu; \
989 state[ 5] = X##ga; \
990 state[ 6] = X##ge; \
993 state[ 0] = X##ba; \
994 output[ 0] = X##ba; \
995 state[ 1] = X##be; \
996 output[ 1] = ~X##be; \
997 state[ 2] = X##bi; \
998 output[ 2] = ~X##bi; \
999 state[ 3] = X##bo; \
1000 output[ 3] = X##bo; \
1002 state[ 4] = X##bu; \
1004 output[ 4] = X##bu; \
1006 state[ 5] = X##ga; \
1007 state[ 6] = X##ge; \
1010 state[ 4] = X##bu; \
1011 output[ 4] = X##bu; \
1012 state[ 5] = X##ga; \
1013 output[ 5] = X##ga; \
1014 state[ 6] = X##ge; \
1016 output[ 6] = X##ge; \
1020 state[ 7] = X##gi; \
1021 state[ 8] = X##go; \
1022 state[ 9] = X##gu; \
1023 state[10] = X##ka; \
1024 state[11] = X##ke; \
1025 state[12] = X##ki; \
1026 state[13] = X##ko; \
1027 state[14] = X##ku; \
1030 state[ 0] = X##ba; \
1031 output[ 0] = X##ba; \
1032 state[ 1] = X##be; \
1033 output[ 1] = ~X##be; \
1034 state[ 2] = X##bi; \
1035 output[ 2] = ~X##bi; \
1036 state[ 3] = X##bo; \
1037 output[ 3] = X##bo; \
1038 state[ 4] = X##bu; \
1039 output[ 4] = X##bu; \
1040 state[ 5] = X##ga; \
1041 output[ 5] = X##ga; \
1042 state[ 6] = X##ge; \
1043 output[ 6] = X##ge; \
1044 state[ 7] = X##gi; \
1045 output[ 7] = X##gi; \
1048 state[ 8] = X##go; \
1050 output[ 8] = ~X##go; \
1052 state[ 9] = X##gu; \
1053 state[10] = X##ka; \
1056 state[ 8] = X##go; \
1057 output[ 8] = ~X##go; \
1058 state[ 9] = X##gu; \
1059 output[ 9] = X##gu; \
1060 state[10] = X##ka; \
1062 output[10] = X##ka; \
1065 state[11] = X##ke; \
1066 state[12] = X##ki; \
1067 state[13] = X##ko; \
1068 state[14] = X##ku; \
1071 state[ 8] = X##go; \
1072 output[ 8] = ~X##go; \
1073 state[ 9] = X##gu; \
1074 output[ 9] = X##gu; \
1075 state[10] = X##ka; \
1076 output[10] = X##ka; \
1077 state[11] = X##ke; \
1078 output[11] = X##ke; \
1080 state[12] = X##ki; \
1082 output[12] = ~X##ki; \
1084 state[13] = X##ko; \
1085 state[14] = X##ku; \
1088 state[12] = X##ki; \
1089 output[12] = ~X##ki; \
1090 state[13] = X##ko; \
1091 output[13] = X##ko; \
1092 state[14] = X##ku; \
1094 output[14] = X##ku; \
1099 state[15] = X##ma; \
1100 state[16] = X##me; \
1101 state[17] = X##mi; \
1102 state[18] = X##mo; \
1103 state[19] = X##mu; \
1104 state[20] = X##sa; \
1105 state[21] = X##se; \
1106 state[22] = X##si; \
1107 state[23] = X##so; \
1108 state[24] = X##su; \
1111 state[ 0] = X##ba; \
1112 output[ 0] = X##ba; \
1113 state[ 1] = X##be; \
1114 output[ 1] = ~X##be; \
1115 state[ 2] = X##bi; \
1116 output[ 2] = ~X##bi; \
1117 state[ 3] = X##bo; \
1118 output[ 3] = X##bo; \
1119 state[ 4] = X##bu; \
1120 output[ 4] = X##bu; \
1121 state[ 5] = X##ga; \
1122 output[ 5] = X##ga; \
1123 state[ 6] = X##ge; \
1124 output[ 6] = X##ge; \
1125 state[ 7] = X##gi; \
1126 output[ 7] = X##gi; \
1127 state[ 8] = X##go; \
1128 output[ 8] = ~X##go; \
1129 state[ 9] = X##gu; \
1130 output[ 9] = X##gu; \
1131 state[10] = X##ka; \
1132 output[10] = X##ka; \
1133 state[11] = X##ke; \
1134 output[11] = X##ke; \
1135 state[12] = X##ki; \
1136 output[12] = ~X##ki; \
1137 state[13] = X##ko; \
1138 output[13] = X##ko; \
1139 state[14] = X##ku; \
1140 output[14] = X##ku; \
1141 state[15] = X##ma; \
1142 output[15] = X##ma; \
1146 state[16] = X##me; \
1148 output[16] = X##me; \
1150 state[17] = X##mi; \
1151 state[18] = X##mo; \
1154 state[16] = X##me; \
1155 output[16] = X##me; \
1156 state[17] = X##mi; \
1157 output[17] = ~X##mi; \
1158 state[18] = X##mo; \
1160 output[18] = X##mo; \
1163 state[19] = X##mu; \
1164 state[20] = X##sa; \
1165 state[21] = X##se; \
1166 state[22] = X##si; \
1169 state[16] = X##me; \
1170 output[16] = X##me; \
1171 state[17] = X##mi; \
1172 output[17] = ~X##mi; \
1173 state[18] = X##mo; \
1174 output[18] = X##mo; \
1175 state[19] = X##mu; \
1176 output[19] = X##mu; \
1178 state[20] = X##sa; \
1180 output[20] = ~X##sa; \
1182 state[21] = X##se; \
1183 state[22] = X##si; \
1186 state[20] = X##sa; \
1187 output[20] = ~X##sa; \
1188 state[21] = X##se; \
1189 output[21] = X##se; \
1190 state[22] = X##si; \
1192 output[22] = X##si; \
1196 state[23] = X##so; \
1197 state[24] = X##su; \
1200 state[16] = X##me; \
1201 output[16] = X##me; \
1202 state[17] = X##mi; \
1203 output[17] = ~X##mi; \
1204 state[18] = X##mo; \
1205 output[18] = X##mo; \
1206 state[19] = X##mu; \
1207 output[19] = X##mu; \
1208 state[20] = X##sa; \
1209 output[20] = ~X##sa; \
1210 state[21] = X##se; \
1211 output[21] = X##se; \
1212 state[22] = X##si; \
1213 output[22] = X##si; \
1214 state[23] = X##so; \
1215 output[23] = X##so; \
1216 state[24] = X##su; \
1218 output[24] = X##su; \
1223 #define output(X, output, laneCount) \
1229 output[ 0] = X##ba; \
1233 output[ 0] = X##ba; \
1234 output[ 1] = ~X##be; \
1236 output[ 2] = ~X##bi; \
1241 output[ 0] = X##ba; \
1242 output[ 1] = ~X##be; \
1243 output[ 2] = ~X##bi; \
1244 output[ 3] = X##bo; \
1247 output[ 4] = X##bu; \
1251 output[ 4] = X##bu; \
1252 output[ 5] = X##ga; \
1254 output[ 6] = X##ge; \
1260 output[ 0] = X##ba; \
1261 output[ 1] = ~X##be; \
1262 output[ 2] = ~X##bi; \
1263 output[ 3] = X##bo; \
1264 output[ 4] = X##bu; \
1265 output[ 5] = X##ga; \
1266 output[ 6] = X##ge; \
1267 output[ 7] = X##gi; \
1271 output[ 8] = ~X##go; \
1275 output[ 8] = ~X##go; \
1276 output[ 9] = X##gu; \
1278 output[10] = X##ka; \
1283 output[ 8] = ~X##go; \
1284 output[ 9] = X##gu; \
1285 output[10] = X##ka; \
1286 output[11] = X##ke; \
1289 output[12] = ~X##ki; \
1293 output[12] = ~X##ki; \
1294 output[13] = X##ko; \
1296 output[14] = X##ku; \
1303 output[ 0] = X##ba; \
1304 output[ 1] = ~X##be; \
1305 output[ 2] = ~X##bi; \
1306 output[ 3] = X##bo; \
1307 output[ 4] = X##bu; \
1308 output[ 5] = X##ga; \
1309 output[ 6] = X##ge; \
1310 output[ 7] = X##gi; \
1311 output[ 8] = ~X##go; \
1312 output[ 9] = X##gu; \
1313 output[10] = X##ka; \
1314 output[11] = X##ke; \
1315 output[12] = ~X##ki; \
1316 output[13] = X##ko; \
1317 output[14] = X##ku; \
1318 output[15] = X##ma; \
1323 output[16] = X##me; \
1327 output[16] = X##me; \
1328 output[17] = ~X##mi; \
1330 output[18] = X##mo; \
1335 output[16] = X##me; \
1336 output[17] = ~X##mi; \
1337 output[18] = X##mo; \
1338 output[19] = X##mu; \
1341 output[20] = ~X##sa; \
1345 output[20] = ~X##sa; \
1346 output[21] = X##se; \
1348 output[22] = X##si; \
1354 output[16] = X##me; \
1355 output[17] = ~X##mi; \
1356 output[18] = X##mo; \
1357 output[19] = X##mu; \
1358 output[20] = ~X##sa; \
1359 output[21] = X##se; \
1360 output[22] = X##si; \
1361 output[23] = X##so; \
1363 output[24] = X##su; \
1368 #define wrapOne(X, input, output, index, name) \
1369 X##name ^= input[index]; \
1370 output[index] = X##name;
1372 #define wrapOneInvert(X, input, output, index, name) \
1373 X##name ^= input[index]; \
1374 output[index] = ~X##name;
1376 #define unwrapOne(X, input, output, index, name) \
1377 output[index] = input[index] ^ X##name; \
1378 X##name ^= output[index];
1380 #define unwrapOneInvert(X, input, output, index, name) \
1381 output[index] = ~(input[index] ^ X##name); \
1382 X##name ^= output[index]; \
1386 #define copyToStateAndOutput(X, state, output, laneCount) \
1391 state[ 0] = X##ba; \
1393 output[ 0] = X##ba; \
1395 state[ 1] = X##be; \
1396 state[ 2] = X##bi; \
1399 state[ 0] = X##ba; \
1400 output[ 0] = X##ba; \
1401 state[ 1] = X##be; \
1402 output[ 1] = X##be; \
1403 state[ 2] = X##bi; \
1405 output[ 2] = X##bi; \
1408 state[ 3] = X##bo; \
1409 state[ 4] = X##bu; \
1410 state[ 5] = X##ga; \
1411 state[ 6] = X##ge; \
1414 state[ 0] = X##ba; \
1415 output[ 0] = X##ba; \
1416 state[ 1] = X##be; \
1417 output[ 1] = X##be; \
1418 state[ 2] = X##bi; \
1419 output[ 2] = X##bi; \
1420 state[ 3] = X##bo; \
1421 output[ 3] = X##bo; \
1423 state[ 4] = X##bu; \
1425 output[ 4] = X##bu; \
1427 state[ 5] = X##ga; \
1428 state[ 6] = X##ge; \
1431 state[ 4] = X##bu; \
1432 output[ 4] = X##bu; \
1433 state[ 5] = X##ga; \
1434 output[ 5] = X##ga; \
1435 state[ 6] = X##ge; \
1437 output[ 6] = X##ge; \
1441 state[ 7] = X##gi; \
1442 state[ 8] = X##go; \
1443 state[ 9] = X##gu; \
1444 state[10] = X##ka; \
1445 state[11] = X##ke; \
1446 state[12] = X##ki; \
1447 state[13] = X##ko; \
1448 state[14] = X##ku; \
1451 state[ 0] = X##ba; \
1452 output[ 0] = X##ba; \
1453 state[ 1] = X##be; \
1454 output[ 1] = X##be; \
1455 state[ 2] = X##bi; \
1456 output[ 2] = X##bi; \
1457 state[ 3] = X##bo; \
1458 output[ 3] = X##bo; \
1459 state[ 4] = X##bu; \
1460 output[ 4] = X##bu; \
1461 state[ 5] = X##ga; \
1462 output[ 5] = X##ga; \
1463 state[ 6] = X##ge; \
1464 output[ 6] = X##ge; \
1465 state[ 7] = X##gi; \
1466 output[ 7] = X##gi; \
1469 state[ 8] = X##go; \
1471 output[ 8] = X##go; \
1473 state[ 9] = X##gu; \
1474 state[10] = X##ka; \
1477 state[ 8] = X##go; \
1478 output[ 8] = X##go; \
1479 state[ 9] = X##gu; \
1480 output[ 9] = X##gu; \
1481 state[10] = X##ka; \
1483 output[10] = X##ka; \
1486 state[11] = X##ke; \
1487 state[12] = X##ki; \
1488 state[13] = X##ko; \
1489 state[14] = X##ku; \
1492 state[ 8] = X##go; \
1493 output[ 8] = X##go; \
1494 state[ 9] = X##gu; \
1495 output[ 9] = X##gu; \
1496 state[10] = X##ka; \
1497 output[10] = X##ka; \
1498 state[11] = X##ke; \
1499 output[11] = X##ke; \
1501 state[12] = X##ki; \
1503 output[12]= X##ki; \
1505 state[13] = X##ko; \
1506 state[14] = X##ku; \
1509 state[12] = X##ki; \
1510 output[12]= X##ki; \
1511 state[13] = X##ko; \
1512 output[13] = X##ko; \
1513 state[14] = X##ku; \
1515 output[14] = X##ku; \
1520 state[15] = X##ma; \
1521 state[16] = X##me; \
1522 state[17] = X##mi; \
1523 state[18] = X##mo; \
1524 state[19] = X##mu; \
1525 state[20] = X##sa; \
1526 state[21] = X##se; \
1527 state[22] = X##si; \
1528 state[23] = X##so; \
1529 state[24] = X##su; \
1532 state[ 0] = X##ba; \
1533 output[ 0] = X##ba; \
1534 state[ 1] = X##be; \
1535 output[ 1] = X##be; \
1536 state[ 2] = X##bi; \
1537 output[ 2] = X##bi; \
1538 state[ 3] = X##bo; \
1539 output[ 3] = X##bo; \
1540 state[ 4] = X##bu; \
1541 output[ 4] = X##bu; \
1542 state[ 5] = X##ga; \
1543 output[ 5] = X##ga; \
1544 state[ 6] = X##ge; \
1545 output[ 6] = X##ge; \
1546 state[ 7] = X##gi; \
1547 output[ 7] = X##gi; \
1548 state[ 8] = X##go; \
1549 output[ 8] = X##go; \
1550 state[ 9] = X##gu; \
1551 output[ 9] = X##gu; \
1552 state[10] = X##ka; \
1553 output[10] = X##ka; \
1554 state[11] = X##ke; \
1555 output[11] = X##ke; \
1556 state[12] = X##ki; \
1557 output[12]= X##ki; \
1558 state[13] = X##ko; \
1559 output[13] = X##ko; \
1560 state[14] = X##ku; \
1561 output[14] = X##ku; \
1562 state[15] = X##ma; \
1563 output[15] = X##ma; \
1567 state[16] = X##me; \
1569 output[16] = X##me; \
1571 state[17] = X##mi; \
1572 state[18] = X##mo; \
1575 state[16] = X##me; \
1576 output[16] = X##me; \
1577 state[17] = X##mi; \
1578 output[17] = X##mi; \
1579 state[18] = X##mo; \
1581 output[18] = X##mo; \
1584 state[19] = X##mu; \
1585 state[20] = X##sa; \
1586 state[21] = X##se; \
1587 state[22] = X##si; \
1590 state[16] = X##me; \
1591 output[16] = X##me; \
1592 state[17] = X##mi; \
1593 output[17] = X##mi; \
1594 state[18] = X##mo; \
1595 output[18] = X##mo; \
1596 state[19] = X##mu; \
1597 output[19] = X##mu; \
1599 state[20] = X##sa; \
1601 output[20] = X##sa; \
1603 state[21] = X##se; \
1604 state[22] = X##si; \
1607 state[20] = X##sa; \
1608 output[20] = X##sa; \
1609 state[21] = X##se; \
1610 output[21] = X##se; \
1611 state[22] = X##si; \
1613 output[22] = X##si; \
1617 state[23] = X##so; \
1618 state[24] = X##su; \
1621 state[16] = X##me; \
1622 output[16] = X##me; \
1623 state[17] = X##mi; \
1624 output[17] = X##mi; \
1625 state[18] = X##mo; \
1626 output[18] = X##mo; \
1627 state[19] = X##mu; \
1628 output[19] = X##mu; \
1629 state[20] = X##sa; \
1630 output[20] = X##sa; \
1631 state[21] = X##se; \
1632 output[21] = X##se; \
1633 state[22] = X##si; \
1634 output[22] = X##si; \
1635 state[23] = X##so; \
1636 output[23] = X##so; \
1637 state[24] = X##su; \
1639 output[24] = X##su; \
1644 #define output(X, output, laneCount) \
1650 output[ 0] = X##ba; \
1654 output[ 0] = X##ba; \
1655 output[ 1] = X##be; \
1657 output[ 2] = X##bi; \
1662 output[ 0] = X##ba; \
1663 output[ 1] = X##be; \
1664 output[ 2] = X##bi; \
1665 output[ 3] = X##bo; \
1668 output[ 4] = X##bu; \
1672 output[ 4] = X##bu; \
1673 output[ 5] = X##ga; \
1675 output[ 6] = X##ge; \
1681 output[ 0] = X##ba; \
1682 output[ 1] = X##be; \
1683 output[ 2] = X##bi; \
1684 output[ 3] = X##bo; \
1685 output[ 4] = X##bu; \
1686 output[ 5] = X##ga; \
1687 output[ 6] = X##ge; \
1688 output[ 7] = X##gi; \
1692 output[ 8] = X##go; \
1696 output[ 8] = X##go; \
1697 output[ 9] = X##gu; \
1699 output[10] = X##ka; \
1704 output[ 8] = X##go; \
1705 output[ 9] = X##gu; \
1706 output[10] = X##ka; \
1707 output[11] = X##ke; \
1710 output[12] = X##ki; \
1714 output[12] = X##ki; \
1715 output[13] = X##ko; \
1717 output[14] = X##ku; \
1724 output[ 0] = X##ba; \
1725 output[ 1] = X##be; \
1726 output[ 2] = X##bi; \
1727 output[ 3] = X##bo; \
1728 output[ 4] = X##bu; \
1729 output[ 5] = X##ga; \
1730 output[ 6] = X##ge; \
1731 output[ 7] = X##gi; \
1732 output[ 8] = X##go; \
1733 output[ 9] = X##gu; \
1734 output[10] = X##ka; \
1735 output[11] = X##ke; \
1736 output[12] = X##ki; \
1737 output[13] = X##ko; \
1738 output[14] = X##ku; \
1739 output[15] = X##ma; \
1744 output[16] = X##me; \
1748 output[16] = X##me; \
1749 output[17] = X##mi; \
1751 output[18] = X##mo; \
1756 output[16] = X##me; \
1757 output[17] = X##mi; \
1758 output[18] = X##mo; \
1759 output[19] = X##mu; \
1762 output[20] = X##sa; \
1766 output[20] = X##sa; \
1767 output[21] = X##se; \
1769 output[22] = X##si; \
1775 output[16] = X##me; \
1776 output[17] = X##mi; \
1777 output[18] = X##mo; \
1778 output[19] = X##mu; \
1779 output[20] = X##sa; \
1780 output[21] = X##se; \
1781 output[22] = X##si; \
1782 output[23] = X##so; \
1784 output[24] = X##su; \
1789 #define wrapOne(X, input, output, index, name) \
1790 X##name ^= input[index]; \
1791 output[index] = X##name;
1793 #define wrapOneInvert(X, input, output, index, name) \
1794 X##name ^= input[index]; \
1795 output[index] = X##name;
1797 #define unwrapOne(X, input, output, index, name) \
1798 output[index] = input[index] ^ X##name; \
1799 X##name ^= output[index];
1801 #define unwrapOneInvert(X, input, output, index, name) \
1802 output[index] = input[index] ^ X##name; \
1803 X##name ^= output[index];
1807 #define wrap(X, input, output, laneCount, trailingBits) \
1813 X##ba ^= trailingBits; \
1816 wrapOne(X, input, output, 0, ba) \
1817 X##be ^= trailingBits; \
1821 wrapOne(X, input, output, 0, ba) \
1822 wrapOneInvert(X, input, output, 1, be) \
1824 X##bi ^= trailingBits; \
1827 wrapOneInvert(X, input, output, 2, bi) \
1828 X##bo ^= trailingBits; \
1833 wrapOne(X, input, output, 0, ba) \
1834 wrapOneInvert(X, input, output, 1, be) \
1835 wrapOneInvert(X, input, output, 2, bi) \
1836 wrapOne(X, input, output, 3, bo) \
1839 X##bu ^= trailingBits; \
1842 wrapOne(X, input, output, 4, bu) \
1843 X##ga ^= trailingBits; \
1847 wrapOne(X, input, output, 4, bu) \
1848 wrapOne(X, input, output, 5, ga) \
1850 X##ge ^= trailingBits; \
1853 wrapOne(X, input, output, 6, ge) \
1854 X##gi ^= trailingBits; \
1860 wrapOne(X, input, output, 0, ba) \
1861 wrapOneInvert(X, input, output, 1, be) \
1862 wrapOneInvert(X, input, output, 2, bi) \
1863 wrapOne(X, input, output, 3, bo) \
1864 wrapOne(X, input, output, 4, bu) \
1865 wrapOne(X, input, output, 5, ga) \
1866 wrapOne(X, input, output, 6, ge) \
1867 wrapOne(X, input, output, 7, gi) \
1871 X##go ^= trailingBits; \
1874 wrapOneInvert(X, input, output, 8, go) \
1875 X##gu ^= trailingBits; \
1879 wrapOneInvert(X, input, output, 8, go) \
1880 wrapOne(X, input, output, 9, gu) \
1882 X##ka ^= trailingBits; \
1885 wrapOne(X, input, output, 10, ka) \
1886 X##ke ^= trailingBits; \
1891 wrapOneInvert(X, input, output, 8, go) \
1892 wrapOne(X, input, output, 9, gu) \
1893 wrapOne(X, input, output, 10, ka) \
1894 wrapOne(X, input, output, 11, ke) \
1897 X##ki ^= trailingBits; \
1900 wrapOneInvert(X, input, output, 12, ki) \
1901 X##ko ^= trailingBits; \
1905 wrapOneInvert(X, input, output, 12, ki) \
1906 wrapOne(X, input, output, 13, ko) \
1908 X##ku ^= trailingBits; \
1911 wrapOne(X, input, output, 14, ku) \
1912 X##ma ^= trailingBits; \
1919 wrapOne(X, input, output, 0, ba) \
1920 wrapOneInvert(X, input, output, 1, be) \
1921 wrapOneInvert(X, input, output, 2, bi) \
1922 wrapOne(X, input, output, 3, bo) \
1923 wrapOne(X, input, output, 4, bu) \
1924 wrapOne(X, input, output, 5, ga) \
1925 wrapOne(X, input, output, 6, ge) \
1926 wrapOne(X, input, output, 7, gi) \
1927 wrapOneInvert(X, input, output, 8, go) \
1928 wrapOne(X, input, output, 9, gu) \
1929 wrapOne(X, input, output, 10, ka) \
1930 wrapOne(X, input, output, 11, ke) \
1931 wrapOneInvert(X, input, output, 12, ki) \
1932 wrapOne(X, input, output, 13, ko) \
1933 wrapOne(X, input, output, 14, ku) \
1934 wrapOne(X, input, output, 15, ma) \
1939 X##me ^= trailingBits; \
1942 wrapOne(X, input, output, 16, me) \
1943 X##mi ^= trailingBits; \
1947 wrapOne(X, input, output, 16, me) \
1948 wrapOneInvert(X, input, output, 17, mi) \
1950 X##mo ^= trailingBits; \
1953 wrapOne(X, input, output, 18, mo) \
1954 X##mu ^= trailingBits; \
1959 wrapOne(X, input, output, 16, me) \
1960 wrapOneInvert(X, input, output, 17, mi) \
1961 wrapOne(X, input, output, 18, mo) \
1962 wrapOne(X, input, output, 19, mu) \
1965 X##sa ^= trailingBits; \
1968 wrapOneInvert(X, input, output, 20, sa) \
1969 X##se ^= trailingBits; \
1973 wrapOneInvert(X, input, output, 20, sa) \
1974 wrapOne(X, input, output, 21, se) \
1976 X##si ^= trailingBits; \
1979 wrapOne(X, input, output, 22, si) \
1980 X##so ^= trailingBits; \
1986 wrapOne(X, input, output, 16, me) \
1987 wrapOneInvert(X, input, output, 17, mi) \
1988 wrapOne(X, input, output, 18, mo) \
1989 wrapOne(X, input, output, 19, mu) \
1990 wrapOneInvert(X, input, output, 20, sa) \
1991 wrapOne(X, input, output, 21, se) \
1992 wrapOne(X, input, output, 22, si) \
1993 wrapOne(X, input, output, 23, so) \
1995 X##su ^= trailingBits; \
1998 wrapOne(X, input, output, 24, su) \
2003 #define unwrap(X, input, output, laneCount, trailingBits) \
2009 X##ba ^= trailingBits; \
2012 unwrapOne(X, input, output, 0, ba) \
2013 X##be ^= trailingBits; \
2017 unwrapOne(X, input, output, 0, ba) \
2018 unwrapOneInvert(X, input, output, 1, be) \
2020 X##bi ^= trailingBits; \
2023 unwrapOneInvert(X, input, output, 2, bi) \
2024 X##bo ^= trailingBits; \
2029 unwrapOne(X, input, output, 0, ba) \
2030 unwrapOneInvert(X, input, output, 1, be) \
2031 unwrapOneInvert(X, input, output, 2, bi) \
2032 unwrapOne(X, input, output, 3, bo) \
2035 X##bu ^= trailingBits; \
2038 unwrapOne(X, input, output, 4, bu) \
2039 X##ga ^= trailingBits; \
2043 unwrapOne(X, input, output, 4, bu) \
2044 unwrapOne(X, input, output, 5, ga) \
2046 X##ge ^= trailingBits; \
2049 unwrapOne(X, input, output, 6, ge) \
2050 X##gi ^= trailingBits; \
2056 unwrapOne(X, input, output, 0, ba) \
2057 unwrapOneInvert(X, input, output, 1, be) \
2058 unwrapOneInvert(X, input, output, 2, bi) \
2059 unwrapOne(X, input, output, 3, bo) \
2060 unwrapOne(X, input, output, 4, bu) \
2061 unwrapOne(X, input, output, 5, ga) \
2062 unwrapOne(X, input, output, 6, ge) \
2063 unwrapOne(X, input, output, 7, gi) \
2067 X##go ^= trailingBits; \
2070 unwrapOneInvert(X, input, output, 8, go) \
2071 X##gu ^= trailingBits; \
2075 unwrapOneInvert(X, input, output, 8, go) \
2076 unwrapOne(X, input, output, 9, gu) \
2078 X##ka ^= trailingBits; \
2081 unwrapOne(X, input, output, 10, ka) \
2082 X##ke ^= trailingBits; \
2087 unwrapOneInvert(X, input, output, 8, go) \
2088 unwrapOne(X, input, output, 9, gu) \
2089 unwrapOne(X, input, output, 10, ka) \
2090 unwrapOne(X, input, output, 11, ke) \
2093 X##ki ^= trailingBits; \
2096 unwrapOneInvert(X, input, output, 12, ki) \
2097 X##ko ^= trailingBits; \
2101 unwrapOneInvert(X, input, output, 12, ki) \
2102 unwrapOne(X, input, output, 13, ko) \
2104 X##ku ^= trailingBits; \
2107 unwrapOne(X, input, output, 14, ku) \
2108 X##ma ^= trailingBits; \
2115 unwrapOne(X, input, output, 0, ba) \
2116 unwrapOneInvert(X, input, output, 1, be) \
2117 unwrapOneInvert(X, input, output, 2, bi) \
2118 unwrapOne(X, input, output, 3, bo) \
2119 unwrapOne(X, input, output, 4, bu) \
2120 unwrapOne(X, input, output, 5, ga) \
2121 unwrapOne(X, input, output, 6, ge) \
2122 unwrapOne(X, input, output, 7, gi) \
2123 unwrapOneInvert(X, input, output, 8, go) \
2124 unwrapOne(X, input, output, 9, gu) \
2125 unwrapOne(X, input, output, 10, ka) \
2126 unwrapOne(X, input, output, 11, ke) \
2127 unwrapOneInvert(X, input, output, 12, ki) \
2128 unwrapOne(X, input, output, 13, ko) \
2129 unwrapOne(X, input, output, 14, ku) \
2130 unwrapOne(X, input, output, 15, ma) \
2135 X##me ^= trailingBits; \
2138 unwrapOne(X, input, output, 16, me) \
2139 X##mi ^= trailingBits; \
2143 unwrapOne(X, input, output, 16, me) \
2144 unwrapOneInvert(X, input, output, 17, mi) \
2146 X##mo ^= trailingBits; \
2149 unwrapOne(X, input, output, 18, mo) \
2150 X##mu ^= trailingBits; \
2155 unwrapOne(X, input, output, 16, me) \
2156 unwrapOneInvert(X, input, output, 17, mi) \
2157 unwrapOne(X, input, output, 18, mo) \
2158 unwrapOne(X, input, output, 19, mu) \
2161 X##sa ^= trailingBits; \
2164 unwrapOneInvert(X, input, output, 20, sa) \
2165 X##se ^= trailingBits; \
2169 unwrapOneInvert(X, input, output, 20, sa) \
2170 unwrapOne(X, input, output, 21, se) \
2172 X##si ^= trailingBits; \
2175 unwrapOne(X, input, output, 22, si) \
2176 X##so ^= trailingBits; \
2182 unwrapOne(X, input, output, 16, me) \
2183 unwrapOneInvert(X, input, output, 17, mi) \
2184 unwrapOne(X, input, output, 18, mo) \
2185 unwrapOne(X, input, output, 19, mu) \
2186 unwrapOneInvert(X, input, output, 20, sa) \
2187 unwrapOne(X, input, output, 21, se) \
2188 unwrapOne(X, input, output, 22, si) \
2189 unwrapOne(X, input, output, 23, so) \
2191 X##su ^= trailingBits; \
2194 unwrapOne(X, input, output, 24, su) \