delete LanguageModelPointerState

This commit is contained in:
Hieu Hoang 2013-02-20 22:09:00 +00:00
parent b059eac235
commit 165ed39296
6 changed files with 18 additions and 30 deletions

View File

@ -40,7 +40,7 @@ class Phrase;
/** Implementation of single factor LM using IRST's code.
* This is available from the same sourceforge repository
*/
class LanguageModelIRST : public LanguageModelPointerState
class LanguageModelIRST : public LanguageModelSingleFactor
{
protected:
mutable std::vector<int> m_lmIdLookup;

View File

@ -17,7 +17,7 @@ class Phrase;
/** @todo ask ollie
*/
class LanguageModelORLM : public LanguageModelPointerState {
class LanguageModelORLM : public LanguageModelSingleFactor {
public:
typedef count_t T; // type for ORLM filter
LanguageModelORLM()

View File

@ -13,7 +13,7 @@ namespace Moses
/** @todo ask miles
*/
class LanguageModelRemote : public LanguageModelPointerState
class LanguageModelRemote : public LanguageModelSingleFactor
{
private:
struct Cache {

View File

@ -38,7 +38,7 @@ namespace Moses
/** Implementation of single factor LM using IRST's code.
*/
class LanguageModelSRI : public LanguageModelPointerState
class LanguageModelSRI : public LanguageModelSingleFactor
{
protected:
std::vector<unsigned int> m_lmIdLookup;

View File

@ -36,9 +36,6 @@ using namespace std;
namespace Moses
{
LanguageModelSingleFactor::~LanguageModelSingleFactor() {}
struct PointerState : public FFState {
const void* lmstate;
PointerState(const void* lms) {
@ -52,30 +49,30 @@ struct PointerState : public FFState {
}
};
LanguageModelPointerState::LanguageModelPointerState()
LanguageModelSingleFactor::LanguageModelSingleFactor()
{
m_nullContextState = new PointerState(NULL);
m_beginSentenceState = new PointerState(NULL);
}
LanguageModelPointerState::~LanguageModelPointerState() {}
LanguageModelSingleFactor::~LanguageModelSingleFactor() {}
const FFState *LanguageModelPointerState::GetNullContextState() const
const FFState *LanguageModelSingleFactor::GetNullContextState() const
{
return m_nullContextState;
}
const FFState *LanguageModelPointerState::GetBeginSentenceState() const
const FFState *LanguageModelSingleFactor::GetBeginSentenceState() const
{
return m_beginSentenceState;
}
FFState *LanguageModelPointerState::NewState(const FFState *from) const
FFState *LanguageModelSingleFactor::NewState(const FFState *from) const
{
return new PointerState(from ? static_cast<const PointerState*>(from)->lmstate : NULL);
}
LMResult LanguageModelPointerState::GetValueForgotState(const std::vector<const Word*> &contextFactor, FFState &outState) const
LMResult LanguageModelSingleFactor::GetValueForgotState(const std::vector<const Word*> &contextFactor, FFState &outState) const
{
return GetValue(contextFactor, &static_cast<PointerState&>(outState).lmstate);
}

View File

@ -35,10 +35,15 @@ class Factor;
class LanguageModelSingleFactor : public LanguageModelImplementation
{
protected:
const Factor *m_sentenceStart, *m_sentenceEnd;
FactorType m_factorType;
typedef const void *State;
LanguageModelSingleFactor() {}
const Factor *m_sentenceStart, *m_sentenceEnd;
FactorType m_factorType;
FFState *m_nullContextState;
FFState *m_beginSentenceState;
LanguageModelSingleFactor();
public:
virtual ~LanguageModelSingleFactor();
@ -68,20 +73,6 @@ public:
{
return m_factorType;
}
};
// Single factor LM that uses a null pointer state.
class LanguageModelPointerState : public LanguageModelSingleFactor
{
private:
FFState *m_nullContextState;
FFState *m_beginSentenceState;
protected:
typedef const void *State;
LanguageModelPointerState();
virtual ~LanguageModelPointerState();
virtual const FFState *GetNullContextState() const;
virtual const FFState *GetBeginSentenceState() const;