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