codac 1.5.6
Loading...
Searching...
No Matches
codac_CtcDeriv.h
Go to the documentation of this file.
1
12#ifndef __CODAC_CTCDERIV_H__
13#define __CODAC_CTCDERIV_H__
14
15#include "codac_DynCtc.h"
16#include "codac_Slice.h"
17#include "codac2_Tube.h"
18
19namespace codac
20{
21 class Domain;
22
30 class CtcDeriv : public DynCtc
31 {
32 public:
33
38
39 /*
40 * \brief Contracts a set of abstract domains
41 *
42 * This method makes the contractor available in the CN framework.
43 *
44 * \param v_domains vector of Domain pointers
45 */
46 void contract(std::vector<Domain*>& v_domains);
47
60
73 void contract(codac2::Tube<Interval>& x, const codac2::Tube<Interval>& v, TimePropag t_propa = TimePropag::FORWARD | TimePropag::BACKWARD);
74 void contract(codac2::Tube<IntervalVector>& xv, TimePropag t_propa = TimePropag::FORWARD | TimePropag::BACKWARD);
75 void contract(codac2::Tube<IntervalVector>& x, int i, codac2::Tube<IntervalVector>& v, int j, TimePropag t_propa = TimePropag::FORWARD | TimePropag::BACKWARD);
76
89
90 protected:
91
103 void contract_gates(Slice& x, const Slice& v);
104
105 friend class CtcEval; // contract_gates used by CtcEval
106
107 static const std::string m_ctc_name;
108 static std::vector<std::string> m_str_expected_doms;
109 friend class ContractorNetwork;
110 };
111}
112
113#endif
Graph of contractors and domains that model a problem in the constraint programming framework....
Definition codac_ContractorNetwork.h:49
that contracts a tube with respect to its derivative tube according to the constraint
Definition codac_CtcDeriv.h:31
void contract(Slice &x, const Slice &v, TimePropag t_propa=TimePropag::FORWARD|TimePropag::BACKWARD)
: contracts the slice with respect to its derivative .
CtcDeriv()
Creates a contractor object .
void contract(TubeVector &x, const TubeVector &v, TimePropag t_propa=TimePropag::FORWARD|TimePropag::BACKWARD)
: contracts the tube with respect to its derivative .
static std::vector< std::string > m_str_expected_doms
allowed domains signatures (mainly used for CN Exceptions)
Definition codac_CtcDeriv.h:108
void contract(Tube &x, const Tube &v, TimePropag t_propa=TimePropag::FORWARD|TimePropag::BACKWARD)
: contracts the tube with respect to its derivative .
void contract_gates(Slice &x, const Slice &v)
Contracts input and output gates of a slice regarding its derivative set.
static const std::string m_ctc_name
class name (mainly used for CN Exceptions)
Definition codac_CtcDeriv.h:107
that contracts a tube with respect to its derivative tube and a measurement according to the const...
Definition codac_CtcEval.h:27
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
TimePropag
Specifies the temporal propagation way (forward or backward in time)
Definition codac_DynCtc.h:27
@ BACKWARD
backward in time (from to )
@ FORWARD
forward in time (from to )