From 00b7570f067b4261c05094b2e80dfb6c4c8c1742 Mon Sep 17 00:00:00 2001 From: Paul Jungeblut Date: Sat, 28 Oct 2017 12:03:10 +0200 Subject: Adding builtins to count number of set bits. --- other/bitOps.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'other/bitOps.cpp') 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); -- cgit v1.2.3