132
|
1 // D import file generated from 'core/BitManip.d'
|
|
2 module tango.core.BitManip;
|
|
3 version (DDoc)
|
|
4 {
|
|
5 int bsf(uint v);
|
|
6 int bsr(uint v);
|
|
7 int bt(uint* p, uint bitnum);
|
|
8 int btc(uint* p, uint bitnum);
|
|
9 int btr(uint* p, uint bitnum);
|
|
10 int bts(uint* p, uint bitnum);
|
|
11 uint bswap(uint v);
|
|
12 ubyte inp(uint port_address);
|
|
13 ushort inpw(uint port_address);
|
|
14 uint inpl(uint port_address);
|
|
15 ubyte outp(uint port_address, ubyte value);
|
|
16 ushort outpw(uint port_address, ushort value);
|
|
17 uint outpl(uint port_address, uint value);
|
|
18 }
|
|
19 else
|
|
20 {
|
|
21 public
|
|
22 {
|
|
23 import std.intrinsic;
|
|
24 }
|
|
25 }
|
|
26 int popcnt(uint x)
|
|
27 {
|
|
28 x = x - (x >> 1 & 1431655765);
|
|
29 x = ((x & -858993460u) >> 2) + (x & 858993459);
|
|
30 x += x >> 4;
|
|
31 x &= 252645135;
|
|
32 x += x >> 8;
|
|
33 x &= 16711935;
|
|
34 x += x >> 16;
|
|
35 x &= 65535;
|
|
36 return x;
|
|
37 }
|
|
38 debug (UnitTest)
|
|
39 {
|
|
40 }
|
|
41 uint bitswap(uint x);
|
|
42 debug (UnitTest)
|
|
43 {
|
|
44 }
|