typedef long unsigned int L; typedef void rw(L); void gen (rw rep, int n){L t = 0; void rg(int p, int m){ // rg's job is to put m ones in the right p bits of t and call rep for each. // Then leave t as it was. if(m) {int j=p; L x = t; while(j--) {t |= 1l< int w = 0; void Rep(L o) {printf("%4lx\n", o); ++w;} int main(){gen(Rep, 14); printf("w=%d\n", w); return 0;}