#include typedef unsigned char uc; typedef unsigned int ui; static const uc irp = 27; static uc fmul(char a, ui b){uc sm=0; while(b) {if(b&1) sm ^= a; a = (a<<1)^((a>>7)&irp); b>>=1;} return sm;} int main(){ printf ("typedef unsigned long int L;\n" "static L const m = 0x0101010101010101L;\n" "static L ww0(L x) {return 0;}\n" "static L ww1(L x) {return x;}\n"); for(int f=2; f<256; ++f){char * u = " "; printf("static L ww%d(L a) {return\n", f); for(int j=0; j<8; ++j) { printf("%s ({L h = a>>%d&m; ", u, j); uc b = fmul(f, 1<