Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
TopologicalSolverEnvironment.cpp
Go to the documentation of this file.
2
3#include "storm-config.h"
4
6
8
9namespace storm {
10
12 : underlyingEquationSolverType(
13#if defined STORM_HAVE_GMM
14 storm::solver::EquationSolverType::Gmmxx
15#else
16 storm::solver::EquationSolverType::Eigen
17#endif
18 ),
19 underlyingEquationSolverTypeSetFromDefault(true),
20 underlyingMinMaxMethod(storm::solver::MinMaxMethod::ValueIteration),
21 underlyingMinMaxMethodSetFromDefault(true),
22 extendRelevantValues(false) {
23 // Intentionally left empty.
24}
25
29
30storm::solver::EquationSolverType const& TopologicalSolverEnvironment::getUnderlyingEquationSolverType() const {
31 return underlyingEquationSolverType;
32}
33
35 return underlyingEquationSolverTypeSetFromDefault;
36}
37
38void TopologicalSolverEnvironment::setUnderlyingEquationSolverType(storm::solver::EquationSolverType value, bool isSetFromDefault) {
39 STORM_LOG_THROW(value != storm::solver::EquationSolverType::Topological, storm::exceptions::InvalidArgumentException,
40 "Can not use the topological solver as underlying solver of the topological solver.");
41 underlyingEquationSolverTypeSetFromDefault = isSetFromDefault;
42 underlyingEquationSolverType = value;
43}
44
45storm::solver::MinMaxMethod const& TopologicalSolverEnvironment::getUnderlyingMinMaxMethod() const {
46 return underlyingMinMaxMethod;
47}
48
50 return underlyingMinMaxMethodSetFromDefault;
51}
52
53void TopologicalSolverEnvironment::setUnderlyingMinMaxMethod(storm::solver::MinMaxMethod value, bool isSetFromDefault) {
54 STORM_LOG_THROW(value != storm::solver::MinMaxMethod::Topological, storm::exceptions::InvalidArgumentException,
55 "Can not use the topological solver as underlying solver of the topological solver.");
56 underlyingMinMaxMethodSetFromDefault = isSetFromDefault;
57 underlyingMinMaxMethod = value;
58}
59
61 return extendRelevantValues;
62}
63
65 extendRelevantValues = value;
66}
67
68} // namespace storm
void setUnderlyingMinMaxMethod(storm::solver::MinMaxMethod value, bool isSetFromDefault=false)
storm::solver::MinMaxMethod const & getUnderlyingMinMaxMethod() const
storm::solver::EquationSolverType const & getUnderlyingEquationSolverType() const
void setUnderlyingEquationSolverType(storm::solver::EquationSolverType value, bool isSetFromDefault=false)
#define STORM_LOG_THROW(cond, exception, message)
Definition macros.h:39