|
dReal4
|
Public Types | |
| enum | Kind { ID, INTEGER, SEQ, IBEX_FWDBWD, IBEX_POLYTOPE, FIXPOINT, WORKLIST_FIXPOINT, FORALL, JOIN } |
Public Member Functions | |
| Contractor (const Config &config) | |
| Contractor (const Contractor &)=default | |
| Default copy constructor. | |
| Contractor (Contractor &&)=default | |
| Default move constructor. | |
| Contractor & | operator= (const Contractor &)=default |
| Default copy assign operator. | |
| Contractor & | operator= (Contractor &&)=default |
| Default move assign operator. | |
| ~Contractor ()=default | |
| Default destructor. | |
| const DynamicBitset & | input () const |
| Returns the input vector of this contractor. More... | |
| void | Prune (ContractorStatus *cs) const |
Prunes cs. | |
| Kind | kind () const |
| Returns kind. | |
| bool | include_forall () const |
| Returns true if this contractor includes a forall contractor. | |
| void | set_include_forall () |
| Sets include_forall true. | |
Friends | |
| std::ostream & | operator<< (std::ostream &os, Contractor const &ctc) |
| Contractor | make_contractor_id (const Config &config) |
| Returns an idempotent contractor. More... | |
| Contractor | make_contractor_integer (const Box &box, const Config &config) |
| Returns an integer contractor. More... | |
| Contractor | make_contractor_seq (const std::vector< Contractor > &contractors, const Config &config) |
Returns a sequential contractor C from a vector of contractors vec = [C₁, ..., Cₙ]. More... | |
| Contractor | make_contractor_ibex_fwdbwd (Formula f, const Box &box, const Config &config) |
| Returns a contractor wrapping IBEX's forward/backward contractor. More... | |
| Contractor | make_contractor_ibex_polytope (std::vector< Formula > formulas, const Box &box, const Config &config) |
| Returns a contractor wrapping IBEX's polytope contractor. More... | |
| Contractor | make_contractor_fixpoint (TerminationCondition term_cond, const std::vector< Contractor > &contractors, const Config &config) |
| Returns a fixed-point contractor. More... | |
| Contractor | make_contractor_worklist_fixpoint (TerminationCondition term_cond, const std::vector< Contractor > &contractors, const Config &config) |
| Returns a worklist fixed-point contractor. More... | |
| template<typename ContextType > | |
| Contractor | make_contractor_forall (Formula f, const Box &box, double epsilon, double inner_delta, const Config &config) |
| Returns a forall contractor. More... | |
| Contractor | make_contractor_join (std::vector< Contractor > vec, const Config &config) |
| Returns a join contractor. More... | |
| std::shared_ptr< ContractorId > | to_id (const Contractor &contractor) |
Converts contractor to ContractorId. | |
| std::shared_ptr< ContractorInteger > | to_integer (const Contractor &contractor) |
Converts contractor to ContractorInteger. | |
| std::shared_ptr< ContractorSeq > | to_seq (const Contractor &contractor) |
Converts contractor to ContractorSeq. | |
| std::shared_ptr< ContractorIbexFwdbwd > | to_ibex_fwdbwd (const Contractor &contractor) |
Converts contractor to ContractorIbexFwdbwd. | |
| std::shared_ptr< ContractorIbexPolytope > | to_ibex_polytope (const Contractor &contractor) |
Converts contractor to ContractorIbexPolytop. | |
| std::shared_ptr< ContractorFixpoint > | to_fixpoint (const Contractor &contractor) |
Converts contractor to ContractorFixpoint. | |
| std::shared_ptr< ContractorWorklistFixpoint > | to_worklist_fixpoint (const Contractor &contractor) |
Converts contractor to ContractorWorklistFixpoint. | |
| std::shared_ptr< ContractorJoin > | to_join (const Contractor &contractor) |
Converts contractor to ContractorJoin. | |
| template<typename ContextType > | |
| std::shared_ptr< ContractorForall< ContextType > > | to_forall (const Contractor &contractor) |
Converts contractor to ContractorForall. | |
| const DynamicBitset & input | ( | ) | const |
Returns the input vector of this contractor.
input()[i] = true means that this contractor depends on the value of box[i].
|
friend |
Returns a fixed-point contractor.
The returned contractor applies the contractors in vec sequentially until term_cond is met.
|
friend |
Returns a forall contractor.
dreal/contractor/contractor_forall.h file.
|
friend |
Returns a contractor wrapping IBEX's forward/backward contractor.
If the number of jobs (in config) > 1, it creates a multi-threaded version of the contractor, which is based on ContractorIbexFwdbwdMt. Otherwise, it creates an instance of ContractorIbexFwdbwd.
|
friend |
Returns a contractor wrapping IBEX's polytope contractor.
If then number of jobs (in config) > 1, it creates a multi-threaded version of the contractor, which is based on ContractorIbexPolytopeMt. Otherwise, it creates an instance of ContractorIbexPolytope.
|
friend |
Returns an idempotent contractor.
|
friend |
Returns an integer contractor.
For an integer variable v, it prunes b[v] = [lb, ub] into [ceil(lb), floor(ub)]. It sets the box empty if it detects an empty interval in pruning.
|
friend |
Returns a join contractor.
The returned contractor does the following operation:
(C₁ ∨ ... ∨ Cₙ)(box) = C₁(box) ∨ ... ∨ Cₙ(box).
|
friend |
Returns a sequential contractor C from a vector of contractors vec = [C₁, ..., Cₙ].
It applies Cᵢ sequentially. That is, we have:
C(box) = (Cₙ∘...∘C₁)(box)
|
friend |
Returns a worklist fixed-point contractor.
The returned contractor applies the contractors in vec sequentially until term_cond is met.