codac 2.0.0
Loading...
Searching...
No Matches
codac2_MatrixBase_addons_IntervalMatrixBase.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define degenerate_mat(op)
 Helper macro to create a matrix from a specific operation applied to each interval element.
 

Functions

template<typename U = Scalar>
requires IsIntervalDomain<U>
double volume () const
 Computes the volume of the interval matrix.
 
bool is_empty () const
 Checks whether the interval matrix is empty.
 
template<typename U = Scalar>
requires IsIntervalDomain<U>
auto lb () const
 Returns a matrix containing the lower bounds of each interval element.
 
template<typename U = Scalar>
requires IsIntervalDomain<U>
auto ub () const
 Returns a matrix containing the upper bounds of each interval element.
 
template<typename U = Scalar>
requires IsIntervalDomain<U>
auto mid () const
 Returns a matrix containing the midpoints of each interval element.
 
template<typename U = Scalar>
requires IsIntervalDomain<U>
auto mag () const
 Returns a matrix containing the magnitudes of each interval element.
 
template<typename U = Scalar>
requires IsIntervalDomain<U>
auto mig () const
 Returns a matrix containing the mignitudes of each interval element.
 
template<typename U = Scalar>
requires IsIntervalDomain<U>
auto rand () const
 Returns a matrix with random values chosen inside each interval element.
 
template<typename U = Scalar>
requires IsIntervalDomain<U>
auto rad () const
 Returns a matrix containing the radii of each interval element.
 
template<typename U = Scalar>
requires IsIntervalDomain<U>
auto diam () const
 Returns a matrix containing the diameters of each interval element.
 
bool contains (const Matrix< double, RowsAtCompileTime, ColsAtCompileTime > &x) const
 Checks if this interval matrix contains the specified matrix x.
 
template<typename OtherDerived>
bool contains (const MatrixBase< OtherDerived > &x) const
 Template version to check containment of a matrix with arbitrary derived type.
 
template<typename T>
bool _contains (const T &x) const
 Internal helper function to check containment.
 
bool interior_contains (const Matrix< double, RowsAtCompileTime, ColsAtCompileTime > &x) const
 Checks if the interior of this interval matrix contains the specified matrix x.
 
template<typename OtherDerived>
bool interior_contains (const MatrixBase< OtherDerived > &x) const
 Template version to check interior containment of a matrix with arbitrary derived type.
 
template<typename T>
bool _interior_contains (const T &x) const
 Internal helper function to check interior containment.
 
bool is_unbounded () const
 Checks if the interval matrix contains any unbounded intervals.
 
bool is_degenerated () const
 Checks if the interval matrix is degenerated.
 
bool is_flat () const
 Checks if the interval matrix is flat.
 
bool intersects (const Matrix< codac2::Interval, RowsAtCompileTime, ColsAtCompileTime > &x) const
 Checks whether this matrix intersects with another matrix of intervals.
 
template<typename OtherDerived>
bool intersects (const MatrixBase< OtherDerived > &x) const
 Checks whether this matrix intersects with another Eigen-compatible matrix.
 
template<typename OtherDerived>
bool _intersects (const MatrixBase< OtherDerived > &x) const
 Internal helper that performs intersection checking.
 
bool is_disjoint (const Matrix< codac2::Interval, RowsAtCompileTime, ColsAtCompileTime > &x) const
 Checks if this matrix is disjoint with another matrix of intervals.
 
template<typename OtherDerived>
bool is_disjoint (const MatrixBase< OtherDerived > &x) const
 Checks if this matrix is disjoint with another matrix of compatible type.
 
template<typename OtherDerived>
bool _is_disjoint (const MatrixBase< OtherDerived > &x) const
 Internal helper for disjointness checking.
 
bool overlaps (const Matrix< codac2::Interval, RowsAtCompileTime, ColsAtCompileTime > &x) const
 Checks whether this matrix overlaps with another.
 
template<typename OtherDerived>
bool overlaps (const MatrixBase< OtherDerived > &x) const
 Checks whether this matrix overlaps with another matrix of compatible type.
 
template<typename OtherDerived>
bool _overlaps (const MatrixBase< OtherDerived > &x) const
 Internal helper to check overlap.
 
bool is_subset (const Matrix< codac2::Interval, RowsAtCompileTime, ColsAtCompileTime > &x) const
 Checks whether this matrix is a subset of another interval matrix.
 
