X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=libcds%2Fsrc%2Fstatic_bitsequence%2Fstatic_bitsequence_sdarray.cpp;h=0b0dab18d0663cd9cf045bc1a4aaae785b15361c;hb=02457c321673249b32d1b70060e63c4d99e6165d;hp=e50e0746e57e66e240da3df8353e9139a11f2ca3;hpb=bbeeb03980ddf51c0f32fd3c42321dc9ef708c27;p=SXSI%2FXMLTree.git diff --git a/libcds/src/static_bitsequence/static_bitsequence_sdarray.cpp b/libcds/src/static_bitsequence/static_bitsequence_sdarray.cpp index e50e074..0b0dab1 100644 --- a/libcds/src/static_bitsequence/static_bitsequence_sdarray.cpp +++ b/libcds/src/static_bitsequence/static_bitsequence_sdarray.cpp @@ -8,7 +8,7 @@ static_bitsequence_sdarray::static_bitsequence_sdarray(uint * buff, uint len) { tmp_seq[i] = 0; for(uint i=0;ilen) return -1; + if(i>=len) return -1; if(ones) return selects3_rank(&sd,i); else @@ -34,7 +34,7 @@ uint static_bitsequence_sdarray::rank1(uint i) { } 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