diff --git a/prism/src/prism/ExplicitFiles2MTBDD.java b/prism/src/prism/ExplicitFiles2MTBDD.java index 857b5085..6f82be51 100644 --- a/prism/src/prism/ExplicitFiles2MTBDD.java +++ b/prism/src/prism/ExplicitFiles2MTBDD.java @@ -431,10 +431,8 @@ public class ExplicitFiles2MTBDD moduleDDColVars[0] = new JDDVars(); // go thru all variables for (i = 0; i < numVars; i++) { - varDDRowVars[i].refAll(); - varDDColVars[i].refAll(); - moduleDDRowVars[0].addVars(varDDRowVars[i]); - moduleDDColVars[0].addVars(varDDColVars[i]); + moduleDDRowVars[0].copyVarsFrom(varDDRowVars[i]); + moduleDDColVars[0].copyVarsFrom(varDDColVars[i]); } // put refs for all vars in whole system together @@ -450,10 +448,8 @@ public class ExplicitFiles2MTBDD // go thru all variables for (i = 0; i < numVars; i++) { // add to list - varDDRowVars[i].refAll(); - varDDColVars[i].refAll(); - allDDRowVars.addVars(varDDRowVars[i]); - allDDColVars.addVars(varDDColVars[i]); + allDDRowVars.copyVarsFrom(varDDRowVars[i]); + allDDColVars.copyVarsFrom(varDDColVars[i]); } if (modelType == ModelType.MDP) { for (i = 0; i < ddChoiceVars.length; i++) { diff --git a/prism/src/prism/ExplicitModel2MTBDD.java b/prism/src/prism/ExplicitModel2MTBDD.java index 351b076c..357969b1 100644 --- a/prism/src/prism/ExplicitModel2MTBDD.java +++ b/prism/src/prism/ExplicitModel2MTBDD.java @@ -327,10 +327,8 @@ public class ExplicitModel2MTBDD moduleDDColVars[0] = new JDDVars(); // go thru all variables for (i = 0; i < numVars; i++) { - varDDRowVars[i].refAll(); - varDDColVars[i].refAll(); - moduleDDRowVars[0].addVars(varDDRowVars[i]); - moduleDDColVars[0].addVars(varDDColVars[i]); + moduleDDRowVars[0].copyVarsFrom(varDDRowVars[i]); + moduleDDColVars[0].copyVarsFrom(varDDColVars[i]); } // put refs for all vars in whole system together @@ -346,10 +344,8 @@ public class ExplicitModel2MTBDD // go thru all variables for (i = 0; i < numVars; i++) { // add to list - varDDRowVars[i].refAll(); - varDDColVars[i].refAll(); - allDDRowVars.addVars(varDDRowVars[i]); - allDDColVars.addVars(varDDColVars[i]); + allDDRowVars.copyVarsFrom(varDDRowVars[i]); + allDDColVars.copyVarsFrom(varDDColVars[i]); } if (modelType == ModelType.MDP) { for (i = 0; i < ddChoiceVars.length; i++) { diff --git a/prism/src/prism/Modules2MTBDD.java b/prism/src/prism/Modules2MTBDD.java index c8ed71fe..c10ec384 100644 --- a/prism/src/prism/Modules2MTBDD.java +++ b/prism/src/prism/Modules2MTBDD.java @@ -566,19 +566,17 @@ public class Modules2MTBDD } // go thru all variables for (i = 0; i < numVars; i++) { - varDDRowVars[i].refAll(); - varDDColVars[i].refAll(); // check which module it belongs to m = varList.getModule(i); // if global... if (m == -1) { - globalDDRowVars.addVars(varDDRowVars[i]); - globalDDColVars.addVars(varDDColVars[i]); + globalDDRowVars.copyVarsFrom(varDDRowVars[i]); + globalDDColVars.copyVarsFrom(varDDColVars[i]); } // otherwise... else { - moduleDDRowVars[m].addVars(varDDRowVars[i]); - moduleDDColVars[m].addVars(varDDColVars[i]); + moduleDDRowVars[m].copyVarsFrom(varDDRowVars[i]); + moduleDDColVars[m].copyVarsFrom(varDDColVars[i]); } } @@ -595,10 +593,8 @@ public class Modules2MTBDD // go thru all variables for (i = 0; i < numVars; i++) { // add to list - varDDRowVars[i].refAll(); - varDDColVars[i].refAll(); - allDDRowVars.addVars(varDDRowVars[i]); - allDDColVars.addVars(varDDColVars[i]); + allDDRowVars.copyVarsFrom(varDDRowVars[i]); + allDDColVars.copyVarsFrom(varDDColVars[i]); } if (modelType == ModelType.MDP) { // go thru all syncronising action vars