From b102e6aaf71cdb566b2c73aadde94d3916e31a48 Mon Sep 17 00:00:00 2001 From: Dave Parker Date: Thu, 19 May 2011 08:49:54 +0000 Subject: [PATCH] Missing error messages (in GUI) about unsupported numerical methods. git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@2932 bbc10eb1-c90d-0410-af57-cb519fbb1720 --- prism/src/sparse/PS_ProbReachReward.cc | 2 ++ prism/src/sparse/PS_ProbUntil.cc | 2 ++ prism/src/sparse/PS_StochSteadyState.cc | 2 ++ 3 files changed, 6 insertions(+) diff --git a/prism/src/sparse/PS_ProbReachReward.cc b/prism/src/sparse/PS_ProbReachReward.cc index 72eb27f2..58e0ca0f 100644 --- a/prism/src/sparse/PS_ProbReachReward.cc +++ b/prism/src/sparse/PS_ProbReachReward.cc @@ -133,6 +133,8 @@ jlong __jlongpointer m // 'maybe' states soln = jlong_to_double(Java_sparse_PrismSparse_PS_1SOR(env, cls, ptr_to_jlong(odd), ptr_to_jlong(rvars), num_rvars, ptr_to_jlong(cvars), num_cvars, ptr_to_jlong(a), ptr_to_jlong(state_rewards), ptr_to_jlong(state_rewards), false, false, lin_eq_method_param, true)); break; case LIN_EQ_METHOD_BSOR: soln = jlong_to_double(Java_sparse_PrismSparse_PS_1SOR(env, cls, ptr_to_jlong(odd), ptr_to_jlong(rvars), num_rvars, ptr_to_jlong(cvars), num_cvars, ptr_to_jlong(a), ptr_to_jlong(state_rewards), ptr_to_jlong(state_rewards), false, false, lin_eq_method_param, false)); break; + default: + PS_SetErrorMessage("Pseudo Gauss-Seidel/SOR methods are currently not supported by the sparse engine"); return 0; } // set reward for infinity states to infinity diff --git a/prism/src/sparse/PS_ProbUntil.cc b/prism/src/sparse/PS_ProbUntil.cc index 9e225f2d..c7893f10 100644 --- a/prism/src/sparse/PS_ProbUntil.cc +++ b/prism/src/sparse/PS_ProbUntil.cc @@ -106,6 +106,8 @@ jlong __jlongpointer m // 'maybe' states soln = jlong_to_double(Java_sparse_PrismSparse_PS_1SOR(env, cls, ptr_to_jlong(odd), ptr_to_jlong(rvars), num_rvars, ptr_to_jlong(cvars), num_cvars, ptr_to_jlong(a), ptr_to_jlong(b), ptr_to_jlong(b), false, false, lin_eq_method_param, true)); break; case LIN_EQ_METHOD_BSOR: soln = jlong_to_double(Java_sparse_PrismSparse_PS_1SOR(env, cls, ptr_to_jlong(odd), ptr_to_jlong(rvars), num_rvars, ptr_to_jlong(cvars), num_cvars, ptr_to_jlong(a), ptr_to_jlong(b), ptr_to_jlong(b), false, false, lin_eq_method_param, false)); break; + default: + PS_SetErrorMessage("Pseudo Gauss-Seidel/SOR methods are currently not supported by the sparse engine"); return 0; } // catch exceptions: register error, free memory diff --git a/prism/src/sparse/PS_StochSteadyState.cc b/prism/src/sparse/PS_StochSteadyState.cc index ffeb8f8a..fedc1f86 100644 --- a/prism/src/sparse/PS_StochSteadyState.cc +++ b/prism/src/sparse/PS_StochSteadyState.cc @@ -139,6 +139,8 @@ jint num_cvars soln = jlong_to_double(Java_sparse_PrismSparse_PS_1SOR(env, cls, ptr_to_jlong(odd), ptr_to_jlong(rvars), num_rvars, ptr_to_jlong(cvars), num_cvars, ptr_to_jlong(a), 0, ptr_to_jlong(init), true, true, lin_eq_method_param, true)); break; case LIN_EQ_METHOD_BSOR: soln = jlong_to_double(Java_sparse_PrismSparse_PS_1SOR(env, cls, ptr_to_jlong(odd), ptr_to_jlong(rvars), num_rvars, ptr_to_jlong(cvars), num_cvars, ptr_to_jlong(a), 0, ptr_to_jlong(init), true, true, lin_eq_method_param, false)); break; + default: + PS_SetErrorMessage("Pseudo Gauss-Seidel/SOR methods are currently not supported by the sparse engine"); return 0; } // normalise