tmp_seq[i] = 0;
for(uint i=0;i<len;i++)
if(bitget(buff,i)) {
- setbit(tmp_seq,i,1);
+ __setbit(tmp_seq,i,1);
ones++;
}
if(ones)
delete [] tmp_seq;
}
-static_bitsequence_sdarray::static_bitsequence_sdarray() {}
+static_bitsequence_sdarray::static_bitsequence_sdarray() {make___selecttbl();}
static_bitsequence_sdarray::~static_bitsequence_sdarray() {
if(ones)
}
uint static_bitsequence_sdarray::rank1(uint i) {
- if(i>len) return -1;
+ if(i>=len) return -1;
if(ones)
return selects3_rank(&sd,i);
else
}
uint static_bitsequence_sdarray::select1(uint i) {
- if(i>ones) return -1;
+ if(i>ones || i==0) return -1;
if(ones)
return selects3_select(&sd,i);
else