summaryrefslogtreecommitdiff
path: root/python/src/utils.pxd
diff options
context:
space:
mode:
authorKenneth Heafield <github@kheafield.com>2012-08-03 07:46:54 -0400
committerKenneth Heafield <github@kheafield.com>2012-08-03 07:46:54 -0400
commit122f46c31102b683eaab3ad81a3a98accbc694bb (patch)
tree8d499d789b159ebed25bb23b6983813d064a6296 /python/src/utils.pxd
parentac664bdb0e481539cf77098a7dd0e1ec8d937ba0 (diff)
parent193d137056c3c4f73d66f8db84691d63307de894 (diff)
Merge branch 'master' of github.com:redpony/cdec
Diffstat (limited to 'python/src/utils.pxd')
-rw-r--r--python/src/utils.pxd70
1 files changed, 57 insertions, 13 deletions
diff --git a/python/src/utils.pxd b/python/src/utils.pxd
index 786cd265..a1a4799b 100644
--- a/python/src/utils.pxd
+++ b/python/src/utils.pxd
@@ -1,5 +1,6 @@
from libcpp.string cimport string
from libcpp.vector cimport vector
+from libcpp.pair cimport pair
cdef extern from "<iostream>" namespace "std":
cdef cppclass istream:
@@ -14,24 +15,59 @@ cdef extern from "utils/weights.h":
cdef extern from "utils/logval.h":
cdef cppclass LogVal[T]:
- pass
+ double as_float()
-cdef extern from "utils/prob.h":
- cdef cppclass prob_t:
- pass
+ ctypedef LogVal[double] prob_t
+
+ double log(prob_t&)
cdef extern from "utils/wordid.h":
ctypedef int WordID
+cdef extern from "utils/small_vector.h":
+ cdef cppclass SmallVector[T]:
+ T& operator[](unsigned)
+ unsigned size()
+
cdef extern from "utils/sparse_vector.h":
- cdef cppclass SparseVector[T]:
- pass
+ cdef cppclass FastSparseVector[T]:
+ cppclass const_iterator:
+ const_iterator(FastSparseVector[T]&, bint is_end)
+ pair[unsigned, T]* ptr "operator->" ()
+ const_iterator& operator++()
+ bint operator!=(const_iterator&)
+ FastSparseVector()
+ FastSparseVector(FastSparseVector[T]&)
+ const_iterator begin()
+ const_iterator end()
+ void init_vector(vector[T]* vp)
+ T value(unsigned k)
+ void set_value(unsigned k, T& v)
+ size_t size()
+ bint nonzero(unsigned k)
+ bint operator==(FastSparseVector[T]&)
+ T dot(vector[weight_t]&) # cython bug when [T]
+ T dot(FastSparseVector[T]&)
+ void clear()
-cdef extern from "utils/tdict.cc" namespace "TD":
- cdef string GetString(vector[WordID] st)
+ FastSparseVector[weight_t] operator+(FastSparseVector[weight_t]&, FastSparseVector[weight_t]&)
+ FastSparseVector[weight_t] operator-(FastSparseVector[weight_t]&, FastSparseVector[weight_t]&)
+ FastSparseVector[weight_t] operator*(FastSparseVector[weight_t]&, double&)
+ FastSparseVector[weight_t] operator/(FastSparseVector[weight_t]&, double&)
+ ostream operator<<(ostream& out, FastSparseVector[weight_t]& v)
+
+cdef extern from "utils/weights.h" namespace "Weights":
+ void InitSparseVector(vector[weight_t]& dv, FastSparseVector[weight_t]* sv)
+
+cdef extern from "utils/tdict.h" namespace "TD":
+ string GetString(vector[WordID]& st)
+ unsigned NumWords()
+ WordID TDConvert "TD::Convert" (char*)
+ char* TDConvert "TD::Convert" (WordID)
+ void ConvertSentence(string& sent, vector[WordID]* ids)
cdef extern from "utils/verbose.h":
- cdef void SetSilent(bint)
+ void SetSilent(bint)
cdef extern from "utils/fdict.h" namespace "FD":
WordID FDConvert "FD::Convert" (char*)
@@ -39,15 +75,23 @@ cdef extern from "utils/fdict.h" namespace "FD":
cdef extern from "utils/filelib.h":
cdef cppclass ReadFile:
- ReadFile(string)
+ ReadFile(string&)
istream* stream()
cdef extern from "utils/sampler.h":
cdef cppclass MT19937:
pass
-"""
cdef extern from "<boost/shared_ptr.hpp>" namespace "boost":
cdef cppclass shared_ptr[T]:
- void reset(T*)
-"""
+ shared_ptr(T* ptr)
+ shared_ptr(shared_ptr& r)
+ T* get()
+
+cdef extern from "<boost/program_options.hpp>":
+ cdef cppclass variable_value "const boost::program_options::variable_value":
+ string as_str "as<std::string>" ()
+
+ cdef cppclass variables_map "const boost::program_options::variables_map":
+ unsigned count(char* name)
+ variable_value& operator[](char* name)