34 #include "carl-formula/bitvector/BVConstraint.h"
35 #include "carl-formula/bitvector/BVConstraintPool.h"
39 template<
typename Settings>
57 return SettingsType::moduleName;
size_t evaluateBVFormula(const FormulaT &formula)
bool addCore(ModuleInput::const_iterator _subformula)
The module has to take the given sub-formula of the received formula into account.
void init()
Informs all backends about the so far encountered constraints, which have not yet been communicated.
void transferBackendModel() const
std::map< std::pair< size_t, size_t >, FormulaT > mFormulasToBlast
bool informCore(const FormulaT &_constraint)
Informs the module about the given constraint.
void removeCore(ModuleInput::const_iterator _subformula)
Removes the subformula of the received formula at the given position to the considered ones of this m...
Answer checkCore()
Checks the received formula for consistency.
BVModule(const ModuleInput *_formula, Conditionals &_conditionals, Manager *_manager=NULL)
std::unordered_map< FormulaT, std::map< std::pair< size_t, size_t >, FormulaT >::iterator > mPositionInFormulasToBlast
std::string moduleName() const
void updateModel() const
Updates the current assignment into the model.
std::unordered_set< FormulaT > mBlastedFormulas
A base class for all kind of theory solving methods.
Class to create the formulas for axioms.
carl::Formula< Poly > FormulaT
const settings::Settings & Settings()
Answer
An enum with the possible answers a Module can give.
std::vector< std::atomic_bool * > Conditionals
A vector of atomic bool pointers.