template<typename OtherDerived>
bool is_subset (const MatrixBase< OtherDerived > &x) const
 Checks whether this matrix is a subset of another matrix (Eigen-compatible).
 
template<typename T>
bool _is_subset (const T &x) const
 Internal helper for subset check.
 
bool is_strict_subset (const Matrix< codac2::Interval, RowsAtCompileTime, ColsAtCompileTime > &x) const
 Checks whether this matrix is a strict subset of another matrix.
 
template<typename OtherDerived>
bool is_strict_subset (const MatrixBase< OtherDerived > &x) const
 Checks whether this matrix is a strict subset of another matrix (Eigen-compatible).
 
template<typename T>
bool _is_strict_subset (const T &x) const
 Internal helper for strict subset check.
 
bool is_interior_subset (const Matrix< codac2::Interval, RowsAtCompileTime, ColsAtCompileTime > &x) const
 Checks whether this matrix is an interior subset of another.
 
template<typename OtherDerived>
bool is_interior_subset (const MatrixBase< OtherDerived > &x) const
 Checks whether this matrix is an interior subset of another matrix (Eigen-compatible).
 
template<typename OtherDerived>
bool _is_interior_subset (const MatrixBase< OtherDerived > &x) const
 Internal helper for interior subset checking.
 
bool is_strict_interior_subset (const Matrix< codac2::Interval, RowsAtCompileTime, ColsAtCompileTime > &x) const
 Checks whether this matrix is a strict interior subset of another matrix.
 
template<typename OtherDerived>
bool is_strict_interior_subset (const MatrixBase< OtherDerived > &x) const
 Checks whether this matrix is a strict interior subset of another Eigen-compatible matrix.
 
template<typename OtherDerived>
bool _is_strict_interior_subset (const MatrixBase< OtherDerived > &x) const
 Internal helper for strict interior subset relation.
 
bool is_superset (const Matrix< codac2::Interval, RowsAtCompileTime, ColsAtCompileTime > &x) const
 Checks whether this matrix is a superset of another interval matrix.
 
template<typename OtherDerived>
bool is_superset (const MatrixBase< OtherDerived > &x) const
 Checks whether this matrix is a superset of another Eigen-compatible matrix.
 
template<typename OtherDerived>
bool _is_superset (const MatrixBase< OtherDerived > &x) const
 Internal helper for superset check.
 
bool is_strict_superset (const Matrix< codac2::Interval, RowsAtCompileTime, ColsAtCompileTime > &x) const
 Checks whether this matrix is a strict superset of another matrix.
 
template<typename OtherDerived>
bool is_strict_superset (const MatrixBase< OtherDerived > &x) const
 Checks whether this matrix is a strict superset of an Eigen-compatible matrix.
 
template<typename OtherDerived>
bool _is_strict_superset (const MatrixBase< OtherDerived > &x) const
 Internal helper for strict superset check.
 
bool is_bisectable () const
 Checks whether at least one interval in the matrix is bisectable.
 

Detailed Description

