locate first span of length 'n' using rank and select #3
1 changed files with 1 additions and 6 deletions
|
@ -1187,14 +1187,9 @@ size_t
|
||||||
sparsemap_span(sparsemap_t *map, size_t loc, size_t len)
|
sparsemap_span(sparsemap_t *map, size_t loc, size_t len)
|
||||||
{
|
{
|
||||||
size_t size = 1024;
|
size_t size = 1024;
|
||||||
// size_t size = sparsemap_get_size(map);
|
|
||||||
// assert(size >= SM_SIZEOF_OVERHEAD);
|
|
||||||
// if (loc + 1 > size - len || len < size) {
|
|
||||||
// return size;
|
|
||||||
// }
|
|
||||||
|
|
||||||
do {
|
do {
|
||||||
size_t nth = sparsemap_select(map, loc, len);
|
size_t nth = sparsemap_select(map, len);
|
||||||
size_t count = sparsemap_rank(map, nth - len, nth);
|
size_t count = sparsemap_rank(map, nth - len, nth);
|
||||||
if (count == len) {
|
if (count == len) {
|
||||||
return nth - len;
|
return nth - len;
|
||||||
|
|
Loading…
Reference in a new issue