summaryrefslogtreecommitdiff
path: root/quackleio
diff options
context:
space:
mode:
Diffstat (limited to 'quackleio')
-rw-r--r--quackleio/dawgfactory.cpp5
-rw-r--r--quackleio/dawgfactory.h4
2 files changed, 6 insertions, 3 deletions
diff --git a/quackleio/dawgfactory.cpp b/quackleio/dawgfactory.cpp
index 362dfdc..869ef8e 100644
--- a/quackleio/dawgfactory.cpp
+++ b/quackleio/dawgfactory.cpp
@@ -40,6 +40,7 @@ DawgFactory::DawgFactory(const QString &alphabetFile)
m_root.lastchild = true;
m_hash.int32ptr[0] = m_hash.int32ptr[1] = m_hash.int32ptr[2] = m_hash.int32ptr[3] = 0;
+ m_encodableWords = m_unencodableWords = m_duplicateWords = m_wordCount = 0;
}
DawgFactory::~DawgFactory()
@@ -186,10 +187,10 @@ void DawgFactory::writeIndex(const UVString& filename)
}
}
-int DawgFactory::wordCount() const
+void DawgFactory::computeWordCount() const
{
m_countsByLength.resize(0);
- return m_root.wordCount(0, m_countsByLength);
+ m_wordCount = m_root.wordCount(0, m_countsByLength);
}
string DawgFactory::letterCountString() const
diff --git a/quackleio/dawgfactory.h b/quackleio/dawgfactory.h
index 8dd6e03..5872dc3 100644
--- a/quackleio/dawgfactory.h
+++ b/quackleio/dawgfactory.h
@@ -30,7 +30,8 @@ public:
DawgFactory(const QString &alphabetFile);
~DawgFactory();
- int wordCount() const;
+ void computeWordCount() const;
+ int wordCount() const { return m_wordCount; };
string letterCountString() const;
int nodeCount() const { return m_nodelist.size(); };
int encodableWords() const { return m_encodableWords; };
@@ -78,6 +79,7 @@ private:
int m_unencodableWords;
int m_duplicateWords;
vector< Node* > m_nodelist;
+ mutable int m_wordCount;
mutable vector<unsigned int> m_countsByLength;
Quackle::AlphabetParameters *m_alphas;
Node m_root;