From 8860f37b591b7d4410d81b4e649bc5f90f7da75c Mon Sep 17 00:00:00 2001 From: fclaude Date: Tue, 24 Mar 2009 22:18:46 +0000 Subject: [PATCH] fixes git-svn-id: svn+ssh://idea.nguyen.vg/svn/sxsi/trunk/XMLTree@288 3cdefd35-fc62-479d-8e8d-bae585ffb9ca --- libcds/src/Makefile | 4 ++-- libcds/src/static_bitsequence/sdarray.h | 1 + libcds/src/static_bitsequence/static_bitsequence_sdarray.cpp | 5 ++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/libcds/src/Makefile b/libcds/src/Makefile index 8f30567..d4ccf7c 100644 --- a/libcds/src/Makefile +++ b/libcds/src/Makefile @@ -1,7 +1,7 @@ CPP=g++ -CPPFLAGS=-g3 -Wall -O0 -#CPPFLAGS=-O9 -Wall -DNDEBUG +#CPPFLAGS=-g3 -Wall -O0 +CPPFLAGS=-O9 -Wall -DNDEBUG INCL=-I../includes/ diff --git a/libcds/src/static_bitsequence/sdarray.h b/libcds/src/static_bitsequence/sdarray.h index 4fa12e8..0eb7ee7 100644 --- a/libcds/src/static_bitsequence/sdarray.h +++ b/libcds/src/static_bitsequence/sdarray.h @@ -33,6 +33,7 @@ int selects3_construct(selects3 *select, int n, uint *buf); int selects3_select(selects3 *select, int i); int selects3_rank(selects3 *select, int i); +void make___selecttbl(void); int __setbit(uint *B, int i,int x); int selectd2_save(selectd2 * s, FILE * fp); int selects3_save(selects3 * s, FILE * fp); diff --git a/libcds/src/static_bitsequence/static_bitsequence_sdarray.cpp b/libcds/src/static_bitsequence/static_bitsequence_sdarray.cpp index 41bd316..78e52ed 100644 --- a/libcds/src/static_bitsequence/static_bitsequence_sdarray.cpp +++ b/libcds/src/static_bitsequence/static_bitsequence_sdarray.cpp @@ -18,7 +18,7 @@ static_bitsequence_sdarray::static_bitsequence_sdarray(uint * buff, uint len) { delete [] tmp_seq; } -static_bitsequence_sdarray::static_bitsequence_sdarray() {} +static_bitsequence_sdarray::static_bitsequence_sdarray() {make___selecttbl();} static_bitsequence_sdarray::~static_bitsequence_sdarray() { if(ones) @@ -26,7 +26,7 @@ static_bitsequence_sdarray::~static_bitsequence_sdarray() { } uint static_bitsequence_sdarray::rank1(uint i) { - if(i>len) return -1; + if(i>=len) return -1; if(ones) return selects3_rank(&sd,i); else @@ -34,7 +34,6 @@ uint static_bitsequence_sdarray::rank1(uint i) { } uint static_bitsequence_sdarray::select1(uint i) { - if(i>ones) return -1; if(ones) return selects3_select(&sd,i); else -- 2.17.1