|
|
|
@ -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 |
|
|
|
|