X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=libcds%2Fsrc%2Fstatic_bitsequence%2Fstatic_bitsequence_brw32.cpp;h=f671a729efb56980f33d17cb5688e64b6eca05d4;hb=2bf5905db5098392245fa5585d1418fe97558aa4;hp=2ca4eed9f75dc27302f6833e5cd18f3fc824c83e;hpb=d6ecf291b7dd99ec191daa090a2ff3dac08f8150;p=SXSI%2FXMLTree.git diff --git a/libcds/src/static_bitsequence/static_bitsequence_brw32.cpp b/libcds/src/static_bitsequence/static_bitsequence_brw32.cpp index 2ca4eed..f671a72 100644 --- a/libcds/src/static_bitsequence/static_bitsequence_brw32.cpp +++ b/libcds/src/static_bitsequence/static_bitsequence_brw32.cpp @@ -238,6 +238,7 @@ uint static_bitsequence_brw32::select1(uint x) { // 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; @@ -299,6 +300,7 @@ uint static_bitsequence_brw32::select0(uint x) { // 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;