1 | TODO: ffs/clz | 1 | TODO: ffs/clz |
---|---|---|---|
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 | ||
5 | TODO: bit reversal | ||
6 | TODO: template/generic functions for x32/x64 and so on | ||
7 | TODO: generalised shift | ||
8 | unsigned long gensh(unsigned long v, int x) { | ||
9 | int a, b; | ||
10 | a = (v << x) & -(((unsigned int)x) < 32); | ||
11 | x = -x; | ||
12 | b = (v >> x) & -(((unsigned int)x) < 32); | ||
13 | return a|b; | ||
14 | } |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |