#include "SparseInstantiationModelChecker.h" #include "storm/adapters/RationalFunctionAdapter.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), instantiationsAreGraphPreserving(false) { //Intentionally left empty } template void SparseInstantiationModelChecker::specifyFormula(storm::modelchecker::CheckTask const& checkTask) { currentFormula = checkTask.getFormula().asSharedPointer(); currentCheckTask = std::make_unique>(checkTask.substituteFormula(*currentFormula).template convertValueType()); } template void SparseInstantiationModelChecker::setInstantiationsAreGraphPreserving(bool value) { instantiationsAreGraphPreserving = value; } template bool SparseInstantiationModelChecker::getInstantiationsAreGraphPreserving() const { return instantiationsAreGraphPreserving; } template class SparseInstantiationModelChecker, double>; template class SparseInstantiationModelChecker, double>; template class SparseInstantiationModelChecker, storm::RationalNumber>; template class SparseInstantiationModelChecker, storm::RationalNumber>; } } }