Browse Source

Constructors for explicit models.

git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1759 bbc10eb1-c90d-0410-af57-cb519fbb1720
master
Dave Parker 16 years ago
parent
commit
1383ed7a99
  1. 13
      prism/src/explicit/Distribution.java
  2. 15
      prism/src/explicit/MDP.java

13
prism/src/explicit/Distribution.java

@ -47,6 +47,19 @@ public class Distribution implements Iterable<Entry<Integer,Double>>
clear();
}
/**
* Copy constructor.
*/
public Distribution(Distribution distr)
{
this();
Iterator<Entry<Integer,Double>> i = distr.iterator();
while (i.hasNext()) {
Map.Entry<Integer,Double> e = i.next();
add(e.getKey(), e.getValue());
}
}
/**
* Clear all entries of the distribution.
*/

15
prism/src/explicit/MDP.java

@ -76,6 +76,21 @@ public class MDP extends Model
initialise(numStates);
}
/**
* Constructor: new MDP copied from an existing DTMC.
*/
public MDP(DTMC dtmc)
{
this(dtmc.numStates);
for (int s : dtmc.getInitialStates()) {
addInitialState(s);
}
for (int s = 0; s < numStates; s++) {
addChoice(s, new Distribution(dtmc.getTransitions(s)));
}
// TODO: copy rewards, etc.
}
/**
* Initialise: new model with fixed number of states.
*/

Loading…
Cancel
Save