diff --git a/prism/src/explicit/MDP.java b/prism/src/explicit/MDP.java index 18fae9e1..9948d0ff 100644 --- a/prism/src/explicit/MDP.java +++ b/prism/src/explicit/MDP.java @@ -37,14 +37,14 @@ import explicit.rewards.*; public interface MDP extends Model { /** - * Get the number of transitions from choice {@code i} of state {@code s}. + * Get the action label (if any) for choice {@code i} of state {@code s}. */ - public int getNumTransitions(int s, int i); + public Object getAction(int s, int i); /** - * Get the action label (if any) for choice {@code i} of state {@code s}. + * Get the number of transitions from choice {@code i} of state {@code s}. */ - public Object getAction(int s, int i); + public int getNumTransitions(int s, int i); /** * Get an iterator over the transitions from choice {@code i} of state {@code s}. diff --git a/prism/src/explicit/MDPSimple.java b/prism/src/explicit/MDPSimple.java index 305bc911..f56b5dff 100644 --- a/prism/src/explicit/MDPSimple.java +++ b/prism/src/explicit/MDPSimple.java @@ -597,12 +597,6 @@ public class MDPSimple extends ModelSimple implements MDP // Accessors (for MDP) - @Override - public int getNumTransitions(int s, int i) - { - return trans.get(s).get(i).size(); - } - @Override public Object getAction(int s, int i) { @@ -612,6 +606,12 @@ public class MDPSimple extends ModelSimple implements MDP return list.get(i); } + @Override + public int getNumTransitions(int s, int i) + { + return trans.get(s).get(i).size(); + } + @Override public Iterator> getTransitionsIterator(int s, int i) { diff --git a/prism/src/explicit/MDPSparse.java b/prism/src/explicit/MDPSparse.java index f61d797d..aaacfda0 100644 --- a/prism/src/explicit/MDPSparse.java +++ b/prism/src/explicit/MDPSparse.java @@ -588,15 +588,15 @@ public class MDPSparse extends ModelSparse implements MDP // Accessors (for MDP) @Override - public int getNumTransitions(int s, int i) + public Object getAction(int s, int i) { - return choiceStarts[rowStarts[s] + i + 1] - choiceStarts[rowStarts[s] + i]; + return actions == null ? null : actions[rowStarts[s] + i]; } @Override - public Object getAction(int s, int i) + public int getNumTransitions(int s, int i) { - return actions == null ? null : actions[rowStarts[s] + i]; + return choiceStarts[rowStarts[s] + i + 1] - choiceStarts[rowStarts[s] + i]; } @Override