summaryrefslogtreecommitdiff
path: root/decoder/ff_charset.cc
diff options
context:
space:
mode:
authorPatrick Simianer <simianer@cl.uni-heidelberg.de>2012-11-05 15:29:46 +0100
committerPatrick Simianer <simianer@cl.uni-heidelberg.de>2012-11-05 15:29:46 +0100
commit6f29f345dc06c1a1033475eac1d1340781d1d603 (patch)
tree6fa4cdd7aefd7d54c9585c2c6274db61bb8b159a /decoder/ff_charset.cc
parentb510da2e562c695c90d565eb295c749569c59be8 (diff)
parentc615c37501fa8576584a510a9d2bfe2fdd5bace7 (diff)
merge upstream/master
Diffstat (limited to 'decoder/ff_charset.cc')
-rw-r--r--decoder/ff_charset.cc12
1 files changed, 7 insertions, 5 deletions
diff --git a/decoder/ff_charset.cc b/decoder/ff_charset.cc
index 33afc1a7..6429088b 100644
--- a/decoder/ff_charset.cc
+++ b/decoder/ff_charset.cc
@@ -1,5 +1,7 @@
#include "ff_charset.h"
+#include "tdict.h"
+#include "hg.h"
#include "fdict.h"
#include "stringlib.h"
@@ -7,9 +9,9 @@ using namespace std;
NonLatinCount::NonLatinCount(const string& param) : FeatureFunction(), fid_(FD::Convert("NonLatinCount")) {}
-bool ContainsNonLatin(const char* word) {
- int cur = 0;
- while(word[cur]) {
+bool ContainsNonLatin(const string& word) {
+ unsigned cur = 0;
+ while(cur < word.size()) {
const int size = UTF8Len(word[cur]);
if (size > 1) return true;
cur += size;
@@ -20,8 +22,8 @@ bool ContainsNonLatin(const char* word) {
void NonLatinCount::TraversalFeaturesImpl(const SentenceMetadata& smeta,
const Hypergraph::Edge& edge,
const std::vector<const void*>& ant_contexts,
- FeatureVector* features,
- FeatureVector* estimated_features,
+ SparseVector<double>* features,
+ SparseVector<double>* estimated_features,
void* context) const {
const vector<WordID>& e = edge.rule_->e();
int count = 0;