diff --git a/prism/src/prism/StateValuesDV.java b/prism/src/prism/StateValuesDV.java index 8fc1aa37..875d09a0 100644 --- a/prism/src/prism/StateValuesDV.java +++ b/prism/src/prism/StateValuesDV.java @@ -84,24 +84,11 @@ public class StateValuesDV implements StateValues */ public StateValuesDV(DoubleVector values, Model model) { - int i; - // store values vector this.values = values; // get info from model - this.model = model; - vars = model.getAllDDRowVars(); - numVars = vars.n(); - odd = model.getODD(); - varList = model.getVarList(); - - // initialise arrays - varSizes = new int[varList.getNumVars()]; - for (i = 0; i < varList.getNumVars(); i++) { - varSizes[i] = varList.getRangeLogTwo(i); - } - varValues = new int[varList.getNumVars()]; + setModel(model); } /** @@ -119,6 +106,23 @@ public class StateValuesDV implements StateValues this(new DoubleVector(dd, model.getAllDDRowVars(), model.getODD()), model); } + /** Helper method: Store information about the underlying model */ + private void setModel(Model model) + { + this.model = model; + vars = model.getAllDDRowVars(); + numVars = vars.n(); + odd = model.getODD(); + varList = model.getVarList(); + + // initialise arrays + varSizes = new int[varList.getNumVars()]; + for (int i = 0; i < varList.getNumVars(); i++) { + varSizes[i] = varList.getRangeLogTwo(i); + } + varValues = new int[varList.getNumVars()]; + } + // CONVERSION METHODS @Override diff --git a/prism/src/prism/StateValuesMTBDD.java b/prism/src/prism/StateValuesMTBDD.java index b46ef20e..9855c0f9 100644 --- a/prism/src/prism/StateValuesMTBDD.java +++ b/prism/src/prism/StateValuesMTBDD.java @@ -79,12 +79,16 @@ public class StateValuesMTBDD implements StateValues */ public StateValuesMTBDD(JDDNode values, Model model) { - int i; - // store values vector mtbdd this.values = values; - + // get info from model + setModel(model); + } + + /** Helper method: Store information about the underlying model */ + private void setModel(Model model) + { this.model = model; vars = model.getAllDDRowVars(); reach = model.getReach(); @@ -95,7 +99,7 @@ public class StateValuesMTBDD implements StateValues // initialise arrays varSizes = new int[varList.getNumVars()]; - for (i = 0; i < varList.getNumVars(); i++) { + for (int i = 0; i < varList.getNumVars(); i++) { varSizes[i] = varList.getRangeLogTwo(i); } varValues = new int[varList.getNumVars()];