#ifndef STORM_ADAPTERS_HYPROADAPTER_H_ #define STORM_ADAPTERS_HYPROADAPTER_H_ // Include config to know whether HyPro is available or not. #include "storm-config.h" #ifdef STORM_HAVE_HYPRO #include #include #include #include #include "src/adapters/CarlAdapter.h" #include "src/storage/geometry/HalfSpace.h" namespace storm { namespace adapters { template std::vector fromHypro(hypro::vector_t const& v) { return std::vector(v.data(), v.data() + v.rows()); } template hypro::vector_t toHypro(std::vector const& v) { return hypro::vector_t::Map(v.data(), v.size()); } template hypro::Halfspace toHypro(storm::storage::geometry::Halfspace const& h){ T offset = h.offset(); return hypro::Halfspace(toHypro(h.normalVector()), std::move(offset)); } template storm::storage::geometry::Halfspace fromHypro(hypro::Halfspace const& h){ T offset = h.offset(); return storm::storage::geometry::Halfspace(fromHypro(h.normal()), std::move(offset)); } } } #endif //STORM_HAVE_HYPRO #endif /* STORM_ADAPTERS_HYPROADAPTER_H_ */