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"
19using ibex::IntervalVector;
20using ibex::IntervalMatrix;
31IntervalVector qinter_projf(
const Array<IntervalVector>& _boxes,
int q);
76class 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) { }
141inline 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)
149inline void SepQInterProjF::set_q(
int q){
150 assert (q >= 0 || q < list.size());
154inline 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