Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / tools / src / nas,5.n2.os.2 / lib / python / include / python2.4 / bitset.h
CommitLineData
86530b38
AT
1#ifndef Py_BITSET_H
2#define Py_BITSET_H
3#ifdef __cplusplus
4extern "C" {
5#endif
6
7/* Bitset interface */
8
9#define BYTE char
10
11typedef BYTE *bitset;
12
13bitset newbitset(int nbits);
14void delbitset(bitset bs);
15#define testbit(ss, ibit) (((ss)[BIT2BYTE(ibit)] & BIT2MASK(ibit)) != 0)
16int addbit(bitset bs, int ibit); /* Returns 0 if already set */
17int samebitset(bitset bs1, bitset bs2, int nbits);
18void mergebitset(bitset bs1, bitset bs2, int nbits);
19
20#define BITSPERBYTE (8*sizeof(BYTE))
21#define NBYTES(nbits) (((nbits) + BITSPERBYTE - 1) / BITSPERBYTE)
22
23#define BIT2BYTE(ibit) ((ibit) / BITSPERBYTE)
24#define BIT2SHIFT(ibit) ((ibit) % BITSPERBYTE)
25#define BIT2MASK(ibit) (1 << BIT2SHIFT(ibit))
26#define BYTE2BIT(ibyte) ((ibyte) * BITSPERBYTE)
27
28#ifdef __cplusplus
29}
30#endif
31#endif /* !Py_BITSET_H */