19template<
typename ValueType>
25 "Tried to construct a hyperrectangle but the number of given lower bounds does not equal the number of given upper bounds.");
30 "Tried to construct a hyperrectangle but the number of given lower bounds does not equal the number of given upper bounds.");
52 void enlarge(std::vector<ValueType>
const& point) {
54 "Tried to enlarge a hyperrectangle but the dimension of the given point does not match.");
61 std::shared_ptr<Polytope<ValueType>>
asPolytope()
const {
63 "Tried to construct a polytope form a hyperrectangle but the numbers of given lower and upper bounds do not match.");
64 std::vector<Halfspace<ValueType>> halfspaces;
70 halfspaces.emplace_back(std::move(direction), std::move(offset));
75 halfspaces.emplace_back(std::move(direction), std::move(offset));
81 std::vector<ValueType> mLowerBounds;
82 std::vector<ValueType> mUpperBounds;
Hyperrectangle(std::vector< ValueType > const &lowerBounds, std::vector< ValueType > const &upperBounds)
void enlarge(std::vector< ValueType > const &point)
std::vector< ValueType > const & lowerBounds() const
std::shared_ptr< Polytope< ValueType > > asPolytope() const
std::vector< ValueType > const & upperBounds() const
std::vector< ValueType > & upperBounds()
std::vector< ValueType > & lowerBounds()
Hyperrectangle(std::vector< ValueType > &&lowerBounds, std::vector< ValueType > &&upperBounds)
static std::shared_ptr< Polytope< ValueType > > create(std::vector< Halfspace< ValueType > > const &halfspaces)
Creates a polytope from the given halfspaces.
#define STORM_LOG_THROW(cond, exception, message)