… | |
… | |
2 | 64 bit variants of everything |
2 | 64 bit variants of everything |
3 | TODO: examples from X for clz/ctz |
3 | TODO: examples from X for clz/ctz |
4 | TODO: arithmetic right shift |
4 | TODO: arithmetic right shift |
5 | TODO: bit reversal |
5 | TODO: bit reversal |
6 | TODO: template/generic functions for x32/x64 and so on |
6 | TODO: template/generic functions for x32/x64 and so on |
|
|
7 | TODO: #define ecb_integer_multiples_of(n,d) ((char (*)[d])(n) - (char (*)[d])0) |
7 | TODO: generalised shift |
8 | TODO: generalised shift |
8 | unsigned long gensh(unsigned long v, int x) { |
9 | unsigned long gensh(unsigned long v, int x) { |
9 | int a, b; |
10 | int a, b; |
10 | a = (v << x) & -(((unsigned int)x) < 32); |
11 | a = (v << x) & -(((unsigned int)x) < 32); |
11 | x = -x; |
12 | x = -x; |