From 1f9d50fa3f170a2b48cf4d32c481203299838791 Mon Sep 17 00:00:00 2001 From: Alasdair Kergon Date: Mon, 19 Apr 2010 21:23:01 +0000 Subject: [PATCH] Add dm_bit_and. (ejt) --- WHATS_NEW_DM | 1 + libdm/datastruct/bitset.c | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/WHATS_NEW_DM b/WHATS_NEW_DM index ee3e69852..657847728 100644 --- a/WHATS_NEW_DM +++ b/WHATS_NEW_DM @@ -1,5 +1,6 @@ Version 1.02.47 - ================================= + Add dm_bit_and. Simplify dm_bitset_create. Speed up dm_bit_get_next with ffs(). diff --git a/libdm/datastruct/bitset.c b/libdm/datastruct/bitset.c index bb16adda6..6dd5952a6 100644 --- a/libdm/datastruct/bitset.c +++ b/libdm/datastruct/bitset.c @@ -42,6 +42,13 @@ void dm_bitset_destroy(dm_bitset_t bs) dm_free(bs); } +void dm_bit_and(dm_bitset_t out, dm_bitset_t in1, dm_bitset_t in2) +{ + int i; + + for (i = (in1[0] / DM_BITS_PER_INT) + 1; i; i--) + out[i] = in1[i] & in2[i]; +} void dm_bit_union(dm_bitset_t out, dm_bitset_t in1, dm_bitset_t in2) { int i; -- 2.43.5