// then sequential search using popcount over a int
// then sequential search using popcount over a char
// then sequential search bit a bit
+ if(x>ones) return (uint)(-1);
//binary search over first level rank structure
uint l=0, r=n/s;
// then sequential search using popcount over a int
// then sequential search using popcount over a char
// then sequential search bit a bit
+ if(x>n-ones) return (uint)(-1);
//binary search over first level rank structure
if(x==0) return 0;
}
uint static_bitsequence_rrr02::select0(uint i) {
- if(i==0) return -1;
- if(i>len-ones) return len;
+ if(i==0) return (uint)-1;
+ if(i>len-ones) return (uint)-1;
// Search over partial sums
uint start=0;
uint end=C_sampling_len-1;
uint static_bitsequence_rrr02::select1(uint i) {
if(i==0) return -1;
- if(i>ones) return len;
+ if(i>ones) return -1;
// Search over partial sums
uint start=0;
uint end=C_sampling_len-1;