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.h
diff --git
a/CSA.h
b/CSA.h
index
4303b53
..
df56585
100644
(file)
--- a/
CSA.h
+++ b/
CSA.h
@@
-34,6
+34,16
@@
#include <alphabet_mapper.h>
#include <static_sequence.h>
#include <alphabet_mapper.h>
#include <static_sequence.h>
+// Re-define word size to ulong:
+#undef W
+#if __WORDSIZE == 64
+# define W 64
+#else
+# define W 32
+#endif
+#undef bitset
+
+
/**
* Implementation of the TextCollection interface
*
/**
* Implementation of the TextCollection interface
*
@@
-64,6
+74,11
@@
public:
void MakeStatic();
bool EmptyText(DocId) const;
uchar* GetText(DocId) const;
void MakeStatic();
bool EmptyText(DocId) const;
uchar* GetText(DocId) const;
+ /**
+ * Next method is not supported:
+ * Supporting GetText for some substring [i,j]
+ * would require more space.
+ */
// uchar* GetText(DocId, TextPosition, TextPosition) const;
bool IsPrefix(uchar const *) const;
// uchar* GetText(DocId, TextPosition, TextPosition) const;
bool IsPrefix(uchar const *) const;
@@
-72,6
+87,7
@@
public:
bool IsContains(uchar const *) const;
bool IsLessThan(uchar const *) const;
bool IsContains(uchar const *) const;
bool IsLessThan(uchar const *) const;
+ ulong Count(uchar const *) const;
unsigned CountPrefix(uchar const *) const;
unsigned CountSuffix(uchar const *) const;
unsigned CountEqual(uchar const *) const;
unsigned CountPrefix(uchar const *) const;
unsigned CountSuffix(uchar const *) const;
unsigned CountEqual(uchar const *) const;
@@
-119,6
+135,7
@@
public:
}
private:
}
private:
+ // FIXME Unused code
class TCodeEntry {
public:
unsigned count;
class TCodeEntry {
public:
unsigned count;
@@
-128,6
+145,7
@@
private:
};
};
+ // FIXME Unused code
class THuffAlphabetRank {
// using fixed 0...255 alphabet
private:
class THuffAlphabetRank {
// using fixed 0...255 alphabet
private:
@@
-214,6
+232,7
@@
private:
}
};
}
};
+ // FIXME Unused code
class node {
private:
unsigned weight;
class node {
private:
unsigned weight;
@@
-247,6
+266,7
@@
private:
static TCodeEntry *makecodetable(uchar *, TextPosition);
};
static TCodeEntry *makecodetable(uchar *, TextPosition);
};
+ // FIXME Unused code
static const unsigned char print = 1;
static const unsigned char report = 1;
static const uchar versionFlag;
static const unsigned char print = 1;
static const unsigned char report = 1;
static const uchar versionFlag;