codac
Public Member Functions | List of all members
codac::CtcFunction Class Reference

Generic static \(\mathcal{C}\) that contracts a box \([\mathbf{x}]\) or a tube \([\mathbf{x}](\cdot)\) according to the constraint \(\mathbf{f}(\mathbf{x})=\mathbf{0}\) or \(\mathbf{f}(\mathbf{x})\in[\mathbf{y}]\). It stands on the CtcFwdBwd of IBEX (HC4Revise). More...

#include <codac_CtcFunction.h>

Inherits CtcFwdBwd.

Public Member Functions

 CtcFunction (const Function &f)
 Creates a contractor for the constraint \(\mathbf{f}(\mathbf{x})=\mathbf{0}\). More...
 
 CtcFunction (const Function &f, const ibex::Domain &y)
 Creates a contractor for the constraint \(\mathbf{f}(\mathbf{x})\in[\mathbf{y}]\) where \([\mathbf{y}]\) is a ibex::Domain object. More...
 
 CtcFunction (const Function &f, const Interval &y)
 Creates a contractor for the constraint \(f(\mathbf{x})\in[y]\) for the scalar case. More...
 
 CtcFunction (const Function &f, const IntervalVector &y)
 Creates a contractor for the constraint \(\mathbf{f}(\mathbf{x})\in[\mathbf{y}]\) for the vectorial case. More...
 
void contract (IntervalVector &x)
 \(\mathcal{C}\big([\mathbf{x}]\big)\) More...
 
void contract (TubeVector &x)
 \(\mathcal{C}\big([\mathbf{x}](\cdot)\big)\) More...
 
void contract (Tube &x1)
 \(\mathcal{C}\big([x_1](\cdot)\big)\) More...
 
void contract (Tube &x1, Tube &x2)
 \(\mathcal{C}\big([x_1](\cdot),[x_2](\cdot)\big)\) More...
 
void contract (Tube &x1, Tube &x2, Tube &x3)
 \(\mathcal{C}\big([x_1](\cdot),[x_2](\cdot),[x_3](\cdot)\big)\) More...
 
void contract (Tube &x1, Tube &x2, Tube &x3, Tube &x4)
 \(\mathcal{C}\big([x_1](\cdot),[x_2](\cdot),[x_3](\cdot),[x_4](\cdot)\big)\) More...
 
void contract (Tube &x1, Tube &x2, Tube &x3, Tube &x4, Tube &x5)
 \(\mathcal{C}\big([x_1](\cdot),[x_2](\cdot),[x_3](\cdot),[x_4](\cdot),[x_5](\cdot)\big)\) More...
 
void contract (Tube &x1, Tube &x2, Tube &x3, Tube &x4, Tube &x5, Tube &x6)
 \(\mathcal{C}\big([x_1](\cdot),[x_2](\cdot),[x_3](\cdot),[x_4](\cdot),[x_5](\cdot),[x_6](\cdot)\big)\) More...
 
void contract (Tube &x1, Tube &x2, Tube &x3, Tube &x4, Tube &x5, Tube &x6, Tube &x7)
 \(\mathcal{C}\big([x_1](\cdot),[x_2](\cdot),[x_3](\cdot),[x_4](\cdot),[x_5](\cdot),[x_6](\cdot),[x_7](\cdot)\big)\) More...
 
void contract (Tube &x1, Tube &x2, Tube &x3, Tube &x4, Tube &x5, Tube &x6, Tube &x7, Tube &x8)
 \(\mathcal{C}\big([x_1](\cdot),[x_2](\cdot),[x_3](\cdot),[x_4](\cdot),[x_5](\cdot),[x_6](\cdot),[x_7](\cdot),[x_8](\cdot)\big)\) More...
 
void contract (Tube &x1, Tube &x2, Tube &x3, Tube &x4, Tube &x5, Tube &x6, Tube &x7, Tube &x8, Tube &x9)
 \(\mathcal{C}\big([x_1](\cdot),[x_2](\cdot),[x_3](\cdot),[x_4](\cdot),[x_5](\cdot),[x_6](\cdot),[x_7](\cdot),[x_8](\cdot),[x_9](\cdot)\big)\) More...
 
void contract (Tube &x1, Tube &x2, Tube &x3, Tube &x4, Tube &x5, Tube &x6, Tube &x7, Tube &x8, Tube &x9, Tube &x10)
 \(\mathcal{C}\big([x_1](\cdot),[x_2](\cdot),[x_3](\cdot),[x_4](\cdot),[x_5](\cdot),[x_6](\cdot),[x_7](\cdot),[x_8](\cdot),[x_9](\cdot),[x_10](\cdot)\big)\) More...
 
void contract (Slice **v_x_slices)
 Contracts an array of slices (representing a slice vector) More...
 

Detailed Description

