codac
Classes | Enumerations | Functions | Variables
codac Namespace Reference

FixPoint of a separator The fixpoint of a separator is computed by calling the "::"separate function on a given box until the Hausdorff distance between two iterations is less than a given ratio. This operation can be seen as a contractor on the boundary of the solution set. More...

Classes

class  ColorMap
 Associates colors to a range of values. More...
 
class  ConnectedSubset
 Multi-dimensional paving representation of a connected subset. More...
 
class  ContractorNetwork
 Graph of contractors and domains that model a problem in the constraint programming framework. Heterogeneous domains can be handled in the same network, which allows to deal with a wide variety of problems such as non-linear equations, differential systems, delays or inter-temporal equations. More...
 
class  CtcBox
 Contractor around a box. More...
 
class  CtcCartProd
 Cartesian product of contractors \(\mathcal{C}_1\times\dots\times\mathcal{C}_n\). More...
 
class  CtcCN
 static contractor on a contractor network object More...
 
class  CtcConstell
 CtcConstell class. More...
 
class  CtcDelay
 \(\mathcal{C}_{delay}\) that contracts the tubes \([x](\cdot)\) and \([y](\cdot)\) with respect to their delay \([\tau]\) according to the delay constraint \(\mathbf{x}(t)=\mathbf{y}(t+\tau)\) More...
 
class  CtcDeriv
 \(\mathcal{C}_{\frac{d}{dt}}\) that contracts a tube \([x](\cdot)\) with respect to its derivative tube \([v](\cdot)\) according to the constraint \(\dot{x}(\cdot)=v(\cdot)\) More...
 
class  CtcDist
 Distance constraint between two 2d vectors. More...
 
class  CtcEval
 \(\mathcal{C}_\textrm{eval}\) that contracts a tube \([y](\cdot)\) with respect to its derivative tube \([w](\cdot)\) and a measurement \([t]\times[z]\) according to the constraints \(z=y(t)\) and \(\dot{y}(\cdot)=w(\cdot)\) More...
 
class  CtcFromSep
 Build a contractor with a separator Wrt the. More...
 
class  CtcFunction
 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...
 
class  CtcLohner
 \(\mathcal{C}_\textrm{lohner}\) that contracts a tube \([\mathbf{x}](\cdot)\) according to a differential constraint \(\dot{\mathbf{x}}=\mathbf{f}(\mathbf{x})\) More...
 
class  CtcPicard
 CtcPicard class. More...
 
class  CtcPolar
 Minimal contractor for the polar constraint: x = rho*cos(theta) y = rho*sin(theta) theta = angle(x,y) sqr(rho) = sqr(x)+sqr(y) More...
 
class  CtcQInterProjF
 Q-intersection contractor. More...
 
class  CtcSegment
 Minimal contractor for a segment. More...
 
class  CtcStatic
 Generic static \(\mathcal{C}\) that contracts a tube \([\mathbf{x}](\cdot)\) with some IBEX contractor (for boxes, possibly including time). The contractor will be applied on each slice and gate. More...
 
class  CtcTransform
 Transformation of a separator with an inversible transformation T(S)(X) = { ffwd*Sin*fbwd(X), ffwd*Sout*fbwd(X)} Using a function and its inverse is less pessimism than using a forward / backward propagation (see: sepInverse) More...
 
class  DomainsSizeException
 Exception raised if the size (dimension) of domains are not consistent together, and with the contractor definition. More...
 
class  DomainsTypeException
 Exception raised if the domains connected to a contractor in a CN are not consistent with the contractor definition. More...
 
class  DynamicalItem
 Abstract class for common properties of Tube, TubeVector, Slice, Trajectory, TrajectoryVector objects. More...
 
class  DynCtc
 Contractor interface. More...
 
class  Exception
 Root class of all exceptions raised by Codac. More...
 
class  Figure
 Two-dimensional graphical item. More...
 
struct  hsv
 Represents an HSV value. More...
 
class  IntervalVar
 todo More...
 
class  IntervalVectorVar
 todo More...
 
class  Paving
 Multi-dimensional paving as representation of a set. More...
 
class  PdcInPolygon
 Tests if a box is inside a polygon. More...
 
class  RandTrajectory
 One dimensional random trajectory \(x(\cdot)\), used to represent noises. More...
 
struct  rgb
 Represents an RGB value. More...
 
class  SepBox
 Separator \(\mathcal{S}_{box}\) that separates two boxes according to the constraint \(\mathbf{x}\in[\mathbf{b}]\). More...
 
class  SepCtcPairProj
 projection of a separator using ibexlib algorithm More...
 
class  SepFixPoint
 Fix point of a Separator. More...
 
class  SepFunction
 Generic static \(\mathcal{S}\) that separates two boxes according to the constraint \(\mathbf{f}(\mathbf{x})=\mathbf{0}\) or \(\mathbf{f}(\mathbf{x})\in[\mathbf{y}]\). It stands on the SepFwdBwd of IBEX (involving HC4Revise). More...
 
class  SepPolarXY
 Separator for point in sector. A sector is defined by its center, a distance and an angle (with uncertainty). More...
 
class  SepPolygon
 Separator for Point inside a polygon. More...
 
class  SepProj
 Projection of a separator. More...
 
