X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=libcds%2Fsrc%2Fstatic_bitsequence%2Fstatic_bitsequence_brw32.cpp;h=204ce57966a19f77b617a69fdbcece860735905a;hb=f32808a35be7a1e62830a5972473178014fa44e5;hp=2ca4eed9f75dc27302f6833e5cd18f3fc824c83e;hpb=a9846746dc7a55764591fcc273fd48c6049df962;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..204ce57 100644 --- a/libcds/src/static_bitsequence/static_bitsequence_brw32.cpp +++ b/libcds/src/static_bitsequence/static_bitsequence_brw32.cpp @@ -23,7 +23,8 @@ #include #include // #include - +using std::cout; +using std::endl; ///////////// //Rank(B,i)// @@ -238,6 +239,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 +301,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;