From e0d5a61b78337657d6efe89f84c7cad1e2f44d78 Mon Sep 17 00:00:00 2001 From: Dave Parker Date: Wed, 23 May 2012 10:21:35 +0000 Subject: [PATCH] New constructor in StateListMTBDD - needed in Lus code. git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@5260 bbc10eb1-c90d-0410-af57-cb519fbb1720 --- prism/src/prism/StateListMTBDD.java | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/prism/src/prism/StateListMTBDD.java b/prism/src/prism/StateListMTBDD.java index a80305f9..8e7b9a62 100644 --- a/prism/src/prism/StateListMTBDD.java +++ b/prism/src/prism/StateListMTBDD.java @@ -69,8 +69,8 @@ public class StateListMTBDD implements StateList enum OutputFormat { NORMAL, MATLAB, DOT, STRINGS }; OutputFormat outputFormat = OutputFormat.NORMAL; - // constructor - + // Constructors + public StateListMTBDD(JDDNode s, Model model) { int i; @@ -95,6 +95,30 @@ public class StateListMTBDD implements StateList varValues = new int[varList.getNumVars()]; } + public StateListMTBDD(JDDNode s, JDDVars vars, ODDNode odd, VarList varList) + { + int i; + + // store states vector mtbdd + states = s; + + // get info from model + this.vars = vars; + this.numVars = vars.n(); + this.odd = odd; + this.varList = varList; + + // count number of states in list + size = JDD.GetNumMinterms(states, numVars); + + // initialise arrays + varSizes = new int[varList.getNumVars()]; + for (i = 0; i < varList.getNumVars(); i++) { + varSizes[i] = varList.getRangeLogTwo(i); + } + varValues = new int[varList.getNumVars()]; + } + // return size (number of states in list) public int size()