class  SepTransform
 Image of a separator by a function \(f\) where an analytic expression of \(\mathbf{f}^{-1}\) is avaiable. the computation is less pessimism than using a classical a forward / backward propagation (. More...
 
class  Set
 Multi-dimensional interval-based representation of a set. More...
 
class  SIVIAPaving
 Paving resulting from a Set-Inversion Via Interval Analysis. More...
 
class  Slice
 Slice \(\llbracket x\rrbracket(\cdot)\) of a one dimensional tube and made of an envelope and two gates. More...
 
class  Tools
 Basic features provided here in order to avoid overkill dependencies. More...
 
class  TPlane
 Temporal representation of loops. More...
 
class  Trajectory
 One dimensional trajectory \(x(\cdot)\), defined as a temporal map of values. More...
 
class  TrajectoryVector
 n-dimensional trajectory \(\mathbf{x}(\cdot)\), defined as a temporal map of vector values More...
 
class  Tube
 One dimensional tube \([x](\cdot)\), defined as an interval of scalar trajectories. More...
 
class  TubePaving
 Multi-dimensional paving as projection of a vector tube. More...
 
class  TubeVector
 n-dimensional tube \([\mathbf{x}](\cdot)\), defined as an interval of n-dimensional trajectories More...
 
class  VIBesFig
 Two-dimensional graphical item based on the VIBes viewer. More...
 
class  VIBesFigMap
 Two-dimensional graphical item to project dynamical items (tubes, trajectories, etc.) on a map. More...
 
class  VIBesFigPaving
 Two-dimensional graphical item to display a Paving object. More...
 
class  VIBesFigTube
 Two-dimensional graphical item to display scalar tubes or trajectories. More...
 
class  VIBesFigTubeVector
 Multi-view item to display vector tubes or trajectories. More...
 

Enumerations

enum  TimePropag { TimePropag::FORWARD = 0x01, TimePropag::BACKWARD = 0x02 }
 Specifies the temporal propagation way (forward or backward in time) More...
 
enum  InterpolMode
 Defines in which color space (HSV, RGB) the color interpolation will be made.
 
enum  TubeColorType
 Defines a set of colors for tube display.
 
enum  SetValue {
  SetValue::DEFAULT = 0x00, SetValue::UNKNOWN = 0x01, SetValue::OUT = 0x02, SetValue::IN = 0x04,
  SetValue::PENUMBRA = 0x08
}
 Defines a set of feasible values of a set. More...
 

Functions

TubeVector CAPD_integrateODE (const Interval &tdomain, const Function &f, const IntervalVector &x0, double tube_dt=0., int capd_order=20, double capd_dt=0.)
 Integrates the autonomous ODE \(\dot{\mathbf{x}}=\mathbf{f}(\mathbf{x})\) using CAPD. More...
 
TubeVector CAPD_integrateODE (const Interval &tdomain, const TFunction &f, const IntervalVector &x0, double tube_dt=0., int capd_order=20, double capd_dt=0.)
 Integrates the non-autonomous ODE \(\dot{\mathbf{x}}=\mathbf{f}(\mathbf{x},t)\) using CAPD. More...
 
const IntervalMatrix operator| (const IntervalMatrix &x, const IntervalMatrix &y)
 \([\mathbf{X}]\sqcup[\mathbf{Y}]\) More...
 
const IntervalMatrix operator & (const IntervalMatrix &x, const IntervalMatrix &y)
 \([\mathbf{X}]\cap[\mathbf{Y}]\) More...
 
int operator & (TimePropag a, TimePropag b)
 Allows tests on combinations of propagation ways. More...
 
TimePropag operator| (TimePropag a, TimePropag b)
 Allows a combination of propagation ways. More...
 
CtcCartProd cart_prod (Ctc &c1, Ctc &c2)
 Cartesian product of contractors from two Ctc objects. More...
 
CtcCartProd cart_prod (const ibex::Array< Ctc > &array)
 Cartesian product of contractors from an ibex::Array. More...
 
const std::string rgb2hex (rgb rgb_value, const char *prefix="#")
 Represents an RGB value in a HTML standard. More...
 
rgb hsv2rgb (hsv hsv_value)
 Converts HSV to RGB. More...
 
hsv rgb2hsv (rgb rgb_value)
 Converts RGB to HSV. More...
 
rgb make_rgb (int r, int g, int b, int alpha=255)
 Makes an RGV value from integers. More...
 
rgb make_rgb (float r, float g, float b, float alpha=1.)
 Makes an RGV value from floats. More...
 
hsv make_hsv (int h, int s, int v, int alpha=100)
 Makes an HSV value from integers. More...
 
hsv make_hsv (float h, float s, float v, float alpha=1.)
 Makes an HSV value from floats. More...
 
int operator & (SetValue a, SetValue b)
 Allows tests on combinations of two SetValue. More...
 
SetValue operator| (SetValue a, SetValue b)
 Union of two SetValue values. More...
 
Scalar outputs
const Trajectory cos (const Trajectory &x)
 \(\cos(x(\cdot))\) More...
 
const Trajectory sin (const Trajectory &x)
 \(\sin(x(\cdot))\) More...
 
const Trajectory abs (const Trajectory &x)
 \(\mid x(\cdot)\mid\) More...
 
const Trajectory sqr (const Trajectory &x)
 \(x^2(\cdot)\) More...
 
const Trajectory sqrt (const Trajectory &x)
 \(\sqrt{x(\cdot)}\) More...
 
const Trajectory exp (const Trajectory &x)
 \(\exp(x(\cdot))\) More...
 
const Trajectory log (const Trajectory &x)
 \(\log(x(\cdot))\) More...
 
const Trajectory tan (const Trajectory &x)
 \(\tan(x(\cdot))\) More...
 
const Trajectory acos (const Trajectory &x)
 \(\arccos(x(\cdot))\) More...
 
const Trajectory asin (const Trajectory &x)
 \(\arcsin(x(\cdot))\) More...
 
const Trajectory atan (const Trajectory &x)
 \(\arctan(x(\cdot))\) More...
 
const Trajectory cosh (const Trajectory &x)
 \(\cosh(x(\cdot))\) More...
 
const Trajectory sinh (const Trajectory &x)
 \(\sinh(x(\cdot))\) More...
 
const Trajectory tanh (const Trajectory &x)
 \(\tanh(x(\cdot))\) More...
 
const Trajectory acosh (const Trajectory &x)
 \(\mathrm{arccosh}(x(\cdot))\) More...
 
const Trajectory asinh (const Trajectory &x)
 \(\mathrm{arcsinh}(x(\cdot))\) More...
 
const Trajectory atanh (const Trajectory &x)
 \(\mathrm{arctanh}(x(\cdot))\) More...
 
const Trajectory atan2 (const Trajectory &y, const Trajectory &x)
 \(\mathrm{arctan2}(y(\cdot),x(\cdot))\) More...
 
const Trajectory atan2 (const Trajectory &y, double x)
 \(\mathrm{arctan2}(y(\cdot),x)\) More...
 
const Trajectory atan2 (double y, const Trajectory &x)
 \(\mathrm{arctan2}(y, x(\cdot))\) More...
 
const Trajectory min (const Trajectory &y, const Trajectory &x)
 \(\min(y(\cdot),x(\cdot))\) More...
 
const Trajectory min (const Trajectory &y, double x)
 \(\min(y(\cdot),x)\) More...
 
const Trajectory min (double y, const Trajectory &x)
 \(\min(y, x(\cdot))\) More...
 
const Trajectory max (const Trajectory &y, const Trajectory &x)
 \(\max(y(\cdot),x(\cdot))\) More...
 
const Trajectory max (const Trajectory &y, double x)
 \(\max(y(\cdot),x)\) More...
 
const Trajectory max (double y, const Trajectory &x)
 \(\max(y, x(\cdot))\) More...
 
const Trajectory pow (const Trajectory &x, int p)
 \(x^p(\cdot)\) More...
 
const Trajectory pow (const Trajectory &x, double p)
 \(x^p(\cdot)\) More...
 
const Trajectory root (const Trajectory &x, int p)
 \(\sqrt[p]{x(\cdot)}\) More...
 
const Trajectory operator+ (const Trajectory &x)
 \(x(\cdot)\) More...
 
const Trajectory operator+ (const Trajectory &x, const Trajectory &y)
 \(x(\cdot)+y(\cdot)\) More...
 
const Trajectory operator+ (const Trajectory &x, double y)
 \(x(\cdot)+y\) More...
 
const Trajectory operator+ (double x, const Trajectory &y)
 \(x+y(\cdot)\) More...
 
const Trajectory operator- (const Trajectory &x)
 \(-x(\cdot)\) More...
 
const Trajectory operator- (const Trajectory &x, const Trajectory &y)
 \(x(\cdot)-y(\cdot)\) More...
 
const Trajectory operator- (const Trajectory &x, double y)
 \(x(\cdot)-y\) More...
 
const Trajectory operator- (double x, const Trajectory &y)
 \(x-y(\cdot)\) More...
 
const Trajectory operator* (const Trajectory &x, const Trajectory &y)
 \(x(\cdot)\cdot y(\cdot)\) More...
 
const Trajectory operator* (const Trajectory &x, double y)
 \(x(\cdot)\cdot y\) More...
 
const Trajectory operator* (double x, const Trajectory &y)
 \(x\cdot y(\cdot)\) More...
 
const Trajectory operator/ (const Trajectory &x, const Trajectory &y)
 \(x(\cdot)/y(\cdot)\) More...
 
const Trajectory operator/ (const Trajectory &x, double y)
 \(x(\cdot)/y\) More...
 
const Trajectory operator/ (double x, const Trajectory &y)
 \(x/y(\cdot)\) More...
 
const Tube cos (const Tube &x)
 \(\cos([x](\cdot))\) More...
 
const Tube sin (const Tube &x)
 \(\sin([x](\cdot))\) More...
 
const Tube abs (const Tube &x)
 \(\mid[x](\cdot)\mid\) More...
 
const Tube sqr (const Tube &x)
 \([x]^2(\cdot)\) More...
 
const Tube sqrt (const Tube &x)
 \(\sqrt{[x](\cdot)}\) More...
 
const Tube exp (const Tube &x)
 \(\exp([x](\cdot))\) More...
 
const Tube log (const Tube &x)
 \(\log([x](\cdot))\) More...
 
const Tube tan (const Tube &x)
 \(\tan([x](\cdot))\) More...
 
const Tube acos (const Tube &x)
 \(\arccos([x](\cdot))\) More...
 
const Tube asin (const Tube &x)
 \(\arcsin([x](\cdot))\) More...
 
const Tube atan (const Tube &x)
 \(\arctan([x](\cdot))\) More...
 
const Tube cosh (const Tube &x)
 \(\cosh([x](\cdot))\) More...
 
const Tube sinh (const Tube &x)
 \(\sinh([x](\cdot))\) More...
 
const Tube tanh (const Tube &x)
 \(\tanh([x](\cdot))\) More...
 
const Tube acosh (const Tube &x)
 \(\mathrm{arccosh}([x](\cdot))\) More...
 
const Tube asinh (const Tube &x)
 \(\mathrm{arcsinh}([x](\cdot))\) More...
 
const Tube atanh (const Tube &x)
 \(\mathrm{arctanh}([x](\cdot))\) More...
 
const Tube atan2 (const Tube &y, const Tube &x)
 \(\mathrm{arctan2}([y](\cdot),[x](\cdot))\) More...
 
const Tube atan2 (const Tube &y, const Interval &x)
 \(\mathrm{arctan2}([y](\cdot),[x])\) More...
 
const Tube atan2 (const Interval &y, const Tube &x)
 \(\mathrm{arctan2}([y],[x](\cdot))\) More...
 
const Tube pow (const Tube &x, int p)
 \([x]^p(\cdot)\) More...
 
const Tube pow (const Tube &x, double p)
 \([x]^p(\cdot)\) More...
 
const Tube pow (const Tube &x, const Interval &p)
 \([x]^{[p]}(\cdot)\) More...
 
const Tube root (const Tube &x, int p)
 \(\sqrt[p]{[x](\cdot)}\) More...
 
const Tube min (const Tube &y, const Tube &x)
 \(\min([y](\cdot),[x](\cdot))\) More...
 
const Tube min (const Tube &y, const Interval &x)
 \(\min([y](\cdot),[x])\) More...
 
const Tube min (const Interval &y, const Tube &x)
 \(\min([y],[x](\cdot))\) More...
 
const Tube max (const Tube &y, const Tube &x)
 \(\max([y](\cdot),[x](\cdot))\) More...
 
const Tube max (const Tube &y, const Interval &x)
 \(\max([y](\cdot),[x])\) More...
 
const Tube max (const Interval &y, const Tube &x)
 \(\max([y],[x](\cdot))\) More...
 
const Tube operator+ (const Tube &x)
 \([x](\cdot)\) More...
 
const Tube operator+ (const Tube &x, const Tube &y)
 \([x](\cdot)+[y](\cdot)\) More...
 
const Tube operator+ (const Tube &x, const Interval &y)
 \([x](\cdot)+[y]\) More...
 
const Tube operator+ (const Interval &x, const Tube &y)
 \([x]+[y](\cdot)\) More...
 
const Tube operator+ (const Tube &x, const Trajectory &y)
 \([x](\cdot)+y(\cdot)\) More...
 
const Tube operator+ (const Trajectory &x, const Tube &y)
 \(x(\cdot)+[y](\cdot)\) More...
 
const Tube operator- (const Tube &x)
 \(-[x](\cdot)\) More...
 
const Tube operator- (const Tube &x, const Tube &y)
 \([x](\cdot)-[y](\cdot)\) More...
 
const Tube operator- (const Tube &x, const Interval &y)
 \([x](\cdot)-[y]\) More...
 
const Tube operator- (const Interval &x, const Tube &y)
 \([x]-[y](\cdot)\) More...
 
const Tube operator- (const Tube &x, const Trajectory &y)
 \([x](\cdot)-y(\cdot)\) More...
 
const Tube operator- (const Trajectory &x, const Tube &y)
 \(x(\cdot)-[y](\cdot)\) More...
 
const Tube operator* (const Tube &x, const Tube &y)
 \([x](\cdot)\cdot[y](\cdot)\) More...
 
const Tube operator* (const Tube &x, const Interval &y)
 \([x](\cdot)\cdot[y]\) More...
 
const Tube operator* (const Interval &x, const Tube &y)
 \([x]\cdot[y](\cdot)\) More...
 
const Tube operator* (const Tube &x, const Trajectory &y)
 \([x](\cdot)\cdot y(\cdot)\) More...
 
const Tube operator* (const Trajectory &x, const Tube &y)
 \(x(\cdot)\cdot[y](\cdot)\) More...
 
const Tube operator/ (const Tube &x, const Tube &y)
 \([x](\cdot)/[y](\cdot)\) More...
 
const Tube operator/ (const Tube &x, const Interval &y)
 \([x](\cdot)/[y]\) More...
 
const Tube operator/ (const Interval &x, const Tube &y)
 \([x]/[y](\cdot)\) More...
 
const Tube operator/ (const Tube &x, const Trajectory &y)
 \([x](\cdot)/y(\cdot)\) More...
 
const Tube operator/ (const Trajectory &x, const Tube &y)
 \(x(\cdot)/[y](\cdot)\) More...
 
const Tube operator| (const Tube &x, const Tube &y)
 \([x](\cdot)\sqcup[y](\cdot)\) More...
 
const Tube operator| (const Tube &x, const Interval &y)
 \([x](\cdot)\sqcup[y]\) More...
 
const Tube operator| (const Interval &x, const Tube &y)
 \([x]\sqcup[y](\cdot)\) More...
 
const Tube operator| (const Tube &x, const Trajectory &y)
 \([x](\cdot)\sqcup y(\cdot)\) More...
 
const Tube operator| (const Trajectory &x, const Tube &y)
 \(x(\cdot)\sqcup [y](\cdot)\) More...
 
const Tube operator & (const Tube &x, const Tube &y)
 \([x](\cdot)\cap[y](\cdot)\) More...
 
const Tube operator & (const Tube &x, const Interval &y)
 \([x](\cdot)\cap[y]\) More...
 
const Tube operator & (const Interval &x, const Tube &y)
 \([x]\cap[y](\cdot)\) More...
 
const Tube operator & (const Tube &x, const Trajectory &y)
 \([x](\cdot)\cap y(\cdot)\) More...
 
const Tube operator & (const Trajectory &x, const Tube &y)
 \(x(\cdot)\cap [y](\cdot)\) More...
 
Vector outputs
const TrajectoryVector operator+ (const TrajectoryVector &x)
 \(\mathbf{x}(\cdot)\) More...
 
const TrajectoryVector operator+ (const TrajectoryVector &x, const TrajectoryVector &y)
 \(\mathbf{x}(\cdot)+\mathbf{y}(\cdot)\) More...
 
const TrajectoryVector operator+ (const TrajectoryVector &x, const Vector &y)
 \(\mathbf{x}(\cdot)+\mathbf{y}\) More...
 
const TrajectoryVector operator+ (const Vector &x, const TrajectoryVector &y)
 \(\mathbf{x}+\mathbf{y}(\cdot)\) More...
 
const TrajectoryVector operator- (const TrajectoryVector &x)
 \(-\mathbf{x}(\cdot)\) More...
 
const TrajectoryVector operator- (const TrajectoryVector &x, const TrajectoryVector &y)
 \(\mathbf{x}(\cdot)-\mathbf{y}(\cdot)\) More...
 
const TrajectoryVector operator- (const TrajectoryVector &x, const Vector &y)
 \(\mathbf{x}(\cdot)-\mathbf{y}\) More...
 
const TrajectoryVector operator- (const Vector &x, const TrajectoryVector &y)
 \(\mathbf{x}-\mathbf{y}(\cdot)\) More...
 
const TrajectoryVector operator* (double x, const TrajectoryVector &y)
 \(x\cdot\mathbf{y}(\cdot)\) More...
 
const TrajectoryVector operator* (const Trajectory &x, const TrajectoryVector &y)
 \(x(\cdot)\cdot\mathbf{y}(\cdot)\) More...
 
const TrajectoryVector operator* (const Trajectory &x, const Vector &y)
 \(x(\cdot)\cdot\mathbf{y}\) More...
 
const TrajectoryVector operator* (const Matrix &x, const TrajectoryVector &y)
 \(x(\cdot)\cdot\mathbf{y}\) More...
 
const TrajectoryVector operator/ (const TrajectoryVector &x, double y)
 \(\mathbf{x}(\cdot)/y\) More...
 
const TrajectoryVector operator/ (const TrajectoryVector &x, const Trajectory &y)
 \(\mathbf{x}(\cdot)/y(\cdot)\) More...
 
const TrajectoryVector operator/ (const Vector &x, const Trajectory &y)
 \(\mathbf{x}/y(\cdot)\) More...
 
const Vector vecto_product (const Vector &x, const Vector &y)
 \(\mathbf{x}\times\mathbf{y}\) (or \(\mathbf{x}\wedge\mathbf{y}\) in physics) More...
 
const TrajectoryVector vecto_product (const TrajectoryVector &x, const Vector &y)
 \(\mathbf{x}(\cdot)\times\mathbf{y}\) (or \(\mathbf{x}(\cdot)\wedge\mathbf{y}\) in physics) More...
 
const TrajectoryVector vecto_product (const Vector &x, const TrajectoryVector &y)
 \(\mathbf{x}\times\mathbf{y}(\cdot)\) (or \(\mathbf{x}\wedge\mathbf{y}(\cdot)\) in physics) More...
 
const TrajectoryVector abs (const TrajectoryVector &x)
 \(\mid\mathbf{x}(\cdot)\mid\) More...
 
const TubeVector operator+ (const TubeVector &x)
 \([\mathbf{x}](\cdot)\) More...
 
const TubeVector operator+ (const TubeVector &x, const TubeVector &y)
 \([\mathbf{x}](\cdot)+[\mathbf{y}](\cdot)\) More...
 
const TubeVector operator+ (const TubeVector &x, const IntervalVector &y)
 \([\mathbf{x}](\cdot)+[\mathbf{y}]\) More...
 
const TubeVector operator+ (const IntervalVector &x, const TubeVector &y)
 \([\mathbf{x}]+[\mathbf{y}](\cdot)\) More...
 
const TubeVector operator+ (const TubeVector &x, const TrajectoryVector &y)
 \([\mathbf{x}](\cdot)+\mathbf{y}(\cdot)\) More...
 
const TubeVector operator+ (const TrajectoryVector &x, const TubeVector &y)
 \(\mathbf{x}(\cdot)+[\mathbf{y}](\cdot)\) More...
 
const TubeVector operator- (const TubeVector &x)
 \(-[\mathbf{x}](\cdot)\) More...
 
const TubeVector operator- (const TubeVector &x, const TubeVector &y)
 \([\mathbf{x}](\cdot)-[\mathbf{y}](\cdot)\) More...
 
const TubeVector operator- (const TubeVector &x, const IntervalVector &y)
 \([\mathbf{x}](\cdot)-[\mathbf{y}]\) More...
 
const TubeVector operator- (const IntervalVector &x, const TubeVector &y)
 \([\mathbf{x}]-[\mathbf{y}](\cdot)\) More...
 
const TubeVector operator- (const TubeVector &x, const TrajectoryVector &y)
 \([\mathbf{x}](\cdot)-\mathbf{y}(\cdot)\) More...
 
const TubeVector operator- (const TrajectoryVector &x, const TubeVector &y)
 \(\mathbf{x}(\cdot)-[\mathbf{y}](\cdot)\) More...
 
const TubeVector operator* (const Tube &x, const TubeVector &y)
 \([x](\cdot)\cdot[\mathbf{y}](\cdot)\) More...
 
const TubeVector operator* (const Interval &x, const TubeVector &y)
 \([x]\cdot[\mathbf{y}](\cdot)\) More...
 
const TubeVector operator* (const Tube &x, const IntervalVector &y)
 \([x](\cdot)\cdot[\mathbf{y}]\) More...
 
const TubeVector operator* (const Trajectory &x, const TubeVector &y)
 \(x(\cdot)\cdot[\mathbf{y}](\cdot)\) More...
 
const TubeVector operator/ (const TubeVector &x, const Tube &y)
 \([\mathbf{x}](\cdot)/[y](\cdot)\) More...
 
const TubeVector operator/ (const TubeVector &x, const Interval &y)
 \([\mathbf{x}](\cdot)/[y]\) More...
 
const TubeVector operator/ (const IntervalVector &x, const Tube &y)
 \([\mathbf{x}]/[y](\cdot)\) More...
 
const TubeVector operator/ (const TubeVector &x, const Trajectory &y)
 \([\mathbf{x}](\cdot)/y(\cdot)\) More...
 
const TubeVector operator| (const TubeVector &x, const TubeVector &y)
 \([\mathbf{x}](\cdot)\sqcup[\mathbf{y}](\cdot)\) More...
 
const TubeVector operator| (const TubeVector &x, const IntervalVector &y)
 \([\mathbf{x}](\cdot)\sqcup[\mathbf{y}]\) More...
 
const TubeVector operator| (const IntervalVector &x, const TubeVector &y)
 \([\mathbf{x}]\sqcup[\mathbf{y}](\cdot)\) More...
 
const TubeVector operator| (const TubeVector &x, const TrajectoryVector &y)
 \([\mathbf{x}](\cdot)\sqcup\mathbf{y}(\cdot)\) More...
 
const TubeVector operator| (const TrajectoryVector &x, const TubeVector &y)
 \(\mathbf{x}(\cdot)\sqcup[\mathbf{y}](\cdot)\) More...
 
const TubeVector operator & (const TubeVector &x, const TubeVector &y)
 \([\mathbf{x}](\cdot)\cap[\mathbf{y}](\cdot)\) More...
 
const TubeVector operator & (const TubeVector &x, const IntervalVector &y)
 \([\mathbf{x}](\cdot)\cap[\mathbf{y}]\) More...
 
const TubeVector operator & (const IntervalVector &x, const TubeVector &y)
 \([\mathbf{x}]\cap[\mathbf{y}](\cdot)\) More...
 
const TubeVector operator & (const TubeVector &x, const TrajectoryVector &y)
 \([\mathbf{x}](\cdot)\cap\mathbf{y}(\cdot)\) More...
 
const TubeVector operator & (const TrajectoryVector &x, const TubeVector &y)
 \(\mathbf{x}(\cdot)\cap[\mathbf{y}](\cdot)\) More...
 
const TubeVector abs (const TubeVector &x)
 \(\mid\mathbf{x}(\cdot)\mid\) More...
 
Interval
void serialize_Interval (std::ofstream &bin_file, const Interval &intv)
 Writes an Interval object into a binary file. More...
 
void deserialize_Interval (std::ifstream &bin_file, Interval &intv)
 Creates an Interval object from a binary file. More...
 
IntervalVector
void deserialize_IntervalVector (std::ifstream &bin_file, IntervalVector &box)
 Writes an IntervalVector object into a binary file. More...
 
void serialize_IntervalVector (std::ofstream &bin_file, const IntervalVector &box)
 Creates an IntervalVector object from a binary file. More...
 
Trajectory
void serialize_Trajectory (std::ofstream &bin_file, const Trajectory &traj, int version_number=SERIALIZATION_VERSION)
 Writes a Trajectory object into a binary file. More...
 
void deserialize_Trajectory (std::ifstream &bin_file, Trajectory *&traj)
 Creates a Trajectory object from a binary file. More...
 
TrajectoryVector
void serialize_TrajectoryVector (std::ofstream &bin_file, const TrajectoryVector &traj, int version_number=SERIALIZATION_VERSION)
 Writes a TrajectoryVector object into a binary file. More...
 
void deserialize_TrajectoryVector (std::ifstream &bin_file, TrajectoryVector *&traj)
 Creates a TrajectoryVector object from a binary file. More...
 
Tube
void serialize_Tube (std::ofstream &bin_file, const Tube &tube, int version_number=SERIALIZATION_VERSION)
 Writes a Tube object into a binary file (version 2) More...
 
void deserialize_Tube (std::ifstream &bin_file, Tube *&tube)
 Creates a Tube object from a binary file. More...
 
TubeVector
void serialize_TubeVector (std::ofstream &bin_file, const TubeVector &tube, int version_number=SERIALIZATION_VERSION)
 Writes a TubeVector object into a binary file. More...
 
void deserialize_TubeVector (std::ifstream &bin_file, TubeVector *&tube)
 Creates a TubeVector object from a binary file. More...
 
SIVIA for contractors
std::map< SetValue, std::list< IntervalVector > > SIVIA (const IntervalVector &x, const IntervalVector &y, Ctc &ctc, float precision, bool regular_paving=false, bool display_result=true, const std::string &fig_name="", bool return_result=false, const SetColorMap &color_map=DEFAULT_SET_COLOR_MAP)
 Executes a SIVIA algorithm from a contractor, and displays the result. SIVIA: Set Inversion Via Interval Analysis. More...
 
std::map< SetValue, std::list< IntervalVector > > SIVIA (const IntervalVector &x, Ctc &ctc, float precision, bool regular_paving=false, bool display_result=true, const std::string &fig_name="", bool return_result=false, const SetColorMap &color_map=DEFAULT_SET_COLOR_MAP)
 Executes a SIVIA algorithm from a contractor, and displays the result. SIVIA: Set Inversion Via Interval Analysis. More...
 
SIVIA for separators
std::map< SetValue, std::list< IntervalVector > > SIVIA (const IntervalVector &x, ibex::Sep &sep, float precision, bool regular_paving=false, bool display_result=true, const std::string &fig_name="", bool return_result=false, const SetColorMap &color_map=DEFAULT_SET_COLOR_MAP)
 Executes a SIVIA algorithm from a separator, and displays the result. SIVIA: Set Inversion Via Interval Analysis. More...
 

Variables

SetColorMap DEFAULT_SET_COLOR_MAP
 predefined DEFAULT_SET_COLOR_MAP
 
SetColorMap LIE_SET_COLOR_MAP
 predefined LIE_SET_COLOR_MAP
 

Detailed Description

FixPoint of a separator The fixpoint of a separator is computed by calling the "::"separate function on a given box until the Hausdorff distance between two iterations is less than a given ratio. This operation can be seen as a contractor on the boundary of the solution set.

CtcPicard class

Date
2018
Author
Simon Rohou
License: This program is distributed under the terms of
the GNU Lesser General Public License (LGPL).

TubeSynthesis class

Date
2022
Author
Simon Rohou
License: This program is distributed under the terms of
the GNU Lesser General Public License (LGPL).

TubeTreeSynthesis class

Date
2018
Author
Simon Rohou
License: This program is distributed under the terms of
the GNU Lesser General Public License (LGPL).

DelayTFunction class

Date
2018
Author
Simon Rohou
License: This program is distributed under the terms of
the GNU Lesser General Public License (LGPL).

TFnc class

Date
2018
Author
Simon Rohou
License: This program is distributed under the terms of
the GNU Lesser General Public License (LGPL).

TFunction class

Date
2018
Author
Simon Rohou
License: This program is distributed under the terms of
the GNU Lesser General Public License (LGPL).

ConvexPolygon class

Date
2018
Author
Simon Rohou
License: This program is distributed under the terms of
the GNU Lesser General Public License (LGPL).

GrahamScan class

Date
2019
Author
Simon Rohou
License: This program is distributed under the terms of
the GNU Lesser General Public License (LGPL).

Polygon class

Date
2018
Author
Simon Rohou
License: This program is distributed under the terms of
the GNU Lesser General Public License (LGPL).

ThickEdge class

Date
2018
Author
Simon Rohou
License: This program is distributed under the terms of
the GNU Lesser General Public License (LGPL).

At the end, two boxes x_in and x_out, need to be reconstructed by merging the resulting box and parts of the initial box which belong (or not) to the solution set.

CtcConstell class

Date
2018
Author
Simon Rohou
License: This program is distributed under the terms of
the GNU Lesser General Public License (LGPL).

DataLoader class

Date
2016
Author
Simon Rohou
License: This program is distributed under the terms of
the GNU Lesser General Public License (LGPL).

DataLoaderLissajous class

Date
2016
Author
Simon Rohou
License: This program is distributed under the terms of
the GNU Lesser General Public License (LGPL).

DataLoaderRedermor class

Date
2016
Author
Simon Rohou
License: This program is distributed under the terms of
the GNU Lesser General Public License (LGPL).

Beacon class

Date
2015
Author
Simon Rohou
License: This program is distributed under the terms of
the GNU Lesser General Public License (LGPL).

Beacon class

Date
2024
Author
Simon Rohou
License: This program is distributed under the terms of
the GNU Lesser General Public License (LGPL).

Enumeration Type Documentation

◆ TimePropag

enum codac::TimePropag
strong

Specifies the temporal propagation way (forward or backward in time)

Enumerator
FORWARD 

forward in time (from \(t^-\) to \(t^+\))

BACKWARD 

backward in time (from \(t^+\) to \(t^-\))

27  {
28  FORWARD = 0x01,
29  BACKWARD = 0x02
30  };
backward in time (from to )
forward in time (from to )

◆ SetValue

enum codac::SetValue
strong

Defines a set of feasible values of a set.

Note
These values can be used as flags for boolean selections. Example of use: (UNKNOWN | IN) to get items of these types
Enumerator
DEFAULT 

does not have a meaning, only used for default values of arguments

UNKNOWN 

unable to conclude

OUT 

outside the solution set

IN 

inside the solution set

PENUMBRA 

inside the penumbra set

27  {
28  DEFAULT = 0x00,
29 
30  UNKNOWN = 0x01,
31  OUT = 0x02,
32  IN = 0x04,
33  PENUMBRA = 0x08
34  };
unable to conclude
inside the penumbra set
inside the solution set
outside the solution set
does not have a meaning, only used for default values of arguments

Function Documentation

◆ CAPD_integrateODE() [1/2]

TubeVector codac::CAPD_integrateODE ( const Interval &  tdomain,
const Function &  f,
const IntervalVector &  x0,
double  tube_dt = 0.,
int  capd_order = 20,
double  capd_dt = 0. 
)

Integrates the autonomous ODE \(\dot{\mathbf{x}}=\mathbf{f}(\mathbf{x})\) using CAPD.

Parameters
tdomaintemporal domain \([t_0,t_f]\)
fthe function \(\mathbf{f}\) (defined with a Function object)
x0the initial condition \(\mathbf{x}_0\) at \(t_0\)
tube_dtsampling value \(\delta\) for the temporal discretization of the resulting tube
capd_order(optional) order of the integration method
capd_dt(optional) custom time step for CAPD integration
Returns
TubeVector enclosing the solution

◆ CAPD_integrateODE() [2/2]

TubeVector codac::CAPD_integrateODE ( const Interval &  tdomain,
const TFunction &  f,
const IntervalVector &  x0,
double  tube_dt = 0.,
int  capd_order = 20,
double  capd_dt = 0. 
)

Integrates the non-autonomous ODE \(\dot{\mathbf{x}}=\mathbf{f}(\mathbf{x},t)\) using CAPD.

Parameters
tdomaintemporal domain \([t_0,t_f]\)
fthe temporal function \(\mathbf{f}\) (defined with a TFunction object)
x0the initial condition \(\mathbf{x}_0\) at \(t_0\)
tube_dtsampling value \(\delta\) for the temporal discretization of the resulting tube
capd_order(optional) order of the integration method
capd_dt(optional) custom time step for CAPD integration
Returns
TubeVector enclosing the solution

◆ operator|() [1/13]

const IntervalMatrix codac::operator| ( const IntervalMatrix &  x,
const IntervalMatrix &  y 
)

\([\mathbf{X}]\sqcup[\mathbf{Y}]\)

Parameters
x
y
Returns
IntervalMatrix output

◆ operator &() [1/13]

const IntervalMatrix codac::operator& ( const IntervalMatrix &  x,
const IntervalMatrix &  y 
)

\([\mathbf{X}]\cap[\mathbf{Y}]\)

Parameters
x
y
Returns
IntervalMatrix output

◆ cos() [1/2]

const Trajectory codac::cos ( const Trajectory x)

\(\cos(x(\cdot))\)

Parameters
x
Returns
Trajectory output

◆ sin() [1/2]

const Trajectory codac::sin ( const Trajectory x)

\(\sin(x(\cdot))\)

Parameters
x
Returns
Trajectory output

◆ abs() [1/4]

const Trajectory codac::abs ( const Trajectory x)

\(\mid x(\cdot)\mid\)

Parameters
x
Returns
Trajectory output

◆ sqr() [1/2]

const Trajectory codac::sqr ( const Trajectory x)

\(x^2(\cdot)\)

Parameters
x
Returns
Trajectory output

◆ sqrt() [1/2]

const Trajectory codac::sqrt ( const Trajectory x)

\(\sqrt{x(\cdot)}\)

Parameters
x
Returns
Trajectory output

◆ exp() [1/2]

const Trajectory codac::exp ( const Trajectory x)

\(\exp(x(\cdot))\)

Parameters
x
Returns
Trajectory output

◆ log() [1/2]

const Trajectory codac::log ( const Trajectory x)

\(\log(x(\cdot))\)

Parameters
x
Returns
Trajectory output

◆ tan() [1/2]

const Trajectory codac::tan ( const Trajectory x)

\(\tan(x(\cdot))\)

Parameters
x
Returns
Trajectory output

◆ acos() [1/2]

const Trajectory codac::acos ( const Trajectory x)

\(\arccos(x(\cdot))\)

Parameters
x
Returns
Trajectory output

◆ asin() [1/2]

const Trajectory codac::asin ( const Trajectory x)

\(\arcsin(x(\cdot))\)

Parameters
x
Returns
Trajectory output

◆ atan() [1/2]

const Trajectory codac::atan ( const Trajectory x)

\(\arctan(x(\cdot))\)

Parameters
x
Returns
Trajectory output

◆ cosh() [1/2]

const Trajectory codac::cosh ( const Trajectory x)

\(\cosh(x(\cdot))\)

Parameters
x
Returns
Trajectory output

◆ sinh() [1/2]

const Trajectory codac::sinh ( const Trajectory x)

\(\sinh(x(\cdot))\)

Parameters
x
Returns
Trajectory output

◆ tanh() [1/2]

const Trajectory codac::tanh ( const Trajectory x)

\(\tanh(x(\cdot))\)

Parameters
x
Returns
Trajectory output

◆ acosh() [1/2]

const Trajectory codac::acosh ( const Trajectory x)

\(\mathrm{arccosh}(x(\cdot))\)

Parameters
x
Returns
Trajectory output

◆ asinh() [1/2]

const Trajectory codac::asinh ( const Trajectory x)

\(\mathrm{arcsinh}(x(\cdot))\)

Parameters
x
Returns
Trajectory output

◆ atanh() [1/2]

const Trajectory codac::atanh ( const Trajectory x)

\(\mathrm{arctanh}(x(\cdot))\)

Parameters
x
Returns
Trajectory output

◆ atan2() [1/6]

const Trajectory codac::atan2 ( const Trajectory y,
const Trajectory x 
)

\(\mathrm{arctan2}(y(\cdot),x(\cdot))\)

Parameters
y
x
Returns
Trajectory output

◆ atan2() [2/6]

const Trajectory codac::atan2 ( const Trajectory y,
double  x 
)

\(\mathrm{arctan2}(y(\cdot),x)\)

Parameters
y
x
Returns
Trajectory output

◆ atan2() [3/6]

const Trajectory codac::atan2 ( double  y,
const Trajectory x 
)

\(\mathrm{arctan2}(y, x(\cdot))\)

Parameters
y
x
Returns
Trajectory output

◆ min() [1/6]

const Trajectory codac::min ( const Trajectory y,
const Trajectory x 
)

\(\min(y(\cdot),x(\cdot))\)

Parameters
y
x
Returns
Trajectory output

◆ min() [2/6]

const Trajectory codac::min ( const Trajectory y,
double  x 
)

\(\min(y(\cdot),x)\)

Parameters
y
x
Returns
Trajectory output

◆ min() [3/6]

const Trajectory codac::min ( double  y,
const Trajectory x 
)

\(\min(y, x(\cdot))\)

Parameters
y
x
Returns
Trajectory output

◆ max() [1/6]

const Trajectory codac::max ( const Trajectory y,
const Trajectory x 
)

\(\max(y(\cdot),x(\cdot))\)

Parameters
y
x
Returns
Trajectory output

◆ max() [2/6]

const Trajectory codac::max ( const Trajectory y,
double  x 
)

\(\max(y(\cdot),x)\)

Parameters
y
x
Returns
Trajectory output

◆ max() [3/6]

const Trajectory codac::max ( double  y,
const Trajectory x 
)

\(\max(y, x(\cdot))\)

Parameters
y
x
Returns
Trajectory output

◆ pow() [1/5]

const Trajectory codac::pow ( const Trajectory x,
int  p 
)

\(x^p(\cdot)\)

Parameters
x
p
Returns
Trajectory output

◆ pow() [2/5]

const Trajectory codac::pow ( const Trajectory x,
double  p 
)

\(x^p(\cdot)\)

Parameters
x
p
Returns
Trajectory output

◆ root() [1/2]

const Trajectory codac::root ( const Trajectory x,
int  p 
)

\(\sqrt[p]{x(\cdot)}\)

Parameters
x
p
Returns
Trajectory output

◆ operator+() [1/20]

const Trajectory codac::operator+ ( const Trajectory x)

\(x(\cdot)\)

Parameters
x
Returns
Trajectory output

◆ operator+() [2/20]

const Trajectory codac::operator+ ( const Trajectory x,
const Trajectory y 
)

\(x(\cdot)+y(\cdot)\)

Parameters
x
y
Returns
Trajectory output

◆ operator+() [3/20]

const Trajectory codac::operator+ ( const Trajectory x,
double  y 
)

\(x(\cdot)+y\)

Parameters
x
y
Returns
Trajectory output

◆ operator+() [4/20]

const Trajectory codac::operator+ ( double  x,
const Trajectory y 
)

\(x+y(\cdot)\)

Parameters
x
y
Returns
Trajectory output

◆ operator-() [1/20]

const Trajectory codac::operator- ( const Trajectory x)

\(-x(\cdot)\)

Parameters
x
Returns
Trajectory output

◆ operator-() [2/20]

const Trajectory codac::operator- ( const Trajectory x,
const Trajectory y 
)

\(x(\cdot)-y(\cdot)\)

Parameters
x
y
Returns
Trajectory output

◆ operator-() [3/20]

const Trajectory codac::operator- ( const Trajectory x,
double  y 
)

\(x(\cdot)-y\)

Parameters
x
y
Returns
Trajectory output

◆ operator-() [4/20]

const Trajectory codac::operator- ( double  x,
const Trajectory y 
)

\(x-y(\cdot)\)

Parameters
x
y
Returns
Trajectory output

◆ operator*() [1/16]

const Trajectory codac::operator* ( const Trajectory x,
const Trajectory y 
)

\(x(\cdot)\cdot y(\cdot)\)

Parameters
x
y
Returns
Trajectory output

◆ operator*() [2/16]

const Trajectory codac::operator* ( const Trajectory x,
double  y 
)

\(x(\cdot)\cdot y\)

Parameters
x
y
Returns
Trajectory output

◆ operator*() [3/16]

const Trajectory codac::operator* ( double  x,
const Trajectory y 
)

\(x\cdot y(\cdot)\)

Parameters
x
y
Returns
Trajectory output

◆ operator/() [1/15]

const Trajectory codac::operator/ ( const Trajectory x,
const Trajectory y 
)

\(x(\cdot)/y(\cdot)\)

Parameters
x
y
Returns
Trajectory output

◆ operator/() [2/15]

const Trajectory codac::operator/ ( const Trajectory x,
double  y 
)

\(x(\cdot)/y\)

Parameters
x
y
Returns
Trajectory output

◆ operator/() [3/15]

const Trajectory codac::operator/ ( double  x,
const Trajectory y 
)

\(x/y(\cdot)\)

Parameters
x
y
Returns
Trajectory output

◆ operator+() [5/20]

const TrajectoryVector codac::operator+ ( const TrajectoryVector x)

\(\mathbf{x}(\cdot)\)

Parameters
x
Returns
TrajectoryVector output

◆ operator+() [6/20]

const TrajectoryVector codac::operator+ ( const TrajectoryVector x,
const TrajectoryVector y 
)

\(\mathbf{x}(\cdot)+\mathbf{y}(\cdot)\)

Parameters
x
y
Returns
TrajectoryVector output

◆ operator+() [7/20]

const TrajectoryVector codac::operator+ ( const TrajectoryVector x,
const Vector &  y 
)

\(\mathbf{x}(\cdot)+\mathbf{y}\)

Parameters
x
y
Returns
TrajectoryVector output

◆ operator+() [8/20]

const TrajectoryVector codac::operator+ ( const Vector &  x,
const TrajectoryVector y 
)

\(\mathbf{x}+\mathbf{y}(\cdot)\)

Parameters
x
y
Returns
TrajectoryVector output

◆ operator-() [5/20]

const TrajectoryVector codac::operator- ( const TrajectoryVector x)

\(-\mathbf{x}(\cdot)\)

Parameters
x
Returns
TrajectoryVector output

◆ operator-() [6/20]

const TrajectoryVector codac::operator- ( const TrajectoryVector x,
const TrajectoryVector y 
)

\(\mathbf{x}(\cdot)-\mathbf{y}(\cdot)\)

Parameters
x
y
Returns
TrajectoryVector output

◆ operator-() [7/20]

const TrajectoryVector codac::operator- ( const TrajectoryVector x,
const Vector &  y 
)

\(\mathbf{x}(\cdot)-\mathbf{y}\)

Parameters
x
y
Returns
TrajectoryVector output

◆ operator-() [8/20]

const TrajectoryVector codac::operator- ( const Vector &  x,
const TrajectoryVector y 
)

\(\mathbf{x}-\mathbf{y}(\cdot)\)

Parameters
x
y
Returns
TrajectoryVector output

◆ operator*() [4/16]

const TrajectoryVector codac::operator* ( double  x,
const TrajectoryVector y 
)

\(x\cdot\mathbf{y}(\cdot)\)

Parameters
x
y
Returns
TrajectoryVector output

◆ operator*() [5/16]

const TrajectoryVector codac::operator* ( const Trajectory x,
const TrajectoryVector y 
)

\(x(\cdot)\cdot\mathbf{y}(\cdot)\)

Parameters
x
y
Returns
TrajectoryVector output

◆ operator*() [6/16]

const TrajectoryVector codac::operator* ( const Trajectory x,
const Vector &  y 
)

\(x(\cdot)\cdot\mathbf{y}\)

Parameters
x
y
Returns
TrajectoryVector output

◆ operator*() [7/16]

const TrajectoryVector codac::operator* ( const Matrix &  x,
const TrajectoryVector y 
)

\(x(\cdot)\cdot\mathbf{y}\)

Parameters
x
y
Returns
TrajectoryVector output

◆ operator/() [4/15]

const TrajectoryVector codac::operator/ ( const TrajectoryVector x,
double  y 
)

\(\mathbf{x}(\cdot)/y\)

Parameters
x
y
Returns
TrajectoryVector output

◆ operator/() [5/15]

const TrajectoryVector codac::operator/ ( const TrajectoryVector x,
const Trajectory y 
)

\(\mathbf{x}(\cdot)/y(\cdot)\)

Parameters
x
y
Returns
TrajectoryVector output

◆ operator/() [6/15]

const TrajectoryVector codac::operator/ ( const Vector &  x,
const Trajectory y 
)

\(\mathbf{x}/y(\cdot)\)

Parameters
x
y
Returns
TrajectoryVector output

◆ vecto_product() [1/3]

const Vector codac::vecto_product ( const Vector &  x,
const Vector &  y 
)

\(\mathbf{x}\times\mathbf{y}\) (or \(\mathbf{x}\wedge\mathbf{y}\) in physics)

Parameters
x
y
Returns
Vector output

◆ vecto_product() [2/3]

const TrajectoryVector codac::vecto_product ( const TrajectoryVector x,
const Vector &  y 
)

\(\mathbf{x}(\cdot)\times\mathbf{y}\) (or \(\mathbf{x}(\cdot)\wedge\mathbf{y}\) in physics)

Parameters
x
y
Returns
TrajectoryVector output

◆ vecto_product() [3/3]

const TrajectoryVector codac::vecto_product ( const Vector &  x,
const TrajectoryVector y 
)

\(\mathbf{x}\times\mathbf{y}(\cdot)\) (or \(\mathbf{x}\wedge\mathbf{y}(\cdot)\) in physics)

Parameters
x
y
Returns
TrajectoryVector output

◆ abs() [2/4]

const TrajectoryVector codac::abs ( const TrajectoryVector x)

\(\mid\mathbf{x}(\cdot)\mid\)

Parameters
x
Returns
TrajectoryVector output

◆ cos() [2/2]

const Tube codac::cos ( const Tube x)

\(\cos([x](\cdot))\)

Parameters
x
Returns
Tube output

◆ sin() [2/2]

const Tube codac::sin ( const Tube x)

\(\sin([x](\cdot))\)

Parameters
x
Returns
Tube output

◆ abs() [3/4]

const Tube codac::abs ( const Tube x)

\(\mid[x](\cdot)\mid\)

Parameters
x
Returns
Tube output

◆ sqr() [2/2]

const Tube codac::sqr ( const Tube x)

\([x]^2(\cdot)\)

Parameters
x
Returns
Tube output

◆ sqrt() [2/2]

const Tube codac::sqrt ( const Tube x)

\(\sqrt{[x](\cdot)}\)

Parameters
x
Returns
Tube output

◆ exp() [2/2]

const Tube codac::exp ( const Tube x)

\(\exp([x](\cdot))\)

Parameters
x
Returns
Tube output

◆ log() [2/2]

const Tube codac::log ( const Tube x)

\(\log([x](\cdot))\)

Parameters
x
Returns
Tube output

◆ tan() [2/2]

const Tube codac::tan ( const Tube x)

\(\tan([x](\cdot))\)

Parameters
x
Returns
Tube output

◆ acos() [2/2]

const Tube codac::acos ( const Tube x)

\(\arccos([x](\cdot))\)

Parameters
x
Returns
Tube output

◆ asin() [2/2]

const Tube codac::asin ( const Tube x)

\(\arcsin([x](\cdot))\)

Parameters
x
Returns
Tube output

◆ atan() [2/2]

const Tube codac::atan ( const Tube x)

\(\arctan([x](\cdot))\)

Parameters
x
Returns
Tube output

◆ cosh() [2/2]

const Tube codac::cosh ( const Tube x)

\(\cosh([x](\cdot))\)

Parameters
x
Returns
Tube output

◆ sinh() [2/2]

const Tube codac::sinh ( const Tube x)

\(\sinh([x](\cdot))\)

Parameters
x
Returns
Tube output

◆ tanh() [2/2]

const Tube codac::tanh ( const Tube x)

\(\tanh([x](\cdot))\)

Parameters
x
Returns
Tube output

◆ acosh() [2/2]

const Tube codac::acosh ( const Tube x)

\(\mathrm{arccosh}([x](\cdot))\)

Parameters
x
Returns
Tube output

◆ asinh() [2/2]

const Tube codac::asinh ( const Tube x)

\(\mathrm{arcsinh}([x](\cdot))\)

Parameters
x
Returns
Tube output

◆ atanh() [2/2]

const Tube codac::atanh ( const Tube x)

\(\mathrm{arctanh}([x](\cdot))\)

Parameters
x
Returns
Tube output

◆ atan2() [4/6]

const Tube codac::atan2 ( const Tube y,
const Tube x 
)

\(\mathrm{arctan2}([y](\cdot),[x](\cdot))\)

Parameters
y
x
Returns
Tube output

◆ atan2() [5/6]

const Tube codac::atan2 ( const Tube y,
const Interval &  x 
)

\(\mathrm{arctan2}([y](\cdot),[x])\)

Parameters
y
x
Returns
Tube output

◆ atan2() [6/6]

const Tube codac::atan2 ( const Interval &  y,
const Tube x 
)

\(\mathrm{arctan2}([y],[x](\cdot))\)

Parameters
y
x
Returns
Tube output

◆ pow() [3/5]

const Tube codac::pow ( const Tube x,
int  p 
)

\([x]^p(\cdot)\)

Parameters
x
p
Returns
Tube output

◆ pow() [4/5]

const Tube codac::pow ( const Tube x,
double  p 
)

\([x]^p(\cdot)\)

Parameters
x
p
Returns
Tube output

◆ pow() [5/5]

const Tube codac::pow ( const Tube x,
const Interval &  p 
)

\([x]^{[p]}(\cdot)\)

Parameters
x
p
Returns
Tube output

◆ root() [2/2]

const Tube codac::root ( const Tube x,
int  p 
)

\(\sqrt[p]{[x](\cdot)}\)

Parameters
x
p
Returns
Tube output

◆ min() [4/6]

const Tube codac::min ( const Tube y,
const Tube x 
)

\(\min([y](\cdot),[x](\cdot))\)

Parameters
y
x
Returns
Tube output

◆ min() [5/6]

const Tube codac::min ( const Tube y,
const Interval &  x 
)

\(\min([y](\cdot),[x])\)

Parameters
y
x
Returns
Tube output

◆ min() [6/6]

const Tube codac::min ( const Interval &  y,
const Tube x 
)

\(\min([y],[x](\cdot))\)

Parameters
y
x
Returns
Tube output

◆ max() [4/6]

const Tube codac::max ( const Tube y,
const Tube x 
)

\(\max([y](\cdot),[x](\cdot))\)

Parameters
y
x
Returns
Tube output

◆ max() [5/6]

const Tube codac::max ( const Tube y,
const Interval &  x 
)

\(\max([y](\cdot),[x])\)

Parameters
y
x
Returns
Tube output

◆ max() [6/6]

const Tube codac::max ( const Interval &  y,
const Tube x 
)

\(\max([y],[x](\cdot))\)

Parameters
y
x
Returns
Tube output

◆ operator+() [9/20]

const Tube codac::operator+ ( const Tube x)

\([x](\cdot)\)

Parameters
x
Returns
Tube output

◆ operator+() [10/20]

const Tube codac::operator+ ( const Tube x,
const Tube y 
)

\([x](\cdot)+[y](\cdot)\)

Parameters
x
y
Returns
Tube output

◆ operator+() [11/20]

const Tube codac::operator+ ( const Tube x,
const Interval &  y 
)

\([x](\cdot)+[y]\)

Parameters
x
y
Returns
Tube output

◆ operator+() [12/20]

const Tube codac::operator+ ( const Interval &  x,
const Tube y 
)

\([x]+[y](\cdot)\)

Parameters
x
y
Returns
Tube output

◆ operator+() [13/20]

const Tube codac::operator+ ( const Tube x,
const Trajectory y 
)

\([x](\cdot)+y(\cdot)\)

Parameters
x
y
Returns
Tube output

◆ operator+() [14/20]

const Tube codac::operator+ ( const Trajectory x,
const Tube y 
)

\(x(\cdot)+[y](\cdot)\)

Parameters
x
y
Returns
Tube output

◆ operator-() [9/20]

const Tube codac::operator- ( const Tube x)

\(-[x](\cdot)\)

Parameters
x
Returns
Tube output

◆ operator-() [10/20]

const Tube codac::operator- ( const Tube x,
const Tube y 
)

\([x](\cdot)-[y](\cdot)\)

Parameters
x
y
Returns
Tube output

◆ operator-() [11/20]

const Tube codac::operator- ( const Tube x,
const Interval &  y 
)

\([x](\cdot)-[y]\)

Parameters
x
y
Returns
Tube output

◆ operator-() [12/20]

const Tube codac::operator- ( const Interval &  x,
const Tube y 
)

\([x]-[y](\cdot)\)

Parameters
x
y
Returns
Tube output

◆ operator-() [13/20]

const Tube codac::operator- ( const Tube x,
const Trajectory y 
)

\([x](\cdot)-y(\cdot)\)

Parameters
x
y
Returns
Tube output

◆ operator-() [14/20]

const Tube codac::operator- ( const Trajectory x,
const Tube y 
)

\(x(\cdot)-[y](\cdot)\)

Parameters
x
y
Returns
Tube output

◆ operator*() [8/16]

const Tube codac::operator* ( const Tube x,
const Tube y 
)

\([x](\cdot)\cdot[y](\cdot)\)

Parameters
x
y
Returns
Tube output

◆ operator*() [9/16]

const Tube codac::operator* ( const Tube x,
const Interval &  y 
)

\([x](\cdot)\cdot[y]\)

Parameters
x
y
Returns
Tube output

◆ operator*() [10/16]

const Tube codac::operator* ( const Interval &  x,
const Tube y 
)

\([x]\cdot[y](\cdot)\)

Parameters
x
y
Returns
Tube output

◆ operator*() [11/16]

const Tube codac::operator* ( const Tube x,
const Trajectory y 
)

\([x](\cdot)\cdot y(\cdot)\)

Parameters
x
y
Returns
Tube output

◆ operator*() [12/16]

const Tube codac::operator* ( const Trajectory x,
const Tube y 
)

\(x(\cdot)\cdot[y](\cdot)\)

Parameters
x
y
Returns
Tube output

◆ operator/() [7/15]

const Tube codac::operator/ ( const Tube x,
const Tube y 
)

\([x](\cdot)/[y](\cdot)\)

Parameters
x
y
Returns
Tube output

◆ operator/() [8/15]

const Tube codac::operator/ ( const Tube x,
const Interval &  y 
)

\([x](\cdot)/[y]\)

Parameters
x
y
Returns
Tube output

◆ operator/() [9/15]

const Tube codac::operator/ ( const Interval &  x,
const Tube y 
)

\([x]/[y](\cdot)\)

Parameters
x
y
Returns
Tube output

◆ operator/() [10/15]

const Tube codac::operator/ ( const Tube x,
const Trajectory y 
)

\([x](\cdot)/y(\cdot)\)

Parameters
x
y
Returns
Tube output

◆ operator/() [11/15]

const Tube codac::operator/ ( const Trajectory x,
const Tube y 
)

\(x(\cdot)/[y](\cdot)\)

Parameters
x
y
Returns
Tube output

◆ operator|() [2/13]

const Tube codac::operator| ( const Tube x,
const Tube y 
)

\([x](\cdot)\sqcup[y](\cdot)\)

Parameters
x
y
Returns
Tube output

◆ operator|() [3/13]

const Tube codac::operator| ( const Tube x,
const Interval &  y 
)

\([x](\cdot)\sqcup[y]\)

Parameters
x
y
Returns
Tube output

◆ operator|() [4/13]

const Tube codac::operator| ( const Interval &  x,
const Tube y 
)

\([x]\sqcup[y](\cdot)\)

Parameters
x
y
Returns
Tube output

◆ operator|() [5/13]

const Tube codac::operator| ( const Tube x,
const Trajectory y 
)

\([x](\cdot)\sqcup y(\cdot)\)

Parameters
x
y
Returns
Tube output

◆ operator|() [6/13]

const Tube codac::operator| ( const Trajectory x,
const Tube y 
)

\(x(\cdot)\sqcup [y](\cdot)\)

Parameters
x
y
Returns
Tube output

◆ operator &() [2/13]

const Tube codac::operator& ( const Tube x,
const Tube y 
)

\([x](\cdot)\cap[y](\cdot)\)

Parameters
x
y
Returns
Tube output

◆ operator &() [3/13]

const Tube codac::operator& ( const Tube x,
const Interval &  y 
)

\([x](\cdot)\cap[y]\)

Parameters
x
y
Returns
Tube output

◆ operator &() [4/13]

const Tube codac::operator& ( const Interval &  x,
const Tube y 
)

\([x]\cap[y](\cdot)\)

Parameters
x
y
Returns
Tube output

◆ operator &() [5/13]

const Tube codac::operator& ( const Tube x,
const Trajectory y 
)

\([x](\cdot)\cap y(\cdot)\)

Parameters
x
y
Returns
Tube output

◆ operator &() [6/13]

const Tube codac::operator& ( const Trajectory x,
const Tube y 
)

\(x(\cdot)\cap [y](\cdot)\)

Parameters
x
y
Returns
Tube output

◆ operator+() [15/20]

const TubeVector codac::operator+ ( const TubeVector x)

\([\mathbf{x}](\cdot)\)

Parameters
x
Returns
TubeVector output

◆ operator+() [16/20]

const TubeVector codac::operator+ ( const TubeVector x,
const TubeVector y 
)

\([\mathbf{x}](\cdot)+[\mathbf{y}](\cdot)\)

Parameters
x
y
Returns
TubeVector output

◆ operator+() [17/20]

const TubeVector codac::operator+ ( const TubeVector x,
const IntervalVector &  y 
)

\([\mathbf{x}](\cdot)+[\mathbf{y}]\)

Parameters
x
y
Returns
TubeVector output

◆ operator+() [18/20]

const TubeVector codac::operator+ ( const IntervalVector &  x,
const TubeVector y 
)

\([\mathbf{x}]+[\mathbf{y}](\cdot)\)

Parameters
x
y
Returns
TubeVector output

◆ operator+() [19/20]

const TubeVector codac::operator+ ( const TubeVector x,
const TrajectoryVector y 
)

\([\mathbf{x}](\cdot)+\mathbf{y}(\cdot)\)

Parameters
x
y
Returns
TubeVector output

◆ operator+() [20/20]

const TubeVector codac::operator+ ( const TrajectoryVector x,
const TubeVector y 
)

\(\mathbf{x}(\cdot)+[\mathbf{y}](\cdot)\)

Parameters
x
y
Returns
TubeVector output

◆ operator-() [15/20]

const TubeVector codac::operator- ( const TubeVector x)

\(-[\mathbf{x}](\cdot)\)

Parameters
x
Returns
TubeVector output

◆ operator-() [16/20]

const TubeVector codac::operator- ( const TubeVector x,
const TubeVector y 
)

\([\mathbf{x}](\cdot)-[\mathbf{y}](\cdot)\)

Parameters
x
y
Returns
TubeVector output

◆ operator-() [17/20]

const TubeVector codac::operator- ( const TubeVector x,
const IntervalVector &  y 
)

\([\mathbf{x}](\cdot)-[\mathbf{y}]\)

Parameters
x
y
Returns
TubeVector output

◆ operator-() [18/20]

const TubeVector codac::operator- ( const IntervalVector &  x,
const TubeVector y 
)

\([\mathbf{x}]-[\mathbf{y}](\cdot)\)

Parameters
x
y
Returns
TubeVector output

◆ operator-() [19/20]

const TubeVector codac::operator- ( const TubeVector x,
const TrajectoryVector y 
)

\([\mathbf{x}](\cdot)-\mathbf{y}(\cdot)\)

Parameters
x
y
Returns
TubeVector output

◆ operator-() [20/20]

const TubeVector codac::operator- ( const TrajectoryVector x,
const TubeVector y 
)

\(\mathbf{x}(\cdot)-[\mathbf{y}](\cdot)\)

Parameters
x
y
Returns
TubeVector output

◆ operator*() [13/16]

const TubeVector codac::operator* ( const Tube x,
const TubeVector y 
)

\([x](\cdot)\cdot[\mathbf{y}](\cdot)\)

Parameters
x
y
Returns
TubeVector output

◆ operator*() [14/16]

const TubeVector codac::operator* ( const Interval &  x,
const TubeVector y 
)

\([x]\cdot[\mathbf{y}](\cdot)\)

Parameters
x
y
Returns
TubeVector output

◆ operator*() [15/16]

const TubeVector codac::operator* ( const Tube x,
const IntervalVector &  y 
)

\([x](\cdot)\cdot[\mathbf{y}]\)

Parameters
x
y
Returns
TubeVector output

◆ operator*() [16/16]

const TubeVector codac::operator* ( const Trajectory x,
const TubeVector y 
)

\(x(\cdot)\cdot[\mathbf{y}](\cdot)\)

Parameters
x
y
Returns
TubeVector output

◆ operator/() [12/15]

const TubeVector codac::operator/ ( const TubeVector x,
const Tube y 
)

\([\mathbf{x}](\cdot)/[y](\cdot)\)

Parameters
x
y
Returns
TubeVector output

◆ operator/() [13/15]

const TubeVector codac::operator/ ( const TubeVector x,
const Interval &  y 
)

\([\mathbf{x}](\cdot)/[y]\)

Parameters
x
y
Returns
TubeVector output

◆ operator/() [14/15]

const TubeVector codac::operator/ ( const IntervalVector &  x,
const Tube y 
)

\([\mathbf{x}]/[y](\cdot)\)

Parameters
x
y
Returns
TubeVector output

◆ operator/() [15/15]

const TubeVector codac::operator/ ( const TubeVector x,
const Trajectory y 
)

\([\mathbf{x}](\cdot)/y(\cdot)\)

Parameters
x
y
Returns
TubeVector output

◆ operator|() [7/13]

const TubeVector codac::operator| ( const TubeVector x,
const TubeVector y 
)

\([\mathbf{x}](\cdot)\sqcup[\mathbf{y}](\cdot)\)

Parameters
x
y
Returns
TubeVector output

◆ operator|() [8/13]

const TubeVector codac::operator| ( const TubeVector x,
const IntervalVector &  y 
)

\([\mathbf{x}](\cdot)\sqcup[\mathbf{y}]\)

Parameters
x
y
Returns
TubeVector output

◆ operator|() [9/13]

const TubeVector codac::operator| ( const IntervalVector &  x,
const TubeVector y 
)

\([\mathbf{x}]\sqcup[\mathbf{y}](\cdot)\)

Parameters
x
y
Returns
TubeVector output

◆ operator|() [10/13]

const TubeVector codac::operator| ( const TubeVector x,
const TrajectoryVector y 
)

\([\mathbf{x}](\cdot)\sqcup\mathbf{y}(\cdot)\)

Parameters
x
y
Returns
TubeVector output

◆ operator|() [11/13]

const TubeVector codac::operator| ( const TrajectoryVector x,
const TubeVector y 
)

\(\mathbf{x}(\cdot)\sqcup[\mathbf{y}](\cdot)\)

Parameters
x
y
Returns
TubeVector output

◆ operator &() [7/13]

const TubeVector codac::operator& ( const TubeVector x,
const TubeVector y 
)

\([\mathbf{x}](\cdot)\cap[\mathbf{y}](\cdot)\)

Parameters
x
y
Returns
TubeVector output

◆ operator &() [8/13]

const TubeVector codac::operator& ( const TubeVector x,
const IntervalVector &  y 
)

\([\mathbf{x}](\cdot)\cap[\mathbf{y}]\)

Parameters
x
y
Returns
TubeVector output

◆ operator &() [9/13]

const TubeVector codac::operator& ( const IntervalVector &  x,
const TubeVector y 
)

\([\mathbf{x}]\cap[\mathbf{y}](\cdot)\)

Parameters
x
y
Returns
TubeVector output

◆ operator &() [10/13]

const TubeVector codac::operator& ( const TubeVector x,
const TrajectoryVector y 
)

\([\mathbf{x}](\cdot)\cap\mathbf{y}(\cdot)\)

Parameters
x
y
Returns
TubeVector output

◆ operator &() [11/13]

const TubeVector codac::operator& ( const TrajectoryVector x,
const TubeVector y 
)

\(\mathbf{x}(\cdot)\cap[\mathbf{y}](\cdot)\)

Parameters
x
y
Returns
TubeVector output

◆ abs() [4/4]

const TubeVector codac::abs ( const TubeVector x)

\(\mid\mathbf{x}(\cdot)\mid\)

Parameters
x
Returns
TubeVector output

◆ operator &() [12/13]

int codac::operator& ( TimePropag  a,
TimePropag  b 
)
inline

Allows tests on combinations of propagation ways.

Used for tests such as if(time_propag & TimePropag::FORWARD) { ... }

Parameters
afirst TimePropag operand
bsecond TimePropag operand
Returns
intersection of propagation ways
42  { return static_cast<int>(static_cast<int>(a) & static_cast<int>(b)); }

◆ operator|() [12/13]

TimePropag codac::operator| ( TimePropag  a,
TimePropag  b 
)
inline

Allows a combination of propagation ways.

Note
For instance: FORWARD | BACKWARD
Parameters
afirst TimePropag operand
bsecond TimePropag operand
Returns
union of propagation ways, such as FORWARD | BACKWARD
54  { return static_cast<TimePropag>(static_cast<int>(a) | static_cast<int>(b)); }
TimePropag
Specifies the temporal propagation way (forward or backward in time)
Definition: codac_DynCtc.h:26

◆ cart_prod() [1/2]

CtcCartProd codac::cart_prod ( Ctc &  c1,
Ctc &  c2 
)

Cartesian product of contractors from two Ctc objects.

Parameters
c1first Ctc contractor
c2second Ctc contractor
Returns
the Cartesian product of the contractors \(\mathcal{C}_1\times\dots\times\mathcal{C}_n\)

◆ cart_prod() [2/2]

CtcCartProd codac::cart_prod ( const ibex::Array< Ctc > &  array)

Cartesian product of contractors from an ibex::Array.

Parameters
arrayibex::Array of contractors
Returns
the Cartesian product of the contractors \(\mathcal{C}_1\times\dots\times\mathcal{C}_n\)

◆ rgb2hex()

const std::string codac::rgb2hex ( rgb  rgb_value,
const char *  prefix = "#" 
)

Represents an RGB value in a HTML standard.

Parameters
rgb_value
prefixoptional characters ("#" by default)
Returns
the HTML string

◆ hsv2rgb()

rgb codac::hsv2rgb ( hsv  hsv_value)

Converts HSV to RGB.

Parameters
hsv_value
Returns
RGB value

◆ rgb2hsv()

hsv codac::rgb2hsv ( rgb  rgb_value)

Converts RGB to HSV.

Parameters
rgb_value
Returns
HSV value

◆ make_rgb() [1/2]

rgb codac::make_rgb ( int  r,
int  g,
int  b,
int  alpha = 255 
)

Makes an RGV value from integers.

Parameters
rred value, integer between 0 and 255
ggreen value, integer between 0 and 255
bblue value, integer between 0 and 255
alphaopacity value, integer between 0 (transparent) and 255 (opaque)
Returns
RGB value

◆ make_rgb() [2/2]

rgb codac::make_rgb ( float  r,
float  g,
float  b,
float  alpha = 1. 
)

Makes an RGV value from floats.

Parameters
rred value, float between 0. and 1.
ggreen value, float between 0. and 1.
bblue value, float between 0. and 1.
alphaopacity value, float between 0. (transparent) and 1. (opaque)
Returns
RGB value

◆ make_hsv() [1/2]

hsv codac::make_hsv ( int  h,
int  s,
int  v,
int  alpha = 100 
)

Makes an HSV value from integers.

Parameters
hhue value, integer between 0 and 360
ssaturation value, integer between 0 and 100
vvalue (lightness), integer between 0 and 100
alphaopacity value, integer between 0 (transparent) and 100 (opaque)
Returns
HSV value

◆ make_hsv() [2/2]

hsv codac::make_hsv ( float  h,
float  s,
float  v,
float  alpha = 1. 
)

Makes an HSV value from floats.

Parameters
hhue value, float between 0. and 360.
ssaturation value, float between 0. and 1.
vvalue (lightness), float between 0. and 1.
alphaopacity value, float between 0. (transparent) and 1. (opaque)
Returns
HSV value

◆ operator &() [13/13]

int codac::operator& ( SetValue  a,
SetValue  b 
)
inline

Allows tests on combinations of two SetValue.

Used for tests such as if(set_val & SetValue::OUT) { ... }

Parameters
afirst SetValue operand
bsecond SetValue operand
Returns
intersection of set values
46  { return static_cast<int>(static_cast<int>(a) & static_cast<int>(b)); }

◆ operator|() [13/13]

SetValue codac::operator| ( SetValue  a,
SetValue  b 
)
inline

Union of two SetValue values.

Avoids the need to cast for boolean union operations.

Parameters
a
b
Returns
the interval union a|b
58  { return static_cast<SetValue>(static_cast<int>(a) | static_cast<int>(b)); }
SetValue
Defines a set of feasible values of a set.
Definition: codac_Set.h:26

◆ serialize_Interval()

void codac::serialize_Interval ( std::ofstream &  bin_file,
const Interval &  intv 
)

Writes an Interval object into a binary file.

Interval binary structure:
[char_intv_type]
[double_lb]
[double_ub]

char_intv_type refers the type of Interval: either BOUNDED, EMPTY_SET, ALL_REALS, POS_REALS, NEG_REALS.

In case of unbounded intervals, the two last fields disappear.

Parameters
bin_filebinary file (ofstream object)
intvInterval object to be serialized

◆ deserialize_Interval()

void codac::deserialize_Interval ( std::ifstream &  bin_file,
Interval &  intv 
)

Creates an Interval object from a binary file.

The binary file has to be written by the serialize_Interval() function.

Parameters
bin_filebinary file (ifstream object)
intvInterval object to be deserialized

◆ deserialize_IntervalVector()

void codac::deserialize_IntervalVector ( std::ifstream &  bin_file,
IntervalVector &  box 
)

Writes an IntervalVector object into a binary file.

IntervalVector binary structure:
[short_int_size]
[Interval_1]
...
[Interval_n]

Parameters
bin_filebinary file (ofstream object)
boxIntervalVector object to be serialized

◆ serialize_IntervalVector()

void codac::serialize_IntervalVector ( std::ofstream &  bin_file,
const IntervalVector &  box 
)

Creates an IntervalVector object from a binary file.

The binary file has to be written by the serialize_IntervalVector() function.

Parameters
bin_filebinary file (ifstream object)
boxIntervalVector object to be deserialized

◆ serialize_Trajectory()

void codac::serialize_Trajectory ( std::ofstream &  bin_file,
const Trajectory traj,
int  version_number = SERIALIZATION_VERSION 
)

Writes a Trajectory object into a binary file.

Trajectory binary structure:
[short_int_version_number]
[int_nb_points]
[double_t_pt1]
[double_y_pt1]
[double_t_pt2]
[double_y_pt2]
[double_t_pt3]
...

Note
Only map valued trajectories are serializable
Parameters
bin_filebinary file (ofstream object)
trajTrajectory object to be serialized
version_numberoptional version number for tests purposes (backwards compatibility)

◆ deserialize_Trajectory()

void codac::deserialize_Trajectory ( std::ifstream &  bin_file,
Trajectory *&  traj 
)

Creates a Trajectory object from a binary file.

The binary file has to be written by the serialize_Trajectory() function.

Parameters
bin_filebinary file (ifstream object)
trajTrajectory object to be deserialized

◆ serialize_TrajectoryVector()

void codac::serialize_TrajectoryVector ( std::ofstream &  bin_file,
const TrajectoryVector traj,
int  version_number = SERIALIZATION_VERSION 
)

Writes a TrajectoryVector object into a binary file.

TrajectoryVector binary structure:
[short_int_size]
[Trajectory_1]
...
[Trajectory_n]

Parameters
bin_filebinary file (ofstream object)
trajTrajectoryVector object to be serialized
version_numberoptional version number for tests purposes (backwards compatibility)

◆ deserialize_TrajectoryVector()

void codac::deserialize_TrajectoryVector ( std::ifstream &  bin_file,
TrajectoryVector *&  traj 
)

Creates a TrajectoryVector object from a binary file.

The binary file has to be written by the serialize_TrajectoryVector() function.

Parameters
bin_filebinary file (ifstream object)
trajTrajectoryVector object to be deserialized

◆ serialize_Tube()

void codac::serialize_Tube ( std::ofstream &  bin_file,
const Tube tube,
int  version_number = SERIALIZATION_VERSION 
)

Writes a Tube object into a binary file (version 2)

Tube binary structure:
[short_int_version_number]
[int_nb_slices]
[double_t0]
[double_t1] // time input shared by 1rst and 2nd slices
[double_t2]
...
[interval_y0] // value of 1rst slice
[interval_y1]
...
[gate_t0] // value of 1rst gate
[gate_t1]
...

Parameters
bin_filebinary file (ofstream object)
tubeTube object to be serialized
version_numberoptional version number for tests purposes (backwards compatibility)

◆ deserialize_Tube()

void codac::deserialize_Tube ( std::ifstream &  bin_file,
Tube *&  tube 
)

Creates a Tube object from a binary file.

The binary file has to be written by the serialize_Tube() function.

Parameters
bin_filebinary file (ifstream object)
tubeTube object to be deserialized

◆ serialize_TubeVector()

void codac::serialize_TubeVector ( std::ofstream &  bin_file,
const TubeVector tube,
int  version_number = SERIALIZATION_VERSION 
)

Writes a TubeVector object into a binary file.

TubeVector binary structure:
[short_int_size]
[Tube_1]
...
[Tube_n]

Parameters
bin_filebinary file (ofstream object)
tubeTubeVector object to be serialized
version_numberoptional version number for tests purposes (backwards compatibility)

◆ deserialize_TubeVector()

void codac::deserialize_TubeVector ( std::ifstream &  bin_file,
TubeVector *&  tube 
)

Creates a TubeVector object from a binary file.

The binary file has to be written by the serialize_TubeVector() function.

Parameters
bin_filebinary file (ifstream object)
tubeTubeVector object to be deserialized

◆ SIVIA() [1/3]

std::map<SetValue,std::list<IntervalVector> > codac::SIVIA ( const IntervalVector &  x,
const IntervalVector &  y,
Ctc &  ctc,
float  precision,
bool  regular_paving = false,
bool  display_result = true,
const std::string &  fig_name = "",
bool  return_result = false,
const SetColorMap &  color_map = DEFAULT_SET_COLOR_MAP 
)

Executes a SIVIA algorithm from a contractor, and displays the result. SIVIA: Set Inversion Via Interval Analysis.

The result is displayed in the current VIBes figure.

Parameters
xinitial box (part that will be bisected)
yinitial box (part that will not be bisected)
ctcContractor operator for the set inversion
precisionaccuracy of the paving algorithm
regular_pavingregular bisection rule
display_resultdisplay information if true
fig_namename of the figure on which boxes are drawn. If empty, default figure is used
return_resultif true, boxes will be stored in the returned map
color_mapcolor map used to draw boxes, see SetColorMap
Returns
return a map of lists of boxes. Keys of the map are IN/OUT/UNKNOWN. The lists are empty if return_result if false.

◆ SIVIA() [2/3]

std::map<SetValue,std::list<IntervalVector> > codac::SIVIA ( const IntervalVector &  x,
Ctc &  ctc,
float  precision,
bool  regular_paving = false,
bool  display_result = true,
const std::string &  fig_name = "",
bool  return_result = false,
const SetColorMap &  color_map = DEFAULT_SET_COLOR_MAP 
)

Executes a SIVIA algorithm from a contractor, and displays the result. SIVIA: Set Inversion Via Interval Analysis.

The result is displayed in the current VIBes figure.

Parameters
xinitial box
ctcContractor operator for the set inversion
precisionaccuracy of the paving algorithm
regular_pavingregular bisection rule
display_resultdisplay information if true
fig_namename of the figure on which boxes are drawn. If empty, default figure is used
return_resultif true, boxes will be stored in the returned map
color_mapcolor map used to draw boxes, see SetColorMap
Returns
return a map of lists of boxes. Keys of the map are IN/OUT/UNKNOWN. The lists are empty if return_result if false.

◆ SIVIA() [3/3]

std::map<SetValue,std::list<IntervalVector> > codac::SIVIA ( const IntervalVector &  x,
ibex::Sep &  sep,
float  precision,
bool  regular_paving = false,
bool  display_result = true,
const std::string &  fig_name = "",
bool  return_result = false,
const SetColorMap &  color_map = DEFAULT_SET_COLOR_MAP 
)

Executes a SIVIA algorithm from a separator, and displays the result. SIVIA: Set Inversion Via Interval Analysis.

The result is displayed in the current VIBes figure.

Parameters
xinitial box
sepSeparator operator for the set inversion
precisionaccuracy of the paving algorithm
regular_pavingregular bisection rule
display_resultdisplay information if true
fig_namename of the figure if None use the current figure. If empty, default figure is used
return_resultif true, boxes will be stored in the returned map
color_mapcolor map used to draw boxes, see SetColorMap
Returns
return a map of lists of boxes. Keys of the map are IN/OUT/UNKNOWN. The lists are empty if return_result if false.