carl  24.04
Computer ARithmetic Library
VariableComparison.h File Reference
Include dependency graph for VariableComparison.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  carl::VariableComparison< Poly >
 Represent a sum type/variant of an (in)equality between a variable on the left-hand side and multivariateRoot or algebraic real on the right-hand side. More...
 
struct  std::hash< carl::VariableComparison< Pol > >
 

Namespaces

 carl
 carl is the main namespace for the library.
 

Functions

template<typename Poly , std::enable_if_t<!needs_context_type< Poly >::value, bool > = true>
std::optional< BasicConstraint< Poly > > carl::as_constraint (const VariableComparison< Poly > &f)
 Convert this variable comparison "v < root(..)" into a simpler polynomial (in)equality against zero "p(..) < 0" if that is possible. More...
 
template<typename Poly , std::enable_if_t<!needs_context_type< Poly >::value, bool > = true>
Poly carl::defining_polynomial (const VariableComparison< Poly > &f)
 Return a polynomial containing the lhs-variable that has a same root for the this lhs-variable as the value that rhs represent, e.g. More...
 
template<typename Poly >
boost::tribool carl::evaluate (const VariableComparison< Poly > &f, const Assignment< typename VariableComparison< Poly >::RAN > &a, bool evaluate_non_welldef=false)
 
template<typename Pol >
void carl::variables (const VariableComparison< Pol > &f, carlVariables &vars)
 
template<typename Poly >
bool carl::operator== (const VariableComparison< Poly > &lhs, const VariableComparison< Poly > &rhs)
 
template<typename Poly >
bool carl::operator< (const VariableComparison< Poly > &lhs, const VariableComparison< Poly > &rhs)
 
template<typename Poly >
std::ostream & carl::operator<< (std::ostream &os, const VariableComparison< Poly > &vc)