summaryrefslogtreecommitdiff
path: root/python/src/sa/features.pxi
diff options
context:
space:
mode:
authorVictor Chahuneau <vchahune@cs.cmu.edu>2013-08-26 20:12:32 -0400
committerVictor Chahuneau <vchahune@cs.cmu.edu>2013-08-26 20:12:32 -0400
commitca9b58716214148eeaeaa3076e1a1dc8f8bb5892 (patch)
treebfa2fd84c86e0fdd499110e86fd464b391379df1 /python/src/sa/features.pxi
parent9d5071692ceab8d09c2bfdba24f6b927ec84b7f9 (diff)
Improve the package structure of pycdec
This change should not break anything, but now you can run: python setup.py build_ext --inplace and use the cleaner: PYTHONPATH=/path/to/cdec/python python -m ...
Diffstat (limited to 'python/src/sa/features.pxi')
-rw-r--r--python/src/sa/features.pxi33
1 files changed, 0 insertions, 33 deletions
diff --git a/python/src/sa/features.pxi b/python/src/sa/features.pxi
deleted file mode 100644
index 9b9ecf3c..00000000
--- a/python/src/sa/features.pxi
+++ /dev/null
@@ -1,33 +0,0 @@
-cdef StringMap FD = StringMap() # Feature name dictionary
-
-INITIAL_CAPACITY = 7 # default number of features
-INCREMENT = INITIAL_CAPACITY # double size
-
-cdef class FeatureVector:
- def __cinit__(self):
- self.names = IntList(INITIAL_CAPACITY, INCREMENT)
- self.values = FloatList(INITIAL_CAPACITY, INCREMENT)
-
- def set(self, unsigned name, float value):
- self.names.append(name)
- self.values.append(value)
-
- def __iter__(self):
- cdef unsigned i
- for i in range(self.names.len):
- yield (FD.word(self.names[i]), self.values[i])
-
- def __str__(self):
- return ' '.join('%s=%s' % feat for feat in self)
-
-cdef class Scorer:
- cdef models
- def __init__(self, *models):
- names = [FD.index(<char *>model.__name__) for model in models]
- self.models = zip(names, models)
-
- cdef FeatureVector score(self, ctx):
- cdef FeatureVector scores = FeatureVector()
- for name, model in self.models:
- scores.set(name, model(ctx))
- return scores