codac 2.0.0
|
Go to the source code of this file.
Functions | |
template<typename T, int R = RowsAtCompileTime, int C = ColsAtCompileTime> requires (std::is_arithmetic_v<T> && IsIntervalDomain<Scalar> && IsVectorOrRow<R,C>) | |
Matrix (std::initializer_list< T > l) | |
Constructs an interval vector or interval row from an initializer list of floating point values. | |
template<int R = RowsAtCompileTime, int C = ColsAtCompileTime> requires IsIntervalDomain<Scalar> && IsVectorOrRow<R,C> | |
Matrix (std::initializer_list< std::initializer_list< double > > l) | |
Constructs an interval vector or interval row from an initializer list of initializer lists of doubles. | |
template<int R = RowsAtCompileTime, int C = ColsAtCompileTime> requires IsIntervalDomain<Scalar> && IsVectorOrRow<R,C> | |
Matrix (std::initializer_list< codac2::Interval > l) | |
Constructs an interval vector or interval row from an initializer list of intervals. | |
template<int R = RowsAtCompileTime, int C = ColsAtCompileTime> requires IsIntervalDomain<Scalar> && IsVectorOrRow<R,C> | |
Matrix (int n, const double bounds[][2]) | |
Constructs an interval vector or interval row from a size and array of bounds. | |
This class reuses some of the functions developed for ibex::IntervalVector. The original IBEX code is revised in modern C++ and adapted to the template structure proposed in Codac, based on the Eigen library. See ibex::IntervalVector (IBEX lib, author: Gilles Chabert)
This file is included in the declaration of Eigen::MatrixBase, thanks to the preprocessor token EIGEN_MATRIX_PLUGIN. See: https://eigen.tuxfamily.org/dox/TopicCustomizing_Plugins.html and the file codac2_matrices.h
Matrix | ( | std::initializer_list< T > | l | ) |
Constructs an interval vector or interval row from an initializer list of floating point values.
Converts each value in the list into a degenerate interval and stores it in the structure.
IsVectorOrRow
).l | Initializer list of values to convert into intervals. |
l
must not be empty. Matrix | ( | std::initializer_list< std::initializer_list< double > > | l | ) |
Constructs an interval vector or interval row from an initializer list of initializer lists of doubles.
Converts each inner list into an interval and stores it in the structure.
IsVectorOrRow
).l | Initializer list of initializer lists of doubles representing intervals. |
l
must not be empty. Matrix | ( | std::initializer_list< codac2::Interval > | l | ) |
Constructs an interval vector or interval row from an initializer list of intervals.
Copies each interval in the list into the structure.
IsVectorOrRow
).l | Initializer list of intervals. |
l
must not be empty. Matrix | ( | int | n, |
const double | bounds[][2] ) |
Constructs an interval vector or interval row from a size and array of bounds.
Initializes the structure intervals using the given array of bounds.
IsVectorOrRow
).n | Number of components (must be positive). |
bounds | Array of bounds, each element containing lower and upper bound as double. |
n
must be greater than zero.