Generic static \(\mathcal{C}\) that contracts a box \([\mathbf{x}]\) or a tube \([\mathbf{x}](\cdot)\) according to the constraint \(\mathbf{f}(\mathbf{x})=\mathbf{0}\) or \(\mathbf{f}(\mathbf{x})\in[\mathbf{y}]\). It stands on the CtcFwdBwd of IBEX (HC4Revise).

Constructor & Destructor Documentation

◆ CtcFunction() [1/4]

codac::CtcFunction::CtcFunction ( const Function &  f)

Creates a contractor for the constraint \(\mathbf{f}(\mathbf{x})=\mathbf{0}\).

Parameters
fthe function \(\mathbf{f}\)

◆ CtcFunction() [2/4]

codac::CtcFunction::CtcFunction ( const Function &  f,
const ibex::Domain &  y 
)

Creates a contractor for the constraint \(\mathbf{f}(\mathbf{x})\in[\mathbf{y}]\) where \([\mathbf{y}]\) is a ibex::Domain object.

Parameters
fthe function \(\mathbf{f}\)
ythe ibex::Domain object

◆ CtcFunction() [3/4]

codac::CtcFunction::CtcFunction ( const Function &  f,
const Interval &  y 
)

Creates a contractor for the constraint \(f(\mathbf{x})\in[y]\) for the scalar case.

Parameters
fthe function \(f\)
ythe interval \([y]\)

◆ CtcFunction() [4/4]

codac::CtcFunction::CtcFunction ( const Function &  f,
const IntervalVector &  y 
)

Creates a contractor for the constraint \(\mathbf{f}(\mathbf{x})\in[\mathbf{y}]\) for the vectorial case.

Parameters
fthe function \(\mathbf{f}\)
ythe IntervalVector \([\mathbf{y}]\)

Member Function Documentation

◆ contract() [1/13]

void codac::CtcFunction::contract ( IntervalVector &  x)

\(\mathcal{C}\big([\mathbf{x}]\big)\)

Parameters
xthe n-dimensional box \([\mathbf{x}]\) to be contracted

◆ contract() [2/13]

void codac::CtcFunction::contract ( TubeVector x)

\(\mathcal{C}\big([\mathbf{x}](\cdot)\big)\)

Parameters
xthe n-dimensional tube \([\mathbf{x}](\cdot)\) to be contracted

◆ contract() [3/13]

void codac::CtcFunction::contract ( Tube x1)

\(\mathcal{C}\big([x_1](\cdot)\big)\)

Parameters
x1the scalar tube \([x_1](\cdot)\) to be contracted

◆ contract() [4/13]

void codac::CtcFunction::contract ( Tube x1,
Tube x2 
)

\(\mathcal{C}\big([x_1](\cdot),[x_2](\cdot)\big)\)

Parameters
x1the scalar tube \([x_1](\cdot)\) to be contracted
x2the scalar tube \([x_2](\cdot)\) to be contracted

◆ contract() [5/13]

void codac::CtcFunction::contract ( Tube x1,
Tube x2,
Tube x3 
)

\(\mathcal{C}\big([x_1](\cdot),[x_2](\cdot),[x_3](\cdot)\big)\)

Parameters
x1the scalar tube \([x_1](\cdot)\) to be contracted
x2the scalar tube \([x_2](\cdot)\) to be contracted
x3the scalar tube \([x_3](\cdot)\) to be contracted

◆ contract() [6/13]

void codac::CtcFunction::contract ( Tube x1,
Tube x2,
Tube x3,
Tube x4 
)

\(\mathcal{C}\big([x_1](\cdot),[x_2](\cdot),[x_3](\cdot),[x_4](\cdot)\big)\)

Parameters
x1the scalar tube \([x_1](\cdot)\) to be contracted
x2the scalar tube \([x_2](\cdot)\) to be contracted
x3the scalar tube \([x_3](\cdot)\) to be contracted
x4the scalar tube \([x_4](\cdot)\) to be contracted

◆ contract() [7/13]

void codac::CtcFunction::contract ( Tube x1,
Tube x2,
Tube x3,
Tube x4,
Tube x5 
)

\(\mathcal{C}\big([x_1](\cdot),[x_2](\cdot),[x_3](\cdot),[x_4](\cdot),[x_5](\cdot)\big)\)

Parameters
x1the scalar tube \([x_1](\cdot)\) to be contracted
x2the scalar tube \([x_2](\cdot)\) to be contracted
x3the scalar tube \([x_3](\cdot)\) to be contracted
x4the scalar tube \([x_4](\cdot)\) to be contracted
x5the scalar tube \([x_5](\cdot)\) to be contracted

◆ contract() [8/13]

void codac::CtcFunction::contract ( Tube x1,
Tube x2,
Tube x3,
Tube x4,
Tube x5,
Tube x6 
)

\(\mathcal{C}\big([x_1](\cdot),[x_2](\cdot),[x_3](\cdot),[x_4](\cdot),[x_5](\cdot),[x_6](\cdot)\big)\)

