Create branch library-split
[SXSI/XMLTree.git] / libcds / src / static_sequence / static_sequence_bs.cpp
index 283b89c..f04325e 100644 (file)
@@ -1,6 +1,6 @@
 
 #include <static_sequence_bs.h>
-
+using std::max;
 static_sequence_bs::static_sequence_bs(uint * seq, uint n, alphabet_mapper * am, static_bitsequence_builder * bmb) {
        sigma = 0;
        len = n;
@@ -52,7 +52,7 @@ uint static_sequence_bs::rank(uint c, uint i) {
        if(am->map(c)>=sigma) return (uint)-1;
        return bitmaps[am->map(c)]->rank1(i);
 }
-
+/*
 uint static_sequence_bs::select(uint c, uint i) {
        if(am->map(c)>=sigma) return (uint)-1;
        return bitmaps[am->map(c)]->select1(i);
@@ -62,7 +62,15 @@ uint static_sequence_bs::select_next(uint c, uint i) {
        if(am->map(c)>=sigma) return (uint)-1;
        return bitmaps[am->map(c)]->select_next1(i);
 }
-
+*/
+uint static_sequence_bs::select(uint c, uint i) {
+       if(c>=sigma) return (uint)-1;
+       return bitmaps[c]->select1(i);
+}
+uint static_sequence_bs::select_next(uint c, uint i) {
+       if(c>=sigma) return (uint)-1;
+       return bitmaps[c]->select_next1(i);
+}
 uint static_sequence_bs::access(uint i) {
        for(uint j=0;j<sigma;j++) {
                if(bitmaps[j]->access(i)) return am->unmap(j);