From 7567f77828ff9661f85eabe3b4cfb1876b307d42 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 19 Aug 2018 17:59:20 +0200 Subject: Remove old macros --- chilbert/SmallBitVec.hpp | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) (limited to 'chilbert/SmallBitVec.hpp') diff --git a/chilbert/SmallBitVec.hpp b/chilbert/SmallBitVec.hpp index 96652e9..308d943 100644 --- a/chilbert/SmallBitVec.hpp +++ b/chilbert/SmallBitVec.hpp @@ -29,17 +29,6 @@ namespace chilbert { -/* This must be an unsigned integer that is either 32 or 64 bits. Otherwise, - there are places in the code that simply will not work. For speed, this - should be the native word size. */ -typedef uint64_t FBV_UINT; - -#define FBV_BITS 64 - -#define FBV1 (FBV_UINT{1}) -#define FBV1S (~FBV_UINT{0}) -#define FBVN1S(n) (n == FBV_BITS ? FBV1S : (FBV1 << n) - 1) - /** A bit vector small enough to fit in a single word. */ class SmallBitVec { @@ -100,7 +89,7 @@ public: /// Set all bits to one SmallBitVec& set() { - m_rack = FBV1S & FBVN1S(size()); + m_rack = ~Rack{0} >> (bits_per_rack - m_size); return *this; } @@ -221,9 +210,8 @@ public: { if (bits > 0 && bits < size()) { assert(bits <= bits_per_rack); - m_rack &= FBVN1S(size()); m_rack = (m_rack >> bits) | (m_rack << (size() - bits)); - m_rack &= FBVN1S(size()); + m_rack &= (~Rack{0} >> (bits_per_rack - size())); } return *this; } @@ -233,9 +221,8 @@ public: { if (bits > 0 && bits < size()) { assert(bits <= bits_per_rack); - m_rack &= FBVN1S(size()); m_rack = (m_rack << bits) | (m_rack >> (size() - bits)); - m_rack &= FBVN1S(size()); + m_rack &= (~Rack{0} >> (bits_per_rack - size())); } return *this; } -- cgit v1.2.1