////////////////////////////////////////////////////////////////////////////
// Class CSA::THuffAlphabetRank
-
+// FIXME Unused code
CSA::THuffAlphabetRank::THuffAlphabetRank(uchar *s, TextPosition n, TCodeEntry *codetable, unsigned level) {
left = NULL;
right = NULL;
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
/**
/******************************************************************
* 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);