From 397f75a4db7413beef0edf710312fe15d36703cf Mon Sep 17 00:00:00 2001 From: Patrick Pelissier Date: Wed, 27 Jun 2018 07:33:23 +0200 Subject: [PATCH] Add missing method _front for bitset. --- m-bitset.h | 8 ++++++++ tests/test-mbitset.c | 5 ++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/m-bitset.h b/m-bitset.h index 57362251..e53d6851 100644 --- a/m-bitset.h +++ b/m-bitset.h @@ -272,6 +272,14 @@ bitset_pop_back(bool *dest, bitset_t v) BITSETI_CONTRACT (v); } +static inline bool +bitset_front(bitset_t v) +{ + BITSETI_CONTRACT (v); + assert(v->size > 0); + return bitset_get(v, 0); +} + static inline bool bitset_back(bitset_t v) { diff --git a/tests/test-mbitset.c b/tests/test-mbitset.c index 36be221a..3d78e9a7 100644 --- a/tests/test-mbitset.c +++ b/tests/test-mbitset.c @@ -30,6 +30,7 @@ static void test1(void) bitset_t set; bitset_init(set); + assert(bitset_empty_p(set) == true); for(int i = 0; i < 100; i ++) { bitset_push_back(set, i%2); assert (bitset_back(set) == (i%2)); @@ -39,7 +40,9 @@ static void test1(void) } assert(bitset_size(set) == 100); assert(bitset_empty_p(set) == false); - + assert(bitset_front(set) == false); + assert(bitset_back(set) == true); + bitset_t set2; bitset_init_set(set2, set);