20 template<
class T1,
class T2>
24 template<
typename T1,
typename T2>
31 template<
typename T1,
typename T2>
39 typedef carl::PointerSet<Bound<T1, T2>>
BoundSet;
210 void print(
bool _withOrigins =
false, std::ostream& _out = std::cout,
bool _printTypebool =
false )
const;
346 assert( _constraint.type() == carl::FormulaType::CONSTRAINT && _constraint.constraint().relation() == carl::Relation::NEQ );
385 const std::shared_ptr<std::vector<FormulaT>>&
pOrigins()
const
459 return !((*this) < v);
467 return !((*this) > v);
Stores a bound, which could be an upper "<= b" or a lower bound ">= b" for a bound value b.
bool operator==(const Value< T1 > &_value) const
void setComplement(const Bound< T1, T2 > *_complement) const
bool isComplementActive() const
bool markedAsDeleted() const
bool operator>=(const T1 &_a) const
bool operator<(const Value< T1 > &_value) const
bool operator>(const Value< T1 > &_value) const
const std::vector< FormulaT > & origins() const
const Value< T1 > & limit() const
const Value< T1 > * pLimit() const
const Variable< T1, T2 > & variable() const
bool isSatisfied(const T1 &_delta) const
bool isUpperBound() const
const Value< T1 > * mLimit
void resetNeqRepresentation() const
const FormulaT & asConstraint() const
carl::PointerSet< Bound< T1, T2 > > BoundSet
A set of pointer to bounds.
bool isLowerBound() const
bool operator<=(const T1 &_a) const
const std::shared_ptr< std::vector< FormulaT > > & pOrigins() const
friend std::ostream & operator<<(std::ostream &_ostream, const Bound< T3, T4 > &_bound)
void print(bool _withOrigins=false, std::ostream &_out=std::cout, bool _printTypebool=false) const
bool hasNeqRepresentation() const
const FormulaT & neqRepresentation() const
void setNeqRepresentation(const FormulaT &_constraint) const
const std::string toString() const
void markAsDeleted() const
Variable< T1, T2 > * pVariable() const
void unmarkAsDeleted() const
Bound(const Value< T1 > *const _limit, Variable< T1, T2 > *const _var, Type _type, const FormulaT &_constraint, Bound< T1, T2 >::Info *_boundInfo=NULL, bool _deduced=false)
Type
The type of the bound: LOWER = ">=", UPPER = "<=", EQUAL "==".
Variable< T1, T2 > *const mVar
std::shared_ptr< std::vector< FormulaT > > mpOrigins
bool isUnassigned() const
const T & deltaPart() const
const T & mainPart() const
Class to create the formulas for axioms.
carl::Formula< Poly > FormulaT
Stores some additional information for a bound.
FormulaT neqRepresentation
If this bound corresponds to a constraint being p<0 or p>0 for a polynomial p, we store here the cons...
Info(ModuleInput::iterator _position)
int updated
A value to store the information whether this bounds constraint has already been processed (=0),...
const Bound< T1, T2 > * complement
ModuleInput::iterator position
The position of this bounds constraint in a formula, if it has been processed already.
bool exists
A flag which is only false, if this bound has been created for a constraint having !...