11 #ifndef __IBEX_CTC_Q_INTER_2_H__
12 #define __IBEX_CTC_Q_INTER_2_H__
16 #include "ibex_Array.h"
17 #include "ibex_IntervalMatrix.h"
19 using ibex::IntervalVector;
20 using ibex::IntervalMatrix;
31 IntervalVector qinter_projf(
const Array<IntervalVector>& _boxes,
int q);
76 class SepQInterProjF :
public Sep {
85 SepQInterProjF(
const Array<Sep>& list,
int q = 0);
94 virtual void separate(IntervalVector& xin, IntervalVector& xout);
120 IntervalMatrix boxes_in;
124 IntervalMatrix boxes_out;
139 Ctc(list), list(list), q(q), boxes(list.size(), nb_var) { }
141 inline SepQInterProjF::SepQInterProjF(
const Array<Sep>& list,
int q) :
144 boxes_in(list.size(), list[0].nb_var),
145 boxes_out(list.size(), list[0].nb_var)
149 inline void SepQInterProjF::set_q(
int q){
150 assert (q >= 0 || q < list.size());
154 inline int SepQInterProjF::get_q(){
return q; }
Q-intersection contractor.
Definition: codac_QInterProjF.h:38
IntervalMatrix boxes
store boxes for each contraction
Definition: codac_QInterProjF.h:72
Array< Ctc > list
Definition: codac_QInterProjF.h:59
int q
The number of contractors we have to intersect the result.
Definition: codac_QInterProjF.h:65
CtcQInterProjF(const Array< Ctc > &list, int q)
q-intersection on a list of contractors.
Definition: codac_QInterProjF.h:138
virtual void contract(IntervalVector &box)
Contract the box.
FixPoint of a separator The fixpoint of a separator is computed by calling the "::"separate function ...
Definition: codac_capd_helpers.h:9