From 539c794980a51631e787bb3f1e903a764f86a540 Mon Sep 17 00:00:00 2001 From: Dave Parker Date: Fri, 11 Apr 2008 08:05:35 +0000 Subject: [PATCH] Typo/bug fix in logarithm calculations. git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@733 bbc10eb1-c90d-0410-af57-cb519fbb1720 --- prism/src/prism/PrismUtils.java | 2 +- prism/src/simulator/simexpression.cc | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/prism/src/prism/PrismUtils.java b/prism/src/prism/PrismUtils.java index 11e28efa..821d7a94 100644 --- a/prism/src/prism/PrismUtils.java +++ b/prism/src/prism/PrismUtils.java @@ -60,7 +60,7 @@ public class PrismUtils public static double log(double x, double b) { - // If base is <0 or ==1 (or +Inf/NaN), then result is NaN + // If base is <=0 or ==1 (or +Inf/NaN), then result is NaN if (b <= 0 || b == 1 || (Double.isInfinite(b)) || Double.isNaN(b)) return Double.NaN; // Otherwise, log_b (x) is log(x) / log(b) diff --git a/prism/src/simulator/simexpression.cc b/prism/src/simulator/simexpression.cc index 0aee9057..ed5bd359 100644 --- a/prism/src/simulator/simexpression.cc +++ b/prism/src/simulator/simexpression.cc @@ -1410,8 +1410,8 @@ double CLog::EvaluateDouble() base = rexpr->Evaluate(); else base = rexpr->EvaluateDouble(); - // If base is <0 or ==1 (or +Inf/NaN), then result is NaN - if (base < 0 || base == 1.0 || base == HUGE_VAL || base != base) { res = 0.0; res /= res; } + // If base is <=0 or ==1 (or +Inf/NaN), then result is NaN + if (base <= 0 || base == 1.0 || base == HUGE_VAL || base != base) { res = 0.0; res /= res; } // If arg is <0 or NaN, then result is NaN else if (val < 0 || val != val) { res = 0.0; res /= res; } // If arg is +Inf, then result is +Inf