Browse Source

Bugfix in SubNondetModel (from Joachim Klein).

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

30
prism/src/explicit/SubNondetModel.java

@ -352,10 +352,10 @@ public class SubNondetModel implements NondetModel
@Override @Override
public Object getAction(int s, int i) public Object getAction(int s, int i)
{ {
s = translateState(s);
i = translateAction(s, i);
int sOriginal = translateState(s);
int iOriginal = translateAction(s, i);
return model.getAction(s, i);
return model.getAction(sOriginal, iOriginal);
} }
@Override @Override
@ -367,38 +367,38 @@ public class SubNondetModel implements NondetModel
@Override @Override
public int getNumTransitions(int s, int i) public int getNumTransitions(int s, int i)
{ {
s = translateState(s);
i = translateAction(s, i);
return model.getNumTransitions(s, i);
int sOriginal = translateState(s);
int iOriginal = translateAction(s, i);
return model.getNumTransitions(sOriginal, iOriginal);
} }
@Override @Override
public boolean allSuccessorsInSet(int s, int i, BitSet set) public boolean allSuccessorsInSet(int s, int i, BitSet set)
{ {
s = translateState(s);
i = translateAction(s, i);
int sOriginal = translateState(s);
int iOriginal = translateAction(s, i);
set = translateSet(set); set = translateSet(set);
return model.allSuccessorsInSet(s, i, set);
return model.allSuccessorsInSet(sOriginal, iOriginal, set);
} }
@Override @Override
public boolean someSuccessorsInSet(int s, int i, BitSet set) public boolean someSuccessorsInSet(int s, int i, BitSet set)
{ {
s = translateState(s);
i = translateAction(s, i);
int sOriginal = translateState(s);
int iOriginal = translateAction(s, i);
set = translateSet(set); set = translateSet(set);
return model.someSuccessorsInSet(s, i, set);
return model.someSuccessorsInSet(sOriginal, iOriginal, set);
} }
@Override @Override
public Iterator<Integer> getSuccessorsIterator(int s, int i) public Iterator<Integer> getSuccessorsIterator(int s, int i)
{ {
s = translateState(s);
i = translateAction(s, i);
int sOriginal = translateState(s);
int iOriginal = translateAction(s, i);
List<Integer> succ = new ArrayList<Integer>(); List<Integer> succ = new ArrayList<Integer>();
Iterator<Integer> it = model.getSuccessorsIterator(s, i);
Iterator<Integer> it = model.getSuccessorsIterator(sOriginal, iOriginal);
while (it.hasNext()) { while (it.hasNext()) {
int j = it.next(); int j = it.next();
succ.add(inverseTranslateState(j)); succ.add(inverseTranslateState(j));

Loading…
Cancel
Save