Parameters
x1the scalar tube \([x_1](\cdot)\) to be contracted
x2the scalar tube \([x_2](\cdot)\) to be contracted
x3the scalar tube \([x_3](\cdot)\) to be contracted
x4the scalar tube \([x_4](\cdot)\) to be contracted
x5the scalar tube \([x_5](\cdot)\) to be contracted
x6the scalar tube \([x_6](\cdot)\) to be contracted

◆ contract() [9/13]

void codac::CtcFunction::contract ( Tube x1,
Tube x2,
Tube x3,
Tube x4,
Tube x5,
Tube x6,
Tube x7 
)

\(\mathcal{C}\big([x_1](\cdot),[x_2](\cdot),[x_3](\cdot),[x_4](\cdot),[x_5](\cdot),[x_6](\cdot),[x_7](\cdot)\big)\)

Parameters
x1the scalar tube \([x_1](\cdot)\) to be contracted
x2the scalar tube \([x_2](\cdot)\) to be contracted
x3the scalar tube \([x_3](\cdot)\) to be contracted
x4the scalar tube \([x_4](\cdot)\) to be contracted
x5the scalar tube \([x_5](\cdot)\) to be contracted
x6the scalar tube \([x_6](\cdot)\) to be contracted
x7the scalar tube \([x_7](\cdot)\) to be contracted

◆ contract() [10/13]

void codac::CtcFunction::contract ( Tube x1,
Tube x2,
Tube x3,
Tube x4,
Tube x5,
Tube x6,
Tube x7,
Tube x8 
)

\(\mathcal{C}\big([x_1](\cdot),[x_2](\cdot),[x_3](\cdot),[x_4](\cdot),[x_5](\cdot),[x_6](\cdot),[x_7](\cdot),[x_8](\cdot)\big)\)

Parameters
x1the scalar tube \([x_1](\cdot)\) to be contracted
x2the scalar tube \([x_2](\cdot)\) to be contracted
x3the scalar tube \([x_3](\cdot)\) to be contracted
x4the scalar tube \([x_4](\cdot)\) to be contracted
x5the scalar tube \([x_5](\cdot)\) to be contracted
x6the scalar tube \([x_6](\cdot)\) to be contracted
x7the scalar tube \([x_7](\cdot)\) to be contracted
x8the scalar tube \([x_8](\cdot)\) to be contracted

◆ contract() [11/13]

void codac::CtcFunction::contract ( Tube x1,
Tube x2,
Tube x3,
Tube x4,
Tube x5,
Tube x6,
Tube x7,
Tube x8,
Tube x9 
)

\(\mathcal{C}\big([x_1](\cdot),[x_2](\cdot),[x_3](\cdot),[x_4](\cdot),[x_5](\cdot),[x_6](\cdot),[x_7](\cdot),[x_8](\cdot),[x_9](\cdot)\big)\)

Parameters
x1the scalar tube \([x_1](\cdot)\) to be contracted
x2the scalar tube \([x_2](\cdot)\) to be contracted
x3the scalar tube \([x_3](\cdot)\) to be contracted
x4the scalar tube \([x_4](\cdot)\) to be contracted
x5the scalar tube \([x_5](\cdot)\) to be contracted
x6the scalar tube \([x_6](\cdot)\) to be contracted
x7the scalar tube \([x_7](\cdot)\) to be contracted
x8the scalar tube \([x_8](\cdot)\) to be contracted
x9the scalar tube \([x_9](\cdot)\) to be contracted

◆ contract() [12/13]

void codac::CtcFunction::contract ( Tube x1,
Tube x2,
Tube x3,
Tube x4,
Tube x5,
Tube x6,
Tube x7,
Tube x8,
Tube x9,
Tube x10 
)

\(\mathcal{C}\big([x_1](\cdot),[x_2](\cdot),[x_3](\cdot),[x_4](\cdot),[x_5](\cdot),[x_6](\cdot),[x_7](\cdot),[x_8](\cdot),[x_9](\cdot),[x_10](\cdot)\big)\)

Parameters
x1the scalar tube \([x_1](\cdot)\) to be contracted
x2the scalar tube \([x_2](\cdot)\) to be contracted
x3the scalar tube \([x_3](\cdot)\) to be contracted
x4the scalar tube \([x_4](\cdot)\) to be contracted
x5the scalar tube \([x_5](\cdot)\) to be contracted
x6the scalar tube \([x_6](\cdot)\) to be contracted
x7the scalar tube \([x_7](\cdot)\) to be contracted
x8the scalar tube \([x_8](\cdot)\) to be contracted
x9the scalar tube \([x_9](\cdot)\) to be contracted
x10the scalar tube \([x_10](\cdot)\) to be contracted

◆ contract() [13/13]

void codac::CtcFunction::contract ( Slice **  v_x_slices)

Contracts an array of slices (representing a slice vector)

Propagates the contractions to the next slices

Parameters
v_x_slicesthe slices to be contracted

The documentation for this class was generated from the following file: