Revision: | 1.4 |
Committed: | Thu May 10 22:33:59 2012 UTC (12 years, 2 months ago) by root |
Branch: | MAIN |
Changes since 1.3: | +1 -0 lines |
Log Message: | *** empty log message *** |
# | Content |
---|---|
1 | TODO: ffs/clz |
2 | 64 bit variants of everything |
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: #define ecb_integer_multiples_of(n,d) ((char (*)[d])(n) - (char (*)[d])0) |
8 | TODO: generalised shift |
9 | unsigned long gensh(unsigned long v, int x) { |
10 | int a, b; |
11 | a = (v << x) & -(((unsigned int)x) < 32); |
12 | x = -x; |
13 | b = (v >> x) & -(((unsigned int)x) < 32); |
14 | return a|b; |
15 | } |