#pragma once #include "storm/models/sparse/Dtmc.h" #include "storm/models/symbolic/Dtmc.h" #include "storm/models/sparse/Mdp.h" #include "storm/models/symbolic/Mdp.h" #include "storm/models/sparse/Ctmc.h" #include "storm/models/symbolic/Ctmc.h" #include "storm/storage/dd/Odd.h" namespace storm { namespace transformer { template std::shared_ptr> transformSymbolicToSparseModel(std::shared_ptr> const& symbolicModel); template class SymbolicDtmcToSparseDtmcTransformer { public: std::shared_ptr> translate(storm::models::symbolic::Dtmc const& symbolicDtmc); storm::dd::Odd const& getOdd() const; private: storm::dd::Odd odd; }; template class SymbolicMdpToSparseMdpTransformer { public: static std::shared_ptr> translate(storm::models::symbolic::Mdp const& symbolicMdp); }; template class SymbolicCtmcToSparseCtmcTransformer { public: static std::shared_ptr> translate(storm::models::symbolic::Ctmc const& symbolicCtmc); }; } }