From 614554325e097a9c0adbf7d00064277842924042 Mon Sep 17 00:00:00 2001 From: Dave Parker Date: Thu, 24 May 2012 22:39:29 +0000 Subject: [PATCH] Bug fix in output of path generated from simulation: last 2 times were duplicated. git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@5277 bbc10eb1-c90d-0410-af57-cb519fbb1720 --- prism/src/simulator/PathFull.java | 4 ++-- prism/src/simulator/Updater.java | 9 ++++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/prism/src/simulator/PathFull.java b/prism/src/simulator/PathFull.java index 3ccbceb2..ca5f2cf0 100644 --- a/prism/src/simulator/PathFull.java +++ b/prism/src/simulator/PathFull.java @@ -473,7 +473,7 @@ public class PathFull extends Path implements PathFullInfo changed = true; } if (!changed) { - d = (i < n - 1) ? getTime(i) : 0.0; + d = (i < n) ? getTime(i) : 0.0; t += d; continue; } @@ -485,7 +485,7 @@ public class PathFull extends Path implements PathFullInfo log.print(i); // print time (if continuous time) if (contTime) { - d = (i < n - 1) ? getTime(i) : 0.0; + d = (i < n) ? getTime(i) : 0.0; log.print(colSep + (timeCumul ? t : d)); t += d; } diff --git a/prism/src/simulator/Updater.java b/prism/src/simulator/Updater.java index 55227ef9..fef16c4e 100644 --- a/prism/src/simulator/Updater.java +++ b/prism/src/simulator/Updater.java @@ -323,7 +323,14 @@ public class Updater if (modelType.choicesSumToOne() && Math.abs(sum - 1) > prism.getSumRoundOff()) { throw new PrismLangException("Probabilities sum to " + sum + " in state " + state.toString(modulesFile), ups); } - + // Check if empty (e.g. due to all 0 probs/rates) + // Currently, PRISM treats this as an error + if (ch.size() == 0) { + String msg = modelType.probabilityOrRate(); + msg += (ups.getNumUpdates() > 1) ? " values sum to " : " is "; + msg += "zero for update in state " + state.toString(modulesFile); + //throw new PrismLangException(msg, ups); + } return ch; }