projects
/
SXSI
/
TextCollection.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added Count
[SXSI/TextCollection.git]
/
CSA.cpp
diff --git
a/CSA.cpp
b/CSA.cpp
index
5f69aa8
..
04ace79
100644
(file)
--- a/
CSA.cpp
+++ b/
CSA.cpp
@@
-40,7
+40,7
@@
const uchar CSA::versionFlag = 2;
////////////////////////////////////////////////////////////////////////////
// Class CSA::THuffAlphabetRank
////////////////////////////////////////////////////////////////////////////
// Class CSA::THuffAlphabetRank
-
+// FIXME Unused code
CSA::THuffAlphabetRank::THuffAlphabetRank(uchar *s, TextPosition n, TCodeEntry *codetable, unsigned level) {
left = NULL;
right = NULL;
CSA::THuffAlphabetRank::THuffAlphabetRank(uchar *s, TextPosition n, TCodeEntry *codetable, unsigned level) {
left = NULL;
right = NULL;
@@
-122,26
+122,8
@@
CSA::THuffAlphabetRank::~THuffAlphabetRank() {
delete bitrank;
}
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
/**
// Class CSA
/**
@@
-408,6
+390,17
@@
bool CSA::IsLessThan(uchar const*) const
/******************************************************************
* Counting queries
*/
/******************************************************************
* 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);
unsigned CSA::CountPrefix(uchar const * pattern) const
{
TextPosition m = strlen((char *)pattern);