Skip to content

Commit f06c25b

Browse files
committed
Use the new array-conversion function
1 parent 0fac1cd commit f06c25b

File tree

2 files changed

+2
-5
lines changed

2 files changed

+2
-5
lines changed

pyroaring/abstract_bitmap.pxi

+1-5
Original file line numberDiff line numberDiff line change
@@ -1162,13 +1162,9 @@ cdef class AbstractBitMap64:
11621162
cdef array.array result = array.array('Q')
11631163
array.resize(result, size)
11641164
cdef uint64_t[:] buff = result
1165-
cdef croaring.roaring64_iterator_t *iterator = croaring.roaring64_iterator_create(self._c_bitmap)
1166-
assert croaring.roaring64_iterator_has_value(iterator)
1167-
assert croaring.roaring64_iterator_read(iterator, &buff[0], size) == size
1168-
croaring.roaring64_iterator_free(iterator)
1165+
croaring.roaring64_bitmap_to_uint64_array(self._c_bitmap, &buff[0])
11691166
return result
11701167

1171-
11721168
def copy(self):
11731169
"""
11741170
Return a copy of a set.

pyroaring/croaring.pxd

+1
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ cdef extern from "roaring.h":
129129
bool roaring64_bitmap_equals(const roaring64_bitmap_t *r1, const roaring64_bitmap_t *r2)
130130
bool roaring64_bitmap_is_subset(const roaring64_bitmap_t *r1, const roaring64_bitmap_t *r2)
131131
bool roaring64_bitmap_is_strict_subset(const roaring64_bitmap_t *r1, const roaring64_bitmap_t *r2)
132+
void roaring64_bitmap_to_uint64_array(const roaring64_bitmap_t *r, uint64_t *out)
132133
roaring64_bitmap_t *roaring64_bitmap_and(const roaring64_bitmap_t *r1, const roaring64_bitmap_t *r2)
133134
uint64_t roaring64_bitmap_and_cardinality(const roaring64_bitmap_t *r1, const roaring64_bitmap_t *r2)
134135
void roaring64_bitmap_and_inplace(roaring64_bitmap_t *r1, const roaring64_bitmap_t *r2)

0 commit comments

Comments
 (0)