From a307ed6c75c2dbf116170f0dc1904e6725ac74f3 Mon Sep 17 00:00:00 2001 From: "kr.angelov" Date: Tue, 18 Sep 2012 09:18:48 +0000 Subject: the C runtime now has a type prob_t which is used only for probability values --- src/runtime/c/pgf/reader.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/runtime/c/pgf/reader.c') 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; } -- cgit v1.2.3