summaryrefslogtreecommitdiff
path: root/AppPkg/Applications/Python/Python-2.7.10/Include/bitset.h
diff options
context:
space:
mode:
authorDaryl McDaniel <edk2-lists@mc2research.org>2015-11-07 19:19:19 +0000
committerdarylm503 <darylm503@Edk2>2015-11-07 19:19:19 +0000
commitc8042e10763bca064df257547d04ae3dfcdfaf91 (patch)
treecd20b9a6bb3c646b05f42fd721dc7a791bcb75a2 /AppPkg/Applications/Python/Python-2.7.10/Include/bitset.h
parent3535213aaec279d84bae7da40a4b982ab9fdf89b (diff)
downloadedk2-platforms-c8042e10763bca064df257547d04ae3dfcdfaf91.tar.xz
AppPkg/Applications/Python/Python-2.7.10: Initial Checkin part 1/5.
The Include, Parser, and Python directories from the cPython 2.7.10 distribution. These files are unchanged and set the baseline for subsequent commits. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Daryl McDaniel <edk2-lists@mc2research.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18737 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'AppPkg/Applications/Python/Python-2.7.10/Include/bitset.h')
-rw-r--r--AppPkg/Applications/Python/Python-2.7.10/Include/bitset.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/AppPkg/Applications/Python/Python-2.7.10/Include/bitset.h b/AppPkg/Applications/Python/Python-2.7.10/Include/bitset.h
new file mode 100644
index 0000000000..028acdf042
--- /dev/null
+++ b/AppPkg/Applications/Python/Python-2.7.10/Include/bitset.h
@@ -0,0 +1,32 @@
+
+#ifndef Py_BITSET_H
+#define Py_BITSET_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Bitset interface */
+
+#define BYTE char
+
+typedef BYTE *bitset;
+
+bitset newbitset(int nbits);
+void delbitset(bitset bs);
+#define testbit(ss, ibit) (((ss)[BIT2BYTE(ibit)] & BIT2MASK(ibit)) != 0)
+int addbit(bitset bs, int ibit); /* Returns 0 if already set */
+int samebitset(bitset bs1, bitset bs2, int nbits);
+void mergebitset(bitset bs1, bitset bs2, int nbits);
+
+#define BITSPERBYTE (8*sizeof(BYTE))
+#define NBYTES(nbits) (((nbits) + BITSPERBYTE - 1) / BITSPERBYTE)
+
+#define BIT2BYTE(ibit) ((ibit) / BITSPERBYTE)
+#define BIT2SHIFT(ibit) ((ibit) % BITSPERBYTE)
+#define BIT2MASK(ibit) (1 << BIT2SHIFT(ibit))
+#define BYTE2BIT(ibyte) ((ibyte) * BITSPERBYTE)
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* !Py_BITSET_H */