codac 1.5.6
Loading...
Searching...
No Matches
codac_CtcStatic.h
Go to the documentation of this file.
1
12#ifndef __CODAC_CTCSTATIC_H__
13#define __CODAC_CTCSTATIC_H__
14
15#include "codac_Ctc.h"
16#include "codac_DynCtc.h"
17#include "codac_Domain.h"
18
19namespace codac
20{
27 class CtcStatic : public DynCtc
28 {
29 public:
30
38 CtcStatic(Ctc& ibex_ctc, bool temporal_ctc = false);
39
40 /*
41 * \brief Contracts a set of abstract domains
42 *
43 * This method makes the contractor available in the CN framework.
44 *
45 * \param v_domains vector of Domain pointers
46 */
47 void contract(std::vector<Domain*>& v_domains);
48
55
61 void contract(Tube& x1);
62
69 void contract(Tube& x1, Tube& x2);
70
78 void contract(Tube& x1, Tube& x2, Tube& x3);
79
88 void contract(Tube& x1, Tube& x2, Tube& x3, Tube& x4);
89
99 void contract(Tube& x1, Tube& x2, Tube& x3, Tube& x4, Tube& x5);
100
111 void contract(Tube& x1, Tube& x2, Tube& x3, Tube& x4, Tube& x5, Tube& x6);
112
121 void contract(Slice **v_x_slices, int n);
122
123 protected:
124
127
128 static const std::string m_ctc_name;
129 static std::vector<std::string> m_str_expected_doms;
130 friend class ContractorNetwork;
131 };
132}
133
134#endif
Graph of contractors and domains that model a problem in the constraint programming framework....
Definition codac_ContractorNetwork.h:49
Generic static that contracts a tube with some IBEX contractor (for boxes, possibly including time)...
Definition codac_CtcStatic.h:28
Ctc & m_static_ctc
related static contractor
Definition codac_CtcStatic.h:125
void contract(Tube &x1, Tube &x2, Tube &x3, Tube &x4)
static const std::string m_ctc_name
class name (mainly used for CN Exceptions)
Definition codac_CtcStatic.h:128
void contract(Tube &x1)
int m_temporal_ctc
specifies either the temporal tdomain is part of the constraint or not
Definition codac_CtcStatic.h:126
void contract(Tube &x1, Tube &x2, Tube &x3, Tube &x4, Tube &x5)
void contract(Tube &x1, Tube &x2, Tube &x3)
void contract(Tube &x1, Tube &x2, Tube &x3, Tube &x4, Tube &x5, Tube &x6)
void contract(Slice **v_x_slices, int n)
Contracts an array of slices (representing a slice vector)
CtcStatic(Ctc &ibex_ctc, bool temporal_ctc=false)
Creates a static contractor object for tubes.
void contract(TubeVector &x)
void contract(Tube &x1, Tube &x2)
static std::vector< std::string > m_str_expected_doms
allowed domains signatures (mainly used for CN Exceptions)
Definition codac_CtcStatic.h:129
Contractor interface.
Definition codac_DynCtc.h:61
Slice of a one dimensional tube and made of an envelope and two gates.
Definition codac_Slice.h:34
One dimensional tube , defined as an interval of scalar trajectories.
Definition codac_Tube.h:48
n-dimensional tube , defined as an interval of n-dimensional trajectories
Definition codac_TubeVector.h:39
FixPoint of a separator The fixpoint of a separator is computed by calling the "::"separate function ...
Definition codac_capd_helpers.h:9