codac 2.0.0
|
Go to the source code of this file.
Functions | |
template<typename U = Scalar, int R = RowsAtCompileTime, int C = ColsAtCompileTime> requires IsIntervalDomain<U> && IsVectorOrRow<R,C> | |
auto | complementary () const |
Computes the complementary set of this interval vector (or interval row). | |
template<typename OtherDerived, typename U = Scalar, int R = RowsAtCompileTime, int C = ColsAtCompileTime> requires IsIntervalDomain<U> && IsVectorOrRow<R,C> | |
std::list< Matrix< codac2::Interval, R, C > > | diff (const MatrixBase< OtherDerived > &y, bool compactness=true) const |
Computes the difference between this interval vector (or interval row) and another. | |
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_MATRIXBASE_PLUGIN. See: https://eigen.tuxfamily.org/dox/TopicCustomizing_Plugins.html and the file codac2_matrices.h
|
inline |
Computes the complementary set of this interval vector (or interval row).
This function returns the set of intervals that are not part of this vector, interpreted as the complement with respect to the whole interval domain.
|
inline |
Computes the difference between this interval vector (or interval row) and another.
This method returns the set-theoretic difference between this vector x
and another vector y
, i.e., all values contained in x
but not in y
. The result is expressed as a list of disjoint interval vectors.
y | The interval vector to subtract. |
compactness | optional boolean to obtain or not disjoint intervals. |
this \ y
. The list is empty if the difference is empty.y
is a flat interval (degenerate) in some dimensions and x
is not, this may return x
directly to avoid unnecessary fragmentation (depending on the compactness
flag).