codac 1.5.6
Loading...
Searching...
No Matches
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 ibex::CtcFwdBwd.

Public Member Functions

 CtcFunction (const Function &f)
 Creates a contractor for the constraint \(\mathbf{f}(\mathbf{x})=\mathbf{0}\).
 
 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.
 
 CtcFunction (const Function &f, const Interval &y)
 Creates a contractor for the constraint \(f(\mathbf{x})\in[y]\) for the scalar case.
 
 CtcFunction (const Function &f, const IntervalVector &y)
 Creates a contractor for the constraint \(\mathbf{f}(\mathbf{x})\in[\mathbf{y}]\) for the vectorial case.
 
void contract (IntervalVector &x)
 \(\mathcal{C}\big([\mathbf{x}]\big)\)
 
void contract (TubeVector &x)
 \(\mathcal{C}\big([\mathbf{x}](\cdot)\big)\)
 
void contract (Tube &x1)
 \(\mathcal{C}\big([x_1](\cdot)\big)\)
 
void contract (Tube &x1, Tube &x2)
 \(\mathcal{C}\big([x_1](\cdot),[x_2](\cdot)\big)\)
 
void contract (Tube &x1, Tube &x2, Tube &x3)
 \(\mathcal{C}\big([x_1](\cdot),[x_2](\cdot),[x_3](\cdot)\big)\)
 
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)\)
 
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)\)
 
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)\)
 
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)\)
 
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)\)
 
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)\)
 
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)\)
 
void contract (Slice **v_x_slices)
 Contracts an array of slices (representing a slice vector)
 

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: