Samy Al Bahra
be11635b12
ck_bitmap: Consistent Copyright.
11 years ago
Paul Khuong
f06a5c4a71
ck_bitmap: more bulk operations, less space, more tests
...
* new bulk rmw: intersection, intersection_negate (with complement),
* new bulk reads: empty, full, count, count_intersect
* ck_bitmap_iterator fixes: avoid out of bounds read on empty bitmaps,
and ck_bitmap_next is marginally faster on sparse bitmaps .
* less space: the bitmap itself is an array of unsigned int, which
eliminates alignment padding between the n_bit field and the bitmap.
* more unit tests.
11 years ago
Samy Al Bahra
15ac0bc691
ck_bitmap: Fix length calculation error in ck_bitmap_union (crasher).
11 years ago
Samy Al Bahra
190b204059
ck_bitmap: Drop _mpmc suffix and add union operation.
...
The _mpmc suffix is not useful. I see little benefit to specializing
the bitmap to begin with.
11 years ago
Samy Al Bahra
c197b37df1
legal: Update Copyright statements.
11 years ago
Samy Al Bahra
1cc189b08e
ck_bitmap: Remove unused argument for CK_BITMAP_BITS.
...
This is an API change, has been on the queue for a while.
Patch submitted by Shreyas Prasad <sprasad@appnexus>.
11 years ago
Samy Al Bahra
5d8a273dbe
whitespace: Bulk whitespace changes.
11 years ago
Samy Al Bahra
33a9222923
legal: Update Copyright statements.
12 years ago
Samy Al Bahra
de0597d2aa
ck_bitmap: Add comment for ck_bitmap_size.
12 years ago
Samy Al Bahra
1e8fe57028
ck_bitmap: Remove unnecessary whitespace.
12 years ago
Samy Al Bahra
fdce6fcc30
ck_bitmap: Fix ck_bitmap_next for 32-bit targets.
...
The nubmer of bits in a block was previously hard-coded.
13 years ago
Samy Al Bahra
099a6c7b04
ck_bitmap: Add bitmap iterator functions.
...
These can do with some optimization. A majority of this
work is based off an earlier patch submitted by
Shreyas Prasad <sprasad@appne....>.
13 years ago
Samy Al Bahra
599a85f0c3
ck_bitmap: Rename CK_BITMAP_TYPE to CK_BITMAP_WORD.
13 years ago
Samy Al Bahra
d080df2e8c
ck_bitmap: Strict aliasing fixes for older versions of GCC.
13 years ago
Samy Al Bahra
ac9e8f942d
ck_bitmap: Inline initializer.
13 years ago
Samy Al Bahra
1ca904d5a8
ck_bitmap: Absolutely no need to memoize n_buckets.
13 years ago
Samy Al Bahra
10d86b6424
ck_bitmap: Overhaul API for improved support of static instances.
...
This changes comes at the cost of clear linearizability, which
is suitable for my use-case. Users can easily implement linereazability
through an additional level of indirection to the ck_bitmap object.
13 years ago
Samy Al Bahra
9d4541d703
ck_bitmap: Fix ck_bitmap_init.
...
Refs #85
13 years ago
Samy Al Bahra
e88e17d27b
ck_bitmap: Add ck_bitmap_buffer function.
...
Returns a pointer to the buffer used to initialize
the bitmap.
13 years ago
Samy Al Bahra
ab73676ee4
ck_bitmap: Lock-free MPMC contiguous bitset implementation.
...
Rather trivial data structure but driven by sufficient user-demand.
Manual pages to come.
13 years ago