summaryrefslogtreecommitdiff
path: root/python/src/hypergraph.pxd
diff options
context:
space:
mode:
authorVictor Chahuneau <vchahune@cs.cmu.edu>2012-07-27 22:25:15 -0400
committerVictor Chahuneau <vchahune@cs.cmu.edu>2012-07-27 22:25:15 -0400
commit9961abf8f756279ac6d839e0b3de2b0d83431965 (patch)
tree2defad3f49df2921ff68a48a07a9ca0693a1f0f7 /python/src/hypergraph.pxd
parent733e1b1507d27d4f53055f740e8098f56215ab8f (diff)
[python] conversion from cdec.sa.Rule to cdec.TRule
+ remove configobj dependency + re-structure packages (no more top-level library) + "const" stuff + use __new__ instead of constructor for some objects
Diffstat (limited to 'python/src/hypergraph.pxd')
-rw-r--r--python/src/hypergraph.pxd18
1 files changed, 11 insertions, 7 deletions
diff --git a/python/src/hypergraph.pxd b/python/src/hypergraph.pxd
index e51ccf5c..886660bf 100644
--- a/python/src/hypergraph.pxd
+++ b/python/src/hypergraph.pxd
@@ -9,23 +9,27 @@ cdef extern from "decoder/hg.h":
EdgeMask(int size)
bint& operator[](int)
- cdef cppclass HypergraphEdge "const Hypergraph::Edge":
+ cdef cppclass HypergraphEdge "Hypergraph::Edge":
int id_
int head_node_ # position in hg.nodes_
SmallVector[unsigned] tail_nodes_ # positions in hg.nodes_
shared_ptr[TRule] rule_
FastSparseVector[weight_t] feature_values_
- LogVal[double] edge_prob_ # weights.dot(feature_values_)
+ prob_t edge_prob_ # weights.dot(feature_values_)
# typically source span:
short int i_
short int j_
- cdef cppclass HypergraphNode "const Hypergraph::Node":
+ ctypedef HypergraphEdge const_HypergraphEdge "const Hypergraph::Edge"
+
+ cdef cppclass HypergraphNode "Hypergraph::Node":
int id_
WordID cat_ # non-terminal category if <0, 0 if not set
vector[int] in_edges_ # positions in hg.edge_prob_
vector[int] out_edges_ # positions in hg.edge_prob_
+ ctypedef HypergraphNode const_HypergraphNode "const Hypergraph::Node"
+
cdef cppclass Hypergraph:
Hypergraph(Hypergraph)
vector[HypergraphNode] nodes_
@@ -42,9 +46,9 @@ cdef extern from "decoder/hg.h":
bint safe_inside)
cdef extern from "decoder/viterbi.h":
- LogVal[double] ViterbiESentence(Hypergraph& hg, vector[WordID]* trans)
+ prob_t ViterbiESentence(Hypergraph& hg, vector[WordID]* trans)
string ViterbiETree(Hypergraph& hg)
- LogVal[double] ViterbiFSentence(Hypergraph& hg, vector[WordID]* trans)
+ prob_t ViterbiFSentence(Hypergraph& hg, vector[WordID]* trans)
string ViterbiFTree(Hypergraph& hg)
FastSparseVector[weight_t] ViterbiFeatures(Hypergraph& hg)
FastSparseVector[weight_t] ViterbiFeatures(Hypergraph& hg,
@@ -67,7 +71,7 @@ cdef extern from "decoder/hg_sampler.h" namespace "HypergraphSampler":
cdef cppclass Hypothesis:
vector[WordID] words
FastSparseVector[weight_t] fmap
- LogVal[double] model_score
+ prob_t model_score
void sample_hypotheses(Hypergraph& hg,
unsigned n,
MT19937* rng,
@@ -77,4 +81,4 @@ cdef extern from "decoder/csplit.h" namespace "CompoundSplit":
int GetFullWordEdgeIndex(Hypergraph& forest)
cdef extern from "decoder/inside_outside.h":
- LogVal[double] InsideOutside "InsideOutside<prob_t, EdgeProb, SparseVector<prob_t>, EdgeFeaturesAndProbWeightFunction>" (Hypergraph& hg, FastSparseVector[LogVal[double]]* result)
+ prob_t InsideOutside "InsideOutside<prob_t, EdgeProb, SparseVector<prob_t>, EdgeFeaturesAndProbWeightFunction>" (Hypergraph& hg, FastSparseVector[prob_t]* result)