diff options
Diffstat (limited to 'python/src/utils.pxd')
-rw-r--r-- | python/src/utils.pxd | 70 |
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) |