#include "SparseInstantiationModelChecker.h" #include "storm/adapters/CarlAdapter.h" #include "storm/models/sparse/Dtmc.h" #include "storm/models/sparse/Mdp.h" #include "storm/models/sparse/StandardRewardModel.h" #include "storm/exceptions/InvalidArgumentException.h" namespace storm { namespace modelchecker { namespace parametric { template SparseInstantiationModelChecker::SparseInstantiationModelChecker(SparseModelType const& parametricModel) : parametricModel(parametricModel) { //Intentionally left empty } template void SparseInstantiationModelChecker::specifyFormula(storm::modelchecker::CheckTask const& checkTask) { currentFormula = checkTask.getFormula().asSharedPointer(); currentCheckTask = std::make_unique>(*currentFormula, checkTask.isOnlyInitialStatesRelevantSet()); currentCheckTask->setProduceSchedulers(checkTask.isProduceSchedulersSet()); } template storm::modelchecker::ModelCheckerHint& SparseInstantiationModelChecker::getHint() { return currentCheckTask->getHint(); } template storm::modelchecker::ModelCheckerHint const& SparseInstantiationModelChecker::getHint() const { return currentCheckTask->getHint(); } template class SparseInstantiationModelChecker, double>; template class SparseInstantiationModelChecker, double>; } } }