From 054c2a906eceec65280ff6f258eeb002aba8fcd3 Mon Sep 17 00:00:00 2001 From: Alexander Bork Date: Wed, 18 Mar 2020 14:45:38 +0100 Subject: [PATCH] Fixed wrong error when over- and under-approximation values are equal --- src/storm-pomdp/modelchecker/ApproximatePOMDPModelchecker.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/storm-pomdp/modelchecker/ApproximatePOMDPModelchecker.cpp b/src/storm-pomdp/modelchecker/ApproximatePOMDPModelchecker.cpp index 16d7f8b71..ce37e0f0c 100644 --- a/src/storm-pomdp/modelchecker/ApproximatePOMDPModelchecker.cpp +++ b/src/storm-pomdp/modelchecker/ApproximatePOMDPModelchecker.cpp @@ -217,7 +217,8 @@ namespace storm { res = computeRefinementStep(targetObservations, min, observationResolutionVector, false, res, changedObservations, initialOverApproxMap, underApproxMap, underApproxModelSize); //storm::api::exportSparseModelAsDot(res->overApproxModelPtr, "oa_model_" + std::to_string(refinementCounter +1) + ".dot"); - STORM_LOG_ERROR_COND(cc.isLess(res->underApproxValue, res->overApproxValue), "The value for the under-approximation is larger than the value for the over-approximation."); + STORM_LOG_ERROR_COND(cc.isLess(res->underApproxValue, res->overApproxValue) || cc.isEqual(res->underApproxValue, res->overApproxValue), + "The value for the under-approximation is larger than the value for the over-approximation."); if (res->overApproxValue - res->underApproxValue <= options.refinementPrecision) { break; }