From 4ee20e5583a2251b106c57ecd8a0e33c3b932159 Mon Sep 17 00:00:00 2001 From: Dave Parker Date: Tue, 6 Oct 2015 14:26:55 +0000 Subject: [PATCH] Bug fix in lifting reward structures to a product model (when there are some states with no transition rewards). git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10750 bbc10eb1-c90d-0410-af57-cb519fbb1720 --- prism/src/explicit/rewards/MDPRewardsSimple.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/prism/src/explicit/rewards/MDPRewardsSimple.java b/prism/src/explicit/rewards/MDPRewardsSimple.java index 3c4752c9..d5d8c5cc 100644 --- a/prism/src/explicit/rewards/MDPRewardsSimple.java +++ b/prism/src/explicit/rewards/MDPRewardsSimple.java @@ -202,9 +202,12 @@ public class MDPRewardsSimple implements MDPRewards } if (transRewards != null) { for (int s = 0; s < numStatesProd; s++) { - int numChoices = transRewards.get(product.getModelState(s)).size(); - for (int i = 0; i < numChoices; i++) { - rewardsProd.setTransitionReward(s, i, transRewards.get(product.getModelState(s)).get(i)); + List list = transRewards.get(product.getModelState(s)); + if (list != null) { + int numChoices = list.size(); + for (int i = 0; i < numChoices; i++) { + rewardsProd.setTransitionReward(s, i, list.get(i)); + } } } }