X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=CSA.cpp;fp=CSA.cpp;h=04ace79dd25e8b21f737198b0b7c892af887db1a;hb=663cd2f6cc5e3796d001e8c527de0aea8c8bbf68;hp=5f69aa8062241612de2fe00743d9ffb89ae7e553;hpb=54b24bcc08f601be0c264fefc65af50bfb3837e5;p=SXSI%2FTextCollection.git diff --git a/CSA.cpp b/CSA.cpp index 5f69aa8..04ace79 100644 --- a/CSA.cpp +++ b/CSA.cpp @@ -40,7 +40,7 @@ const uchar CSA::versionFlag = 2; //////////////////////////////////////////////////////////////////////////// // Class CSA::THuffAlphabetRank - +// FIXME Unused code CSA::THuffAlphabetRank::THuffAlphabetRank(uchar *s, TextPosition n, TCodeEntry *codetable, unsigned level) { left = NULL; right = NULL; @@ -122,26 +122,8 @@ CSA::THuffAlphabetRank::~THuffAlphabetRank() { delete bitrank; } -/** - * Saving data fields: - BitRank *bitrank; - bool leaf; - uchar ch; - left child; - right child; -*/ -void CSA::THuffAlphabetRank::Save(FILE *file) -{ - -} - -CSA::THuffAlphabetRank::THuffAlphabetRank(FILE *file) -{ - - -} -/////////////////////////////////////////////f/////////////////////////////// +//////////////////////////////////////////////////////////////////////////// // Class CSA /** @@ -408,6 +390,17 @@ bool CSA::IsLessThan(uchar const*) const /****************************************************************** * Counting queries */ +ulong CSA::Count(uchar const * pattern) const +{ + TextPosition m = strlen((char *)pattern); + if (m == 0) + return 0; + + TextPosition sp = 0, ep = 0; + unsigned count = (unsigned) Search(pattern, m, &sp, &ep); + return count; +} + unsigned CSA::CountPrefix(uchar const * pattern) const { TextPosition m = strlen((char *)pattern);