From c930c151c5ad9b84a0209f35678026c2c0fc0ca8 Mon Sep 17 00:00:00 2001 From: Joachim Klein Date: Wed, 19 Jul 2017 12:29:39 +0000 Subject: [PATCH] refactor prism.StateValues: split constructor to provide seperate (private) method for setting the model git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12055 bbc10eb1-c90d-0410-af57-cb519fbb1720 --- prism/src/prism/StateValuesDV.java | 32 +++++++++++++++------------ prism/src/prism/StateValuesMTBDD.java | 12 ++++++---- 2 files changed, 26 insertions(+), 18 deletions(-) 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()];