15 carl::Variable _derivationVar,
39 std::pair<std::set<const ContractionCandidate*>::iterator,
bool> res = _candidates.insert(_candidate);
44 for(
auto symbol: _candidate->
constraint().variables())
48 if( (*candidateIt)->lhs() == symbol )
50 closure(*candidateIt, _candidates);
void closure(const ContractionCandidate *const _candidate, std::set< const ContractionCandidate * > &_candidates) const
Calculates the closure of a certain candidate according to the variables contained.
unsigned mCurrentId
Member variables.
std::vector< ContractionCandidate * > mCandidates
ContractionCandidate * getCandidate(unsigned _id) const
Returns the contraction candidate for the given id.
ContractionCandidate * createCandidate(carl::Variable _lhs, const Poly _rhs, const ConstraintT &_constraint, carl::Variable _derivationVar, Contractor< carl::SimpleNewton > &_contractor, bool _usePropagation)
Constructor & Functions.
ContractionCandidateManager()
Constructors.
const ConstraintT & constraint() const
void print(std::ostream &_out=std::cout) const
carl::Contraction< Operator, Poly > Contractor
Class to create the formulas for axioms.
carl::MultivariatePolynomial< Rational > Poly
carl::Constraint< Poly > ConstraintT