aboutsummaryrefslogtreecommitdiffstats
path: root/hicn-light/src/hicn/base
diff options
context:
space:
mode:
Diffstat (limited to 'hicn-light/src/hicn/base')
-rw-r--r--hicn-light/src/hicn/base/bitmap.h5
-rw-r--r--hicn-light/src/hicn/base/test/test-bitmap.cc4
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));
}