From 436e9a6d3e2caeb2b883115f064e14d5b3d3280e Mon Sep 17 00:00:00 2001 From: fclaude Date: Sun, 26 Apr 2009 04:48:22 +0000 Subject: [PATCH] more fixes git-svn-id: svn+ssh://idea.nguyen.vg/svn/sxsi/trunk/XMLTree@346 3cdefd35-fc62-479d-8e8d-bae585ffb9ca --- .../static_sequence/static_sequence_bs.cpp | 30 ++++++++++++------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/libcds/src/static_sequence/static_sequence_bs.cpp b/libcds/src/static_sequence/static_sequence_bs.cpp index 3a4aaa2..283b89c 100644 --- a/libcds/src/static_sequence/static_sequence_bs.cpp +++ b/libcds/src/static_sequence/static_sequence_bs.cpp @@ -7,20 +7,28 @@ static_sequence_bs::static_sequence_bs(uint * seq, uint n, alphabet_mapper * am, this->am = am; am->use(); for(uint i=0;imap(seq[i])); - bitmaps = new static_bitsequence*[++sigma]; - uint ** bm = new uint*[sigma]; + sigma++; + uint * occ = new uint[sigma+1]; + for(uint i=0;i<=sigma;i++) occ[i] = 0; + for(uint i=0;imap(seq[i])+1]++; + for(uint i=1;imap(seq[i])]++]=i; + bitmaps = new static_bitsequence*[sigma]; + uint * bm = new uint[uint_len(n,1)]; + uint pp=0; for(uint i=0;ibuild(bm,len); } - for(uint i=0;imap(seq[i])],i); - for(uint i=0;ibuild(bm[i],len); - for(uint i=0;i