summaryrefslogtreecommitdiff
path: root/src/runtime/c
diff options
context:
space:
mode:
Diffstat (limited to 'src/runtime/c')
-rw-r--r--src/runtime/c/pgf/data.h2
-rw-r--r--src/runtime/c/pgf/parser.c4
-rw-r--r--src/runtime/c/pgf/reader.c7
3 files changed, 8 insertions, 5 deletions
diff --git a/src/runtime/c/pgf/data.h b/src/runtime/c/pgf/data.h
index f1cd2bafc..552613c55 100644
--- a/src/runtime/c/pgf/data.h
+++ b/src/runtime/c/pgf/data.h
@@ -148,7 +148,7 @@ typedef GuMap PgfMetaChildMap;
extern GU_DECLARE_TYPE(PgfMetaChildMap, GuMap);
struct PgfCat {
- // TODO: Add cid here
+ PgfCId name;
PgfHypos context;
float meta_prob;
diff --git a/src/runtime/c/pgf/parser.c b/src/runtime/c/pgf/parser.c
index 54121b18a..15eb96414 100644
--- a/src/runtime/c/pgf/parser.c
+++ b/src/runtime/c/pgf/parser.c
@@ -1042,7 +1042,7 @@ pgf_parsing_meta_predict(GuMapItor* fn, const void* key, void* value, GuExn* err
{
(void) (err);
- PgfCId abscat = *((PgfCId*) key);
+ PgfCat* abscat = (PgfCat*) key;
float meta_prob = *((float*) value);
PgfMetaPredictFn* clo = (PgfMetaPredictFn*) fn;
PgfParseState* before = clo->before;
@@ -1050,7 +1050,7 @@ pgf_parsing_meta_predict(GuMapItor* fn, const void* key, void* value, GuExn* err
PgfItem* meta_item = clo->meta_item;
PgfCncCat* cnccat =
- gu_map_get(before->ps->concr->cnccats, &abscat, PgfCncCat*);
+ gu_map_get(before->ps->concr->cnccats, &abscat->name, PgfCncCat*);
if (cnccat == NULL)
return;
diff --git a/src/runtime/c/pgf/reader.c b/src/runtime/c/pgf/reader.c
index 166dc9bd2..8e2a634e8 100644
--- a/src/runtime/c/pgf/reader.c
+++ b/src/runtime/c/pgf/reader.c
@@ -648,10 +648,13 @@ typedef struct {
static void
pgf_compute_meta_probs(GuMapItor* fn, const void* key, void* value, GuExn* err)
{
- (void) (key && err);
+ (void) (err);
+ PgfCId name = *((PgfCId*) key);
PgfCat* cat = *((PgfCat**) value);
-
+
+ cat->name = name;
+
double mass = 0;
for (size_t i = 0; i < cat->n_functions; i++) {
mass += cat->functions[i].prob;