Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/moses-smt/mosesdecoder.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsiddharth jain <sija@microsoft.com>2020-11-09 21:51:14 +0300
committersiddharth jain <sija@microsoft.com>2020-11-09 21:51:14 +0300
commitbfc0bc57a34f64ae9a83a2ba181def04deb56ff4 (patch)
treebf515466d112cd25c0cb337d43e4287d9b57845b
parent26fcdca23b9fea72ec42dbe5abf818e6701d4019 (diff)
remaining clean up changes
-rw-r--r--moses2/DLLEntryApi.cpp24
-rw-r--r--moses2/Moses2Wrapper.cpp3
-rw-r--r--moses2/TranslationModel/Dynamic/DynamicPhraseTable.cpp2
3 files changed, 15 insertions, 14 deletions
diff --git a/moses2/DLLEntryApi.cpp b/moses2/DLLEntryApi.cpp
index e6c785bb4..b559b62e5 100644
--- a/moses2/DLLEntryApi.cpp
+++ b/moses2/DLLEntryApi.cpp
@@ -1,27 +1,29 @@
#include "Moses2Wrapper.h"
#include <iostream>
+#include <windows.h>
using namespace std;
using namespace Moses2;
-extern "C" __declspec(dllexport) Moses2::Moses2Wrapper * __stdcall CreateMosesSystem(const char* filePath) {
- return new Moses2::Moses2Wrapper(filePath);
-}
-
-extern "C" __declspec(dllexport) int __stdcall GetMosesSystem(const char* filePath, Moses2::Moses2Wrapper ** pObject) {
+extern "C" __declspec(dllexport) HRESULT __stdcall GetMosesSystem(const char* filePath, Moses2::Moses2Wrapper ** pObject) {
+ if (*pObject == NULL) {
*pObject = new Moses2::Moses2Wrapper(filePath);
- return 1;
+ return S_OK;
+ }
+ else {
+ return E_FAIL;
+ }
}
-extern "C" __declspec(dllexport) int __stdcall MosesTranslate(Moses2::Moses2Wrapper * pObject, long id, const char* input, char* output, int strlen) {
+extern "C" __declspec(dllexport) HRESULT __stdcall MosesTranslate(Moses2::Moses2Wrapper * pObject, long id, const char* input, char* output, int strlen) {
if (pObject != NULL)
{
std::string tr = pObject->Translate(input, id);
std::copy(tr.begin(), tr.end(), output);
output[std::min(strlen - 1, (int)tr.size())] = 0;
- return 1;
+ return S_OK;
}
else {
- return 0;
+ return E_FAIL;
}
}
extern "C" __declspec(dllexport) int __stdcall ReleaseSystem(Moses2::Moses2Wrapper ** pObject) {
@@ -29,10 +31,10 @@ extern "C" __declspec(dllexport) int __stdcall ReleaseSystem(Moses2::Moses2Wrapp
{
delete *pObject;
*pObject = NULL;
- return 1;
+ return S_OK;
}
else {
- return 0;
+ return E_FAIL;
}
}
extern "C" __declspec(dllexport) string __stdcall GetEngineVersion() {
diff --git a/moses2/Moses2Wrapper.cpp b/moses2/Moses2Wrapper.cpp
index a6897037e..343ddfa3b 100644
--- a/moses2/Moses2Wrapper.cpp
+++ b/moses2/Moses2Wrapper.cpp
@@ -11,8 +11,7 @@ namespace Moses2 {
}
std::string Moses2Wrapper::Translate(const std::string &input , long id) {
TranslationTask task(*m_system, input, id);
- std::string translation = task.ReturnTranslation();
- return translation;
+ return task.ReturnTranslation();
}
Moses2Wrapper::~Moses2Wrapper() {
delete m_param;
diff --git a/moses2/TranslationModel/Dynamic/DynamicPhraseTable.cpp b/moses2/TranslationModel/Dynamic/DynamicPhraseTable.cpp
index a37f5b778..a7edd3f84 100644
--- a/moses2/TranslationModel/Dynamic/DynamicPhraseTable.cpp
+++ b/moses2/TranslationModel/Dynamic/DynamicPhraseTable.cpp
@@ -48,7 +48,7 @@ DynamicPhraseTable::DynamicPhraseTable(size_t startInd, const std::string &line)
DynamicPhraseTable::~DynamicPhraseTable()
{
- //delete m_rootPb;
+ m_rootPb.CleanNode();
}
void DynamicPhraseTable::CreatePTForInput(const ManagerBase &mgr, string phraseTableString)