summaryrefslogtreecommitdiff
path: root/src/runtime/c/pgf/reader.c
diff options
context:
space:
mode:
authorkr.angelov <kr.angelov@gmail.com>2012-09-18 09:18:48 +0000
committerkr.angelov <kr.angelov@gmail.com>2012-09-18 09:18:48 +0000
commita307ed6c75c2dbf116170f0dc1904e6725ac74f3 (patch)
treece17c97d202a67b140947ac50f8957333b37b0ce /src/runtime/c/pgf/reader.c
parent91ca7c9a1be37b7cc943a1252199b724d1ef5d87 (diff)
the C runtime now has a type prob_t which is used only for probability values
Diffstat (limited to 'src/runtime/c/pgf/reader.c')
-rw-r--r--src/runtime/c/pgf/reader.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/runtime/c/pgf/reader.c b/src/runtime/c/pgf/reader.c
index 8e2a634e8..81ec46f31 100644
--- a/src/runtime/c/pgf/reader.c
+++ b/src/runtime/c/pgf/reader.c
@@ -655,11 +655,11 @@ pgf_compute_meta_probs(GuMapItor* fn, const void* key, void* value, GuExn* err)
cat->name = name;
- double mass = 0;
+ prob_t mass = 0;
for (size_t i = 0; i < cat->n_functions; i++) {
mass += cat->functions[i].prob;
}
- cat->meta_prob = - log(fabs(1 - mass));
+ cat->meta_prob = (mass > 1) ? INFINITY : - log(1 - mass);
cat->meta_token_prob = INFINITY;
cat->meta_child_probs = NULL;
}