diff --git a/prism/src/prism/Prism.java b/prism/src/prism/Prism.java index 1056c7a2..3064a77e 100644 --- a/prism/src/prism/Prism.java +++ b/prism/src/prism/Prism.java @@ -2645,9 +2645,9 @@ public class Prism implements PrismSettingsListener // print out or export probabilities if (!getExplicit()) - probs.print(tmpLog, fileOut == null, exportType == EXPORT_MATLAB, fileOut == null); + probs.print(tmpLog, fileOut == null, exportType == EXPORT_MATLAB, fileOut == null, fileOut == null); else - probsExpl.print(tmpLog, fileOut == null, exportType == EXPORT_MATLAB, fileOut == null, true); + probsExpl.print(tmpLog, fileOut == null, exportType == EXPORT_MATLAB, fileOut == null, fileOut == null); // print out computation time mainLog.println("\nTime for steady-state probability computation: " + l / 1000.0 + " seconds."); @@ -2747,9 +2747,9 @@ public class Prism implements PrismSettingsListener // print out or export probabilities if (!getExplicit()) - probs.print(tmpLog, fileOut == null, exportType == EXPORT_MATLAB, fileOut == null); + probs.print(tmpLog, fileOut == null, exportType == EXPORT_MATLAB, fileOut == null, fileOut == null); else - probsExpl.print(tmpLog, fileOut == null, exportType == EXPORT_MATLAB, fileOut == null, true); + probsExpl.print(tmpLog, fileOut == null, exportType == EXPORT_MATLAB, fileOut == null, fileOut == null); // print out computation time mainLog.println("\nTime for transient probability computation: " + l / 1000.0 + " seconds."); diff --git a/prism/src/prism/StateValues.java b/prism/src/prism/StateValues.java index 5fdca00f..c4a7e403 100644 --- a/prism/src/prism/StateValues.java +++ b/prism/src/prism/StateValues.java @@ -61,6 +61,7 @@ public interface StateValues JDDNode getBDDFromCloseValueRel(double val, double epsilon); void print(PrismLog log) throws PrismException; void print(PrismLog log, boolean printSparse, boolean printMatlab, boolean printStates) throws PrismException; + void print(PrismLog log, boolean printSparse, boolean printMatlab, boolean printStates, boolean printIndices) throws PrismException; void printFiltered(PrismLog log, JDDNode filter) throws PrismException; void printFiltered(PrismLog log, JDDNode filter, boolean printSparse, boolean printMatlab, boolean printStates) throws PrismException; StateValues deepCopy() throws PrismException; diff --git a/prism/src/prism/StateValuesMTBDD.java b/prism/src/prism/StateValuesMTBDD.java index 75486ab2..eff5a9cf 100644 --- a/prism/src/prism/StateValuesMTBDD.java +++ b/prism/src/prism/StateValuesMTBDD.java @@ -527,11 +527,24 @@ public class StateValuesMTBDD implements StateValues * @param printStates Print states (variable values) for each element? */ public void print(PrismLog log, boolean printSparse, boolean printMatlab, boolean printStates) throws PrismException + { + print(log, printSparse, printMatlab, printStates, true); + } + + /** + * Print vector to a log/file. + * @param log The log + * @param printSparse Print non-zero elements only? + * @param printMatlab Print in Matlab format? + * @param printStates Print states (variable values) for each element? + * @param printIndices Print state indices for each element? + */ + public void print(PrismLog log, boolean printSparse, boolean printMatlab, boolean printStates, boolean printIndices) throws PrismException { // Because non-sparse output from MTBDD requires a bit more effort... if (printSparse) print(log); else throw new PrismException("Not supported"); - // Note we also ignore printMatlab/printStates due to laziness + // Note we also ignore printMatlab/printStates/printIndices due to laziness } /**