diff --git a/prism/src/prism/NondetModel.java b/prism/src/prism/NondetModel.java index b36e7810..460a348e 100644 --- a/prism/src/prism/NondetModel.java +++ b/prism/src/prism/NondetModel.java @@ -223,16 +223,17 @@ public class NondetModel extends ProbModel } // build mask for nondeterminstic choices + // (and work out number of choices) JDD.Ref(trans01); JDD.Ref(reach); if (this.nondetMask != null) JDD.Deref(this.nondetMask); // nb: this assumes that there are no deadlock states - nondetMask = JDD.And(JDD.Not(JDD.ThereExists(trans01, allDDColVars)), reach); - - // work out number of choices - double d = JDD.GetNumMinterms(nondetMask, getNumDDRowVars() + getNumDDNondetVars()); - numChoices = ((Math.pow(2, getNumDDNondetVars())) * numStates) - d; + nondetMask = JDD.And(JDD.ThereExists(trans01, allDDColVars), reach); + numChoices = JDD.GetNumMinterms(nondetMask, getNumDDRowVars() + getNumDDNondetVars()); + JDD.Ref(reach); + nondetMask = JDD.And(JDD.Not(nondetMask), reach); + JDD.PrintInfo(nondetMask, getNumDDRowVars() + getNumDDNondetVars()); } @Override