Browse Source

Bug fix: PTA rewards on digital clocks: forgot to scale by GCD.

git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@5523 bbc10eb1-c90d-0410-af57-cb519fbb1720
master
Dave Parker 14 years ago
parent
commit
e0d68f8b74
  1. 7
      prism/src/pta/DigitalClocks.java

7
prism/src/pta/DigitalClocks.java

@ -293,7 +293,12 @@ public class DigitalClocks
RewardStructItem rsi = rs.getRewardStructItem(i);
// Convert state rewards
if (!rsi.isTransitionReward()) {
rsi = new RewardStructItem(timeAction, rsi.getStates().deepCopy(), rsi.getReward().deepCopy());
// Scale reward by clock GCD
Expression rew = rsi.getReward().deepCopy();
if (cci.getScaleFactor() > 1) {
rew = Expression.Times(rew, Expression.Int(cci.getScaleFactor()));
}
rsi = new RewardStructItem(timeAction, rsi.getStates().deepCopy(), rew);
rs.setRewardStructItem(i, rsi);
}
}

Loading…
Cancel
Save