From 70af773c40b500ffa1f6f83e29c0d88111a4979c Mon Sep 17 00:00:00 2001 From: Joachim Klein Date: Fri, 12 Oct 2018 14:26:16 +0200 Subject: [PATCH] quantile-common: Adapt OpRelBound to multi-threshold --- prism/src/parser/ast/ExpressionProb.java | 2 +- prism/src/parser/ast/ExpressionReward.java | 2 +- prism/src/parser/ast/ExpressionSS.java | 2 +- prism/src/prism/OpRelOpBound.java | 10 ++++++++++ 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/prism/src/parser/ast/ExpressionProb.java b/prism/src/parser/ast/ExpressionProb.java index a01c1440..e7b5be61 100644 --- a/prism/src/parser/ast/ExpressionProb.java +++ b/prism/src/parser/ast/ExpressionProb.java @@ -97,7 +97,7 @@ public class ExpressionProb extends ExpressionQuant throw new PrismLangException("Invalid probability bound " + boundVal + " in P operator"); return new OpRelOpBound("P", minMax, getRelOp(), boundVal); } else { - return new OpRelOpBound("P", minMax, getRelOp(), null); + return new OpRelOpBound("P", minMax); } } diff --git a/prism/src/parser/ast/ExpressionReward.java b/prism/src/parser/ast/ExpressionReward.java index 34f95687..df949682 100644 --- a/prism/src/parser/ast/ExpressionReward.java +++ b/prism/src/parser/ast/ExpressionReward.java @@ -192,7 +192,7 @@ public class ExpressionReward extends ExpressionQuant double boundValue = getBound().evaluateDouble(constantValues); return new OpRelOpBound("R", minMax, getRelOp(), boundValue); } else { - return new OpRelOpBound("R", minMax, getRelOp(), null); + return new OpRelOpBound("R", minMax); } } diff --git a/prism/src/parser/ast/ExpressionSS.java b/prism/src/parser/ast/ExpressionSS.java index 7d224d20..e69b2a29 100644 --- a/prism/src/parser/ast/ExpressionSS.java +++ b/prism/src/parser/ast/ExpressionSS.java @@ -82,7 +82,7 @@ public class ExpressionSS extends ExpressionQuant throw new PrismException("Invalid probability bound " + boundValue + " in P operator"); return new OpRelOpBound("S", minMax, getRelOp(), boundValue); } else { - return new OpRelOpBound("S", minMax, getRelOp(), null); + return new OpRelOpBound("S", minMax); } } diff --git a/prism/src/prism/OpRelOpBound.java b/prism/src/prism/OpRelOpBound.java index 17e14aa0..b9515bef 100644 --- a/prism/src/prism/OpRelOpBound.java +++ b/prism/src/prism/OpRelOpBound.java @@ -14,6 +14,16 @@ public class OpRelOpBound protected boolean numeric; protected double bound; + /** Constructor, no bound */ + public OpRelOpBound(String op, MinMax minMax) + { + this.op = op; + this.minMax = minMax; + this.relOp = RelOp.COMPUTE_VALUES; + numeric = true; + } + + /** Constructor, with relOp and bound */ public OpRelOpBound(String op, MinMax minMax, RelOp relOp, Double boundObject) { this.op = op;