diff options
Diffstat (limited to 'hicn-light/src/hicn/base')
-rw-r--r-- | hicn-light/src/hicn/base/bitmap.h | 5 | ||||
-rw-r--r-- | hicn-light/src/hicn/base/test/test-bitmap.cc | 4 |
2 files changed, 6 insertions, 3 deletions
diff --git a/hicn-light/src/hicn/base/bitmap.h b/hicn-light/src/hicn/base/bitmap.h index bebbf8860..8fd9fcd70 100644 --- a/hicn-light/src/hicn/base/bitmap.h +++ b/hicn-light/src/hicn/base/bitmap.h @@ -25,6 +25,9 @@ #include <string.h> #include "common.h" +#include "vector.h" + +typedef uint_fast32_t bitmap_t; #define BITMAP_WIDTH(bitmap) (sizeof((bitmap)[0]) * 8) @@ -56,7 +59,7 @@ * @param[in] bitmap The bitmap to access. * @param[in] i The bit position. */ -#define bitmap_get(bitmap, i) ((bitmap)[(i) / BITMAP_WIDTH(bitmap)] & (1 << ((i) % BITMAP_WIDTH(bitmap)))) +#define bitmap_get(bitmap, i) (((bitmap)[(i) / BITMAP_WIDTH(bitmap)] & (1 << ((i) % BITMAP_WIDTH(bitmap)))) >> ((i) % BITMAP_WIDTH(bitmap))) /* * @brief Returns whether the i-th bit is set (equal to 1) in a bitmap. diff --git a/hicn-light/src/hicn/base/test/test-bitmap.cc b/hicn-light/src/hicn/base/test/test-bitmap.cc index e7ff7044a..d6ab94f3e 100644 --- a/hicn-light/src/hicn/base/test/test-bitmap.cc +++ b/hicn-light/src/hicn/base/test/test-bitmap.cc @@ -34,7 +34,7 @@ class BitmapTest : public ::testing::Test { } virtual ~BitmapTest() { - + // You can do clean-up work that doesn't throw exceptions here. } @@ -68,7 +68,7 @@ TEST_F(BitmapTest, BitmapUnSet) { EXPECT_FALSE(bitmap_is_set(bitmap, 20)); EXPECT_TRUE(bitmap_is_unset(bitmap, 20)); EXPECT_TRUE(bitmap_is_set(bitmap, 19)); - EXPECT_TRUE(bitmap_is_unset(bitmap, 19)); + EXPECT_FALSE(bitmap_is_unset(bitmap, 19)); } |