This class reuses some of the functions developed for ibex::IntervalMatrixBase. 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::IntervalMatrixBase (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


Date
2024
Author
Simon Rohou, Gilles Chabert
License: GNU Lesser General Public License (LGPL)

Function Documentation

◆ volume()

template<typename U = Scalar>
requires IsIntervalDomain<U>
double volume ( ) const
inline

Computes the volume of the interval matrix.

The volume is computed as the sum of the diameters of each interval element. If any interval is unbounded, returns positive infinity. If the matrix is empty or any interval is degenerated, returns 0.

Precondition
The Scalar type must satisfy the IsIntervalDomain concept.
Returns
The computed volume as a double precision floating point number.
34{
35 if(this->is_empty())
36 return 0.;
37
38 double v = 0.;
39 for(Index i = 0 ; i < this->rows() ; i++)
40 for(Index j = 0 ; j < this->cols() ; j++)
41 {
42 if((*this)(i,j).is_unbounded()) return codac2::oo;
43 if((*this)(i,j).is_degenerated()) return 0.;
44 v += std::log((*this)(i,j).diam());
45 }
46 return std::exp(v);
47}
bool is_degenerated() const
Checks if the interval matrix is degenerated.
Definition codac2_MatrixBase_addons_IntervalMatrixBase.h:300
bool is_unbounded() const
Checks if the interval matrix contains any unbounded intervals.
Definition codac2_MatrixBase_addons_IntervalMatrixBase.h:283
auto diam() const
Returns a matrix containing the diameters of each interval element.
Definition codac2_MatrixBase_addons_IntervalMatrixBase.h:185
bool is_empty() const
Checks whether the interval matrix is empty.
Definition codac2_MatrixBase_addons_IntervalMatrixBase.h:56

◆ is_empty()

bool is_empty ( ) const
inline

Checks whether the interval matrix is empty.

An interval matrix is considered empty if any of its elements is empty.

Returns
true if any element interval is empty, false otherwise.
57{
58 for(Index i = 0 ; i < rows() ; i++)
59 for(Index j = 0 ; j < cols() ; j++)
60 if((*this)(i,j).is_empty())
61 return true;
62 return false;
63}

◆ lb()

template<typename U = Scalar>
requires IsIntervalDomain<U>
auto lb ( ) const
inline

Returns a matrix containing the lower bounds of each interval element.

Returns
A matrix of doubles where each element is the lower bound of the corresponding interval.
92{
94}
auto lb() const
Returns a matrix containing the lower bounds of each interval element.
Definition codac2_MatrixBase_addons_IntervalMatrixBase.h:91
#define degenerate_mat(op)
Helper macro to create a matrix from a specific operation applied to each interval element.
Definition codac2_MatrixBase_addons_IntervalMatrixBase.h:69

◆ ub()

template<typename U = Scalar>
requires IsIntervalDomain<U>
auto ub ( ) const
inline

Returns a matrix containing the upper bounds of each interval element.

Returns
A matrix of doubles where each element is the upper bound of the corresponding interval.
104{
106}
auto ub() const
Returns a matrix containing the upper bounds of each interval element.
Definition codac2_MatrixBase_addons_IntervalMatrixBase.h:103

◆ mid()

template<typename U = Scalar>
requires IsIntervalDomain<U>
auto mid ( ) const
inline

Returns a matrix containing the midpoints of each interval element.

The midpoint is the average of the lower and upper bounds.

Returns
A matrix of doubles where each element is the midpoint of the corresponding interval.
118{
120}
auto mid() const
Returns a matrix containing the midpoints of each interval element.
Definition codac2_MatrixBase_addons_IntervalMatrixBase.h:117

◆ mag()

template<typename U = Scalar>
requires IsIntervalDomain<U>
auto mag ( ) const
inline

Returns a matrix containing the magnitudes of each interval element.

The magnitude is max(|lower bound|, |upper bound|).

Returns
A matrix of doubles with the magnitudes of each interval.
132{
134}
auto mag() const
Returns a matrix containing the magnitudes of each interval element.
Definition codac2_MatrixBase_addons_IntervalMatrixBase.h:131

◆ mig()

template<typename U = Scalar>
requires IsIntervalDomain<U>
auto mig ( ) const
inline

Returns a matrix containing the mignitudes of each interval element.

Returns
A matrix of doubles with the mignitudes of each interval.
144{
146}
auto mig() const
Returns a matrix containing the mignitudes of each interval element.
Definition codac2_MatrixBase_addons_IntervalMatrixBase.h:143

◆ rand()

template<typename U = Scalar>
requires IsIntervalDomain<U>
auto rand ( ) const
inline

Returns a matrix with random values chosen inside each interval element.

Each element in the resulting matrix is a random number uniformly sampled inside the interval.

Returns
A matrix of doubles containing random samples within each interval.
158{
160}
auto rand() const
Returns a matrix with random values chosen inside each interval element.
Definition codac2_MatrixBase_addons_IntervalMatrixBase.h:157

◆ rad()

template<typename U = Scalar>
requires IsIntervalDomain<U>
auto rad ( ) const
inline

Returns a matrix containing the radii of each interval element.

The radius is half the diameter of the interval.

Returns
A matrix of doubles with the radii of each interval.
172{
174}
auto rad() const
Returns a matrix containing the radii of each interval element.
Definition codac2_MatrixBase_addons_IntervalMatrixBase.h:171

◆ diam()

template<typename U = Scalar>
requires IsIntervalDomain<U>
auto diam ( ) const
inline

Returns a matrix containing the diameters of each interval element.

The diameter is the difference between upper and lower bounds.

Returns
A matrix of doubles with the diameters of each interval.
186{
188}

◆ contains() [1/2]

bool contains ( const Matrix< double, RowsAtCompileTime, ColsAtCompileTime > & x) const
inline

Checks if this interval matrix contains the specified matrix x.

This means every element of x is contained in the corresponding interval element of this matrix.

Parameters
xThe matrix to test for containment.
Returns
true if every element of x is contained within the corresponding interval element.
199{
200 return _contains(x);
201}
bool _contains(const T &x) const
Internal helper function to check containment.
Definition codac2_MatrixBase_addons_IntervalMatrixBase.h:219

◆ contains() [2/2]

template<typename OtherDerived>
bool contains ( const MatrixBase< OtherDerived > & x) const
inline

Template version to check containment of a matrix with arbitrary derived type.

Parameters
xThe matrix to test.
Returns
true if this interval matrix contains x.
211{
212 return _contains(x);
213}

◆ interior_contains() [1/2]

bool interior_contains ( const Matrix< double, RowsAtCompileTime, ColsAtCompileTime > & x) const
inline

Checks if the interior of this interval matrix contains the specified matrix x.

The interior containment means strict containment, not just boundary.

Parameters
xThe matrix to test.
Returns
true if the interior of this matrix contains x.
243{
244 return _interior_contains(x);
245}
bool _interior_contains(const T &x) const
Internal helper function to check interior containment.
Definition codac2_MatrixBase_addons_IntervalMatrixBase.h:263

◆ interior_contains() [2/2]

template<typename OtherDerived>
bool interior_contains ( const MatrixBase< OtherDerived > & x) const
inline

Template version to check interior containment of a matrix with arbitrary derived type.

Parameters
xThe matrix to test.
Returns
true if interior contains x.
255{
256 return _interior_contains(x);
257}

◆ is_unbounded()

bool is_unbounded ( ) const
inline

Checks if the interval matrix contains any unbounded intervals.

Returns
true if any interval element is unbounded, false otherwise.
284{
285 if(this->is_empty()) return false;
286 for(Index i = 0 ; i < this->rows() ; i++)
287 for(Index j = 0 ; j < this->cols() ; j++)
288 if((*this)(i,j).is_unbounded())
289 return true;
290 return false;
291}

◆ is_degenerated()

bool is_degenerated ( ) const
inline

Checks if the interval matrix is degenerated.

An interval matrix is degenerated if all its elements are degenerated intervals.

Returns
true if all interval elements are degenerated.
301{
302 for(Index i = 0 ; i < this->rows() ; i++)
303 for(Index j = 0 ; j < this->cols() ; j++)
304 if(!(*this)(i,j).is_degenerated())
305 return false;
306 return true;
307}

◆ is_flat()

bool is_flat ( ) const
inline

Checks if the interval matrix is flat.

A matrix is considered flat if at least one of its intervals is degenerated (i.e., has zero diameter), or if the matrix is empty.

Returns
true if the matrix is empty or contains at least one degenerated interval.
318{
319 if(this->is_empty()) return true;
320 for(Index i = 0 ; i < this->rows() ; i++)
321 for(Index j = 0 ; j < this->cols() ; j++)
322 if((*this)(i,j).is_degenerated()) // don't use diam() because of roundoff
323 return true;
324 return false;
325}

◆ intersects() [1/2]

bool intersects ( const Matrix< codac2::Interval, RowsAtCompileTime, ColsAtCompileTime > & x) const
inline

Checks whether this matrix intersects with another matrix of intervals.

Intersection means that every corresponding interval pair from both matrices has a non-empty intersection.

Parameters
xA matrix of intervals of the same size.
Returns
true if all corresponding elements intersect, false otherwise.
336{
337 return _intersects(x);
338}
bool _intersects(const MatrixBase< OtherDerived > &x) const
Internal helper that performs intersection checking.
Definition codac2_MatrixBase_addons_IntervalMatrixBase.h:356

◆ intersects() [2/2]

template<typename OtherDerived>
bool intersects ( const MatrixBase< OtherDerived > & x) const
inline

Checks whether this matrix intersects with another Eigen-compatible matrix.

Parameters
xThe matrix to test for intersection.
Returns
true if all corresponding interval elements intersect, false otherwise.
348{
349 return _intersects(x);
350}

◆ is_disjoint() [1/2]

bool is_disjoint ( const Matrix< codac2::Interval, RowsAtCompileTime, ColsAtCompileTime > & x) const
inline

Checks if this matrix is disjoint with another matrix of intervals.

Disjoint means there exists at least one interval pair that does not intersect.

Parameters
xA matrix of intervals.
Returns
true if at least one pair of intervals is disjoint, false otherwise.
380{
381 return _is_disjoint(x);
382}
bool _is_disjoint(const MatrixBase< OtherDerived > &x) const
Internal helper for disjointness checking.
Definition codac2_MatrixBase_addons_IntervalMatrixBase.h:400

◆ is_disjoint() [2/2]

template<typename OtherDerived>
bool is_disjoint ( const MatrixBase< OtherDerived > & x) const
inline

Checks if this matrix is disjoint with another matrix of compatible type.

Parameters
xThe matrix to test.
Returns
true if at least one pair of corresponding intervals is disjoint, false otherwise.
392{
393 return _is_disjoint(x);
394}

◆ overlaps() [1/2]

bool overlaps ( const Matrix< codac2::Interval, RowsAtCompileTime, ColsAtCompileTime > & x) const
inline

Checks whether this matrix overlaps with another.

Overlap requires that all interval pairs overlap.

Parameters
xThe matrix of intervals to test overlap against.
Returns
true if all corresponding intervals overlap.
424{
425 return _overlaps(x);
426}
bool _overlaps(const MatrixBase< OtherDerived > &x) const
Internal helper to check overlap.
Definition codac2_MatrixBase_addons_IntervalMatrixBase.h:444

◆ overlaps() [2/2]

template<typename OtherDerived>
bool overlaps ( const MatrixBase< OtherDerived > & x) const
inline

Checks whether this matrix overlaps with another matrix of compatible type.

Parameters
xThe matrix to test overlap against.
Returns
true if all interval pairs overlap.
436{
437 return _overlaps(x);
438}

◆ is_subset() [1/2]

bool is_subset ( const Matrix< codac2::Interval, RowsAtCompileTime, ColsAtCompileTime > & x) const
inline

Checks whether this matrix is a subset of another interval matrix.

Each interval element of this matrix must be a subset of the corresponding interval in x. An empty matrix is considered a subset of any matrix of the same size.

Parameters
xA matrix of intervals.
Returns
true if all elements of this matrix are subsets of those in x.
469{
470 return _is_subset(x);
471}
bool _is_subset(const T &x) const
Internal helper for subset check.
Definition codac2_MatrixBase_addons_IntervalMatrixBase.h:489

◆ is_subset() [2/2]

template<typename OtherDerived>
bool is_subset ( const MatrixBase< OtherDerived > & x) const
inline

Checks whether this matrix is a subset of another matrix (Eigen-compatible).

Parameters
xThe matrix to check against.
Returns
true if all elements are subsets.
481{
482 return _is_subset(x);
483}

◆ is_strict_subset() [1/2]

bool is_strict_subset ( const Matrix< codac2::Interval, RowsAtCompileTime, ColsAtCompileTime > & x) const
inline

Checks whether this matrix is a strict subset of another matrix.

A strict subset means it is a subset and at least one element is strictly contained (not equal).

Parameters
xThe matrix to compare to.
Returns
true if this matrix is strictly contained in x.
513{
514 return _is_strict_subset(x);
515}
bool _is_strict_subset(const T &x) const
Internal helper for strict subset check.
Definition codac2_MatrixBase_addons_IntervalMatrixBase.h:533

◆ is_strict_subset() [2/2]

template<typename OtherDerived>
bool is_strict_subset ( const MatrixBase< OtherDerived > & x) const
inline

Checks whether this matrix is a strict subset of another matrix (Eigen-compatible).

Parameters
xThe matrix to compare to.
Returns
true if strictly contained.
525{
526 return _is_strict_subset(x);
527}

◆ is_interior_subset() [1/2]

bool is_interior_subset ( const Matrix< codac2::Interval, RowsAtCompileTime, ColsAtCompileTime > & x) const
inline

Checks whether this matrix is an interior subset of another.

Every interval in this matrix must be strictly inside (in the interior of) the corresponding one in x.

Parameters
xThe matrix to check against.
Returns
true if this matrix is an interior subset of x.
560{
561 return _is_interior_subset(x);
562}
bool _is_interior_subset(const MatrixBase< OtherDerived > &x) const
Internal helper for interior subset checking.
Definition codac2_MatrixBase_addons_IntervalMatrixBase.h:580

◆ is_interior_subset() [2/2]

template<typename OtherDerived>
bool is_interior_subset ( const MatrixBase< OtherDerived > & x) const
inline

Checks whether this matrix is an interior subset of another matrix (Eigen-compatible).

Parameters
xThe matrix to compare with.
Returns
true if each element is in the interior of the corresponding one in x.
572{
573 return _is_interior_subset(x);
574}

◆ is_strict_interior_subset() [1/2]

bool is_strict_interior_subset ( const Matrix< codac2::Interval, RowsAtCompileTime, ColsAtCompileTime > & x) const
inline

Checks whether this matrix is a strict interior subset of another matrix.

A strict interior subset means that each interval in this matrix lies strictly within the interior of the corresponding interval in x.

Parameters
xThe matrix to compare against.
Returns
true if every interval in this matrix is strictly inside the corresponding interval in x.
605{
607}
bool _is_strict_interior_subset(const MatrixBase< OtherDerived > &x) const
Internal helper for strict interior subset relation.
Definition codac2_MatrixBase_addons_IntervalMatrixBase.h:625

◆ is_strict_interior_subset() [2/2]

template<typename OtherDerived>
bool is_strict_interior_subset ( const MatrixBase< OtherDerived > & x) const
inline

Checks whether this matrix is a strict interior subset of another Eigen-compatible matrix.

Parameters
xThe matrix to compare with.
Returns
true if all intervals are strictly inside the corresponding intervals in x.
617{
619}

◆ is_superset() [1/2]

bool is_superset ( const Matrix< codac2::Interval, RowsAtCompileTime, ColsAtCompileTime > & x) const
inline

Checks whether this matrix is a superset of another interval matrix.

This means that each interval in this matrix fully contains the corresponding interval in x.

Parameters
xThe matrix to compare with.
Returns
true if every interval in this matrix is a superset of the corresponding one in x.
649{
650 return _is_superset(x);
651}
bool _is_superset(const MatrixBase< OtherDerived > &x) const
Internal helper for superset check.
Definition codac2_MatrixBase_addons_IntervalMatrixBase.h:669

◆ is_superset() [2/2]

template<typename OtherDerived>
bool is_superset ( const MatrixBase< OtherDerived > & x) const
inline

Checks whether this matrix is a superset of another Eigen-compatible matrix.

Parameters
xThe matrix to compare to.
Returns
true if this matrix fully contains all intervals of x.
661{
662 return _is_superset(x);
663}

◆ is_strict_superset() [1/2]

bool is_strict_superset ( const Matrix< codac2::Interval, RowsAtCompileTime, ColsAtCompileTime > & x) const
inline

Checks whether this matrix is a strict superset of another matrix.

A strict superset means that each interval contains the corresponding one in x, and at least one interval strictly contains its counterpart.

Parameters
xThe matrix to compare against.
Returns
true if this matrix strictly contains the other matrix.
694{
695 return _is_strict_superset(x);
696}
bool _is_strict_superset(const MatrixBase< OtherDerived > &x) const
Internal helper for strict superset check.
Definition codac2_MatrixBase_addons_IntervalMatrixBase.h:714

◆ is_strict_superset() [2/2]

template<typename OtherDerived>
bool is_strict_superset ( const MatrixBase< OtherDerived > & x) const
inline

Checks whether this matrix is a strict superset of an Eigen-compatible matrix.

Parameters
xThe matrix to compare with.
Returns
true if this matrix strictly contains the other matrix.
706{
707 return _is_strict_superset(x);
708}

◆ is_bisectable()

bool is_bisectable ( ) const
inline

Checks whether at least one interval in the matrix is bisectable.

Note
Examples of non bisectable intervals are [0,next_float(0)] or [DBL_MAX,+oo).
Returns
true if at least one element in the matrix satisfies that condition
740{
741 for(Index i = 0 ; i < this->rows() ; i++)
742 for(Index j = 0 ; j < this->cols() ; j++)
743 if((*this)(i,j).is_bisectable())
744 return true;
745 return false;
746}
bool is_bisectable() const
Checks whether at least one interval in the matrix is bisectable.
Definition codac2_MatrixBase_addons_IntervalMatrixBase.h:739