#include "storm/models/symbolic/DeterministicModel.h" #include "storm/storage/dd/DdManager.h" #include "storm/storage/dd/Add.h" #include "storm/storage/dd/Bdd.h" #include "storm/models/symbolic/StandardRewardModel.h" #include "storm/adapters/RationalFunctionAdapter.h" namespace storm { namespace models { namespace symbolic { template DeterministicModel::DeterministicModel(storm::models::ModelType const& modelType, std::shared_ptr> manager, storm::dd::Bdd reachableStates, storm::dd::Bdd initialStates, storm::dd::Bdd deadlockStates, storm::dd::Add transitionMatrix, std::set const& rowVariables, std::shared_ptr> rowExpressionAdapter, std::set const& columnVariables, std::vector> const& rowColumnMetaVariablePairs, std::map labelToExpressionMap, std::unordered_map const& rewardModels) : Model(modelType, manager, reachableStates, initialStates, deadlockStates, transitionMatrix, rowVariables, rowExpressionAdapter, columnVariables, rowColumnMetaVariablePairs, labelToExpressionMap, rewardModels) { // Intentionally left empty. } template DeterministicModel::DeterministicModel(storm::models::ModelType const& modelType, std::shared_ptr> manager, storm::dd::Bdd reachableStates, storm::dd::Bdd initialStates, storm::dd::Bdd deadlockStates, storm::dd::Add transitionMatrix, std::set const& rowVariables, std::set const& columnVariables, std::vector> const& rowColumnMetaVariablePairs, std::map> labelToBddMap, std::unordered_map const& rewardModels) : Model(modelType, manager, reachableStates, initialStates, deadlockStates, transitionMatrix, rowVariables, columnVariables, rowColumnMetaVariablePairs, labelToBddMap, rewardModels) { // Intentionally left empty. } template void DeterministicModel::reduceToStateBasedRewards() { for (auto& rewardModel : this->getRewardModels()) { rewardModel.second.reduceToStateBasedRewards(this->getTransitionMatrix(), this->getRowVariables(), this->getColumnVariables(), true); } } // Explicitly instantiate the template class. template class DeterministicModel; template class DeterministicModel; template class DeterministicModel; template class DeterministicModel; } // namespace symbolic } // namespace models } // namespace storm