You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
152 lines
5.1 KiB
152 lines
5.1 KiB
#ifndef STORM_SETTINGS_MODULES_CoreSettings_H_
|
|
#define STORM_SETTINGS_MODULES_CoreSettings_H_
|
|
|
|
#include "storm-config.h"
|
|
#include "storm/settings/modules/ModuleSettings.h"
|
|
|
|
#include "storm/builder/ExplorationOrder.h"
|
|
#include "storm/utility/Engine.h"
|
|
|
|
namespace storm {
|
|
namespace solver {
|
|
enum class EquationSolverType;
|
|
enum class LpSolverType;
|
|
enum class MinMaxMethod;
|
|
enum class SmtSolverType;
|
|
}
|
|
|
|
namespace dd {
|
|
enum class DdType;
|
|
}
|
|
|
|
namespace settings {
|
|
namespace modules {
|
|
|
|
/*!
|
|
* This class represents the core settings.
|
|
*/
|
|
class CoreSettings : public ModuleSettings {
|
|
public:
|
|
|
|
/*!
|
|
* Creates a new set of core settings.
|
|
*/
|
|
CoreSettings();
|
|
|
|
/*!
|
|
* Retrieves the selected equation solver.
|
|
*
|
|
* @return The selected convergence criterion.
|
|
*/
|
|
storm::solver::EquationSolverType getEquationSolver() const;
|
|
|
|
/*!
|
|
* Retrieves whether a equation solver has been set.
|
|
*
|
|
* @return True iff an equation solver has been set.
|
|
*/
|
|
bool isEquationSolverSet() const;
|
|
|
|
/*!
|
|
* Retrieves whether the equation solver has been set from its default value.
|
|
*
|
|
* @return True iff it has been set from its default value.
|
|
*/
|
|
bool isEquationSolverSetFromDefaultValue() const;
|
|
|
|
/*!
|
|
* Retrieves the selected LP solver.
|
|
*
|
|
* @return The selected LP solver.
|
|
*/
|
|
storm::solver::LpSolverType getLpSolver() const;
|
|
|
|
/*!
|
|
* Retrieves whether the lp solver has been set from its default value.
|
|
*
|
|
* @return True iff it has been set from its default value.
|
|
*/
|
|
bool isLpSolverSetFromDefaultValue() const;
|
|
|
|
/*!
|
|
* Retrieves the selected SMT solver.
|
|
*
|
|
* @return The selected SMT solver.
|
|
*/
|
|
storm::solver::SmtSolverType getSmtSolver() const;
|
|
|
|
/*!
|
|
* Retrieves the selected library for DD-related operations.
|
|
*
|
|
* @return The selected library.
|
|
*/
|
|
storm::dd::DdType getDdLibraryType() const;
|
|
|
|
/*!
|
|
* Retrieves whether the selected DD library is set from its default value.
|
|
*
|
|
* @return True iff if it is set from its default value.
|
|
*/
|
|
bool isDdLibraryTypeSetFromDefaultValue() const;
|
|
|
|
/*!
|
|
* Retrieves whether statistics are to be shown
|
|
*
|
|
* @return True iff statistics are to be shown
|
|
*/
|
|
bool isShowStatisticsSet() const;
|
|
|
|
/*!
|
|
* Retrieves whether the option to use Intel TBB is set.
|
|
*
|
|
* @return True iff the option was set.
|
|
*/
|
|
bool isUseIntelTbbSet() const;
|
|
|
|
/*!
|
|
* Retrieves whether the option to use CUDA is set.
|
|
*
|
|
* @return True iff the option was set.
|
|
*/
|
|
bool isUseCudaSet() const;
|
|
|
|
/*!
|
|
* Retrieves the selected engine.
|
|
*
|
|
* @return The selected engine.
|
|
*/
|
|
storm::utility::Engine getEngine() const;
|
|
|
|
/*!
|
|
* Sets the engine for further usage.
|
|
*/
|
|
void setEngine(storm::utility::Engine const& engine);
|
|
|
|
bool check() const override;
|
|
void finalize() override;
|
|
|
|
// The name of the module.
|
|
static const std::string moduleName;
|
|
|
|
private:
|
|
storm::utility::Engine engine;
|
|
|
|
// Define the string names of the options as constants.
|
|
static const std::string eqSolverOptionName;
|
|
static const std::string lpSolverOptionName;
|
|
static const std::string smtSolverOptionName;
|
|
static const std::string statisticsOptionName;
|
|
static const std::string statisticsOptionShortName;
|
|
static const std::string engineOptionName;
|
|
static const std::string engineOptionShortName;
|
|
static const std::string ddLibraryOptionName;
|
|
static const std::string intelTbbOptionName;
|
|
static const std::string intelTbbOptionShortName;
|
|
static const std::string cudaOptionName;
|
|
};
|
|
|
|
} // namespace modules
|
|
} // namespace settings
|
|
} // namespace storm
|
|
|
|
#endif /* STORM_SETTINGS_MODULES_CoreSettings_H_ */
|