|
|
@ -0,0 +1,42 @@ |
|
|
|
#pragma once |
|
|
|
|
|
|
|
#include <ostream> |
|
|
|
|
|
|
|
#include "storm/storage/dd/DdType.h" |
|
|
|
|
|
|
|
namespace storm { |
|
|
|
namespace models { |
|
|
|
enum class ModelRepresentation { |
|
|
|
Sparse, DdCudd, DdSylvan |
|
|
|
}; |
|
|
|
std::ostream& operator<<(std::ostream& os, ModelRepresentation const& representation); |
|
|
|
|
|
|
|
template<storm::dd::DdType ddType> |
|
|
|
struct GetModelRepresentation; |
|
|
|
template<> |
|
|
|
struct GetModelRepresentation<storm::dd::DdType::CUDD> { |
|
|
|
static const ModelRepresentation representation = ModelRepresentation::DdCudd; |
|
|
|
}; |
|
|
|
template<> |
|
|
|
struct GetModelRepresentation<storm::dd::DdType::Sylvan> { |
|
|
|
static const ModelRepresentation representation = ModelRepresentation::DdSylvan; |
|
|
|
}; |
|
|
|
|
|
|
|
template<ModelRepresentation representation> |
|
|
|
struct GetDdType; |
|
|
|
template<> |
|
|
|
struct GetDdType<ModelRepresentation::Sparse> { |
|
|
|
static const storm::dd::DdType ddType = storm::dd::DdType::Sylvan; |
|
|
|
}; |
|
|
|
template<> |
|
|
|
struct GetDdType<ModelRepresentation::DdCudd> { |
|
|
|
static const storm::dd::DdType ddType = storm::dd::DdType::CUDD; |
|
|
|
}; |
|
|
|
template<> |
|
|
|
struct GetDdType<ModelRepresentation::DdSylvan> { |
|
|
|
static const storm::dd::DdType ddType = storm::dd::DdType::Sylvan; |
|
|
|
}; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|