Browse Source

SubNondetModel: more efficient allSuccessorsInSet and someSuccessorsInSet [Joachim Klein].

git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9544 bbc10eb1-c90d-0410-af57-cb519fbb1720
master
Dave Parker 11 years ago
parent
commit
bb6a80f978
  1. 24
      prism/src/explicit/SubNondetModel.java

24
prism/src/explicit/SubNondetModel.java

@ -376,21 +376,29 @@ public class SubNondetModel implements NondetModel
@Override
public boolean allSuccessorsInSet(int s, int i, BitSet set)
{
int sOriginal = translateState(s);
int iOriginal = translateAction(s, i);
set = translateSet(set);
Iterator<Integer> successors = getSuccessorsIterator(s,i);
while (successors.hasNext()) {
Integer successor = successors.next();
if (!set.get(successor)) {
return false;
}
}
return model.allSuccessorsInSet(sOriginal, iOriginal, set);
return true;
}
@Override
public boolean someSuccessorsInSet(int s, int i, BitSet set)
{
int sOriginal = translateState(s);
int iOriginal = translateAction(s, i);
set = translateSet(set);
Iterator<Integer> successors = getSuccessorsIterator(s,i);
while (successors.hasNext()) {
Integer successor = successors.next();
if (set.get(successor)) {
return true;
}
}
return model.someSuccessorsInSet(sOriginal, iOriginal, set);
return false;
}
@Override

Loading…
Cancel
Save