summaryrefslogtreecommitdiff
path: root/other/bitOps.cpp
diff options
context:
space:
mode:
authorPaul Jungeblut <paul.jungeblut@gmail.com>2017-10-28 12:03:10 +0200
committerPaul Jungeblut <paul.jungeblut@gmail.com>2017-10-28 12:03:10 +0200
commit00b7570f067b4261c05094b2e80dfb6c4c8c1742 (patch)
tree50a4f5bbe2c157758e597a0610463171e172e5bf /other/bitOps.cpp
parentb51e4df46458f85de4487c7908170e663933b8c2 (diff)
Adding builtins to count number of set bits.
Diffstat (limited to 'other/bitOps.cpp')
-rw-r--r--other/bitOps.cpp7
1 files changed, 2 insertions, 5 deletions
diff --git a/other/bitOps.cpp b/other/bitOps.cpp
index 12d6d32..5b54278 100644
--- a/other/bitOps.cpp
+++ b/other/bitOps.cpp
@@ -15,8 +15,5 @@ a = (1 << n) - 1
// Iteriert über alle Teilmengen einer Bitmaske (außer der leeren Menge).
for (int subset = bitmask; subset > 0; subset = (subset - 1) & bitmask)
// Zählt Anzahl der gesetzten Bits.
-int numberOfSetBits(int i) {
- i = i - ((i >> 1) & 0x55555555);
- i = (i & 0x33333333) + ((i >> 2) & 0x33333333);
- return (((i + (i >> 4)) & 0x0F0F0F0F) * 0x01010101) >> 24;
-}
+int __builtin_popcount(unsigned int x);
+int __builtin_popcountll(unsigned long long x);