31 CARL_LOG_ERROR(
"carl.relation",
"Invalid relation " << std::underlying_type_t<Relation>(r));
32 assert(
false &&
"Invalid relation");
49 CARL_LOG_ERROR(
"carl.relation",
"Invalid relation " << std::underlying_type_t<Relation>(r));
50 assert(
false &&
"Invalid relation");
67 CARL_LOG_ERROR(
"carl.relation",
"Invalid relation " << std::underlying_type_t<Relation>(r));
68 assert(
false &&
"Invalid relation");
95 CARL_LOG_ERROR(
"carl.relation",
"Evaluating invalid sign " << std::underlying_type_t<Sign>(s));
96 assert(
false &&
"Invalid sign");
106 template<
typename T1,
typename T2>
113 return (lhs != rhs) ;
139 return std::size_t(rel);
A small wrapper that configures logging for carl.
#define CARL_LOG_ERROR(channel, msg)
carl is the main namespace for the library.
std::string toString(Relation r)
std::ostream & operator<<(std::ostream &os, const BasicConstraint< Poly > &c)
Prints the given constraint on the given stream.
Sign
This class represents the sign of a number .
@ NEGATIVE
Indicates that .
@ POSITIVE
Indicates that .
bool evaluate(const BasicConstraint< Poly > &c, const Assignment< Number > &m)
bool is_strict(Relation r)
Sign sgn(const Number &n)
Obtain the sign of the given number.
Relation inverse(Relation r)
Inverts the given relation symbol.
Relation turn_around(Relation r)
Turns around the given relation symbol, in the sense that LESS (LEQ) and GREATER (GEQ) are swapped.
std::size_t operator()(const carl::Relation &rel) const