carl
24.04
Computer ARithmetic Library
|
Namespaces | |
detail | |
Data Structures | |
class | Term |
struct | zero |
A square root expression with side conditions. More... | |
Typedefs | |
template<typename Poly > | |
using | ConstraintConjunction = std::vector< Constraint< Poly > > |
a vector of constraints More... | |
template<typename Poly > | |
using | CaseDistinction = std::vector< ConstraintConjunction< Poly > > |
a vector of vectors of constraints More... | |
Enumerations | |
enum class | TermType { NORMAL , PLUS_EPSILON , MINUS_INFINITY , PLUS_INFINITY } |
Functions | |
template<typename Poly > | |
bool | simplify_inplace (CaseDistinction< Poly > &cases) |
Simplifies the case distinction in place. More... | |
template<typename Poly > | |
std::optional< CaseDistinction< Poly > > | substitute (const Constraint< Poly > &cons, const Variable var, const Term< Poly > &term) |
Applies a substitution to a constraint. More... | |
template<typename Poly > | |
static std::optional< std::variant< CaseDistinction< Poly >, VariableComparison< Poly > > > | substitute (const VariableComparison< Poly > &varcomp, const Variable var, const Term< Poly > &term) |
Applies a substitution to a variable comparison. More... | |
template<class Poly > | |
std::ostream & | operator<< (std::ostream &os, const Term< Poly > &s) |
template<typename Poly > | |
std::ostream & | operator<< (std::ostream &out, const zero< Poly > &z) |
template<typename Poly > | |
static bool | gather_zeros (const Constraint< Poly > &constraint, const Variable &eliminationVar, std::vector< zero< Poly >> &results) |
Gathers zeros with side conditions from the given constraint in the given variable. More... | |
template<typename Poly > | |
static bool | gather_zeros (const VariableComparison< Poly > &varcomp, const Variable &eliminationVar, std::vector< zero< Poly >> &results) |
using carl::vs::CaseDistinction = typedef std::vector<ConstraintConjunction<Poly> > |
a vector of vectors of constraints
Definition at line 29 of file substitute.h.
using carl::vs::ConstraintConjunction = typedef std::vector<Constraint<Poly> > |
a vector of constraints
Definition at line 26 of file substitute.h.
|
strong |
|
static |
|
static |
std::ostream& carl::vs::operator<< | ( | std::ostream & | os, |
const Term< Poly > & | s | ||
) |
std::ostream& carl::vs::operator<< | ( | std::ostream & | out, |
const zero< Poly > & | z | ||
) |
|
inline |
Simplifies the case distinction in place.
Poly | Polynomial type. |
cases | Case distiction to simplify. |
Definition at line 360 of file substitute.h.
|
inline |
Applies a substitution to a constraint.
cons | The constraint to substitute in. |
subs | The substitution to apply. |
Definition at line 375 of file substitute.h.
|
static |
Applies a substitution to a variable comparison.
varcomp | The variable comparison to substitute in. |
subs | The substitution to apply. |
Definition at line 401 of file substitute.h.