Add nextNodeBefore primitive.
[SXSI/XMLTree.git] / libcds / src / static_bitsequence / static_bitsequence_rrr02.cpp
index 404d905..18396fa 100644 (file)
@@ -19,8 +19,9 @@
  *
  */
 
-#include "static_bitsequence_rrr02.h"
-
+#include <static_bitsequence_rrr02.h>
+using std::min;
+using std::max;
 table_offset * static_bitsequence_rrr02::E = NULL;
 
 static_bitsequence_rrr02::static_bitsequence_rrr02() {
@@ -162,8 +163,8 @@ uint static_bitsequence_rrr02::rank1(uint i) {
 }
 
 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;
@@ -219,7 +220,7 @@ uint static_bitsequence_rrr02::select0(uint i) {
 
 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;
@@ -346,4 +347,3 @@ static_bitsequence_rrr02 * static_bitsequence_rrr02::load(FILE * fp) {
        ret->create_sampling(ret->sample_rate);
        return ret;
 }
-