|
CAPD::DynSys Library
6.0.0
|
CAPD interface for fast interval library filib. More...
#include <capd/filib/Interval.h>
Public Types | |
| typedef ::filib::interval< T, R, M > | BaseInterval |
| typedef BaseInterval::value_type | BoundType |
| typedef ::filib::fp_traits< T, R > | RoundingPolicy |
| typedef capd::intervals::IntervalError< BoundType > | IntervalError |
Public Member Functions | |
| Interval () | |
| Interval (const Interval &A_iv) | |
| copying constructor More... | |
| Interval (const BoundType &A_scalar) | |
| constructor from any class that can be coverted to BoundType More... | |
| Interval (const BoundType &A_left, const BoundType &A_right) | |
| constructor from any class that can be coverted to BoundType More... | |
| Interval (const BaseInterval &interval) | |
| Interval (const char left[], const char right[]) | |
| Interval (const std::string &left, const std::string &right) | |
| BaseInterval & | getBaseInterval () |
| returns reference to base (filib) interval More... | |
| const BaseInterval & | getBaseInterval () const |
| returns const reference to base (filib) interval More... | |
| const BoundType & | leftBound () const |
| < returns the left end of the interval More... | |
| const BoundType & | rightBound () const |
| < returns the right end of the interval More... | |
| const BoundType & | inf () const |
| < returns the left end of the interval More... | |
| const BoundType & | sup () const |
| < returns the right end of the interval More... | |
| void | setLeftBound (const BoundType &A_left) |
| void | setRightBound (const BoundType &A_right) |
| Interval | left () const |
| < returns interval containing left end More... | |
| Interval | right () const |
| < returns interval containing right end More... | |
| template<typename T_Scalar > | |
| bool | contains (const T_Scalar &A_X) const |
| < checks if interval contains given point X More... | |
| bool | contains (const Interval &A_iv) const |
| < checks if interval contains given interval iv More... | |
| template<typename T_Scalar > | |
| bool | containsInInterior (const T_Scalar &A_X) const |
| < checks if interval contains in interior given point X More... | |
| bool | containsInInterior (const Interval &A_iv) const |
| < checks if interval contains in interior given interval iv More... | |
| bool | subset (const Interval &A_iv) const |
| < checks if interval is subset of iv More... | |
| bool | subsetInterior (const Interval &A_iv) const |
| < checks if interval is subset of interior of iv More... | |
| Interval | mid () const |
| < returns middle point of interval More... | |
| Interval | abs () const |
| <Returns the interval of absolute values of this interval, i.e. More... | |
| void | split (Interval &A_rMid, Interval &A_rRemainder) const |
| Splits interval into the form mid + remainder, where mid - is middle point. More... | |
| void | split (BoundType &A_rMid, Interval &A_rRemainder) const |
| void | split (Interval &r) |
| Interval & | operator= (const Interval &A_iv) |
| Interval & | operator= (const BoundType &A_x) |
| Interval & | operator+= (const Interval &A_iv) |
| Interval & | operator-= (const Interval &A_iv) |
| Interval & | operator*= (const Interval &A_iv) |
| Interval & | operator/= (const Interval &A_iv) |
Static Public Member Functions | |
| static void | setup () |
| sets up floting point unit. More... | |
| static void | reset () |
| resets default rounding mode (to the nearest) More... | |
| static Interval | pi () |
| returns pi constant More... | |
| static Interval | euler () |
| returns euler constant More... | |
Static Public Attributes | |
| static const IntervalMode | mode = M |
Protected Attributes | |
| BaseInterval | m_interval |
Friends | |
| const BoundType & | leftBound (const Interval &x) |
| const BoundType & | rightBound (const Interval &x) |
| const BoundType & | inf (const Interval &x) |
| const BoundType & | sup (const Interval &x) |
| Interval | left (const Interval &x) |
| Interval | right (const Interval &x) |
| bool | subset (const Interval &A_iv1, const Interval &A_iv2) |
| bool | subsetInterior (const Interval &A_iv1, const Interval &A_iv2) |
| bool | operator== (const Interval &A_iv1, const Interval &A_iv2) |
| bool | operator<= (const Interval &A_iv1, const Interval &A_iv2) |
| bool | operator>= (const Interval &A_iv1, const Interval &A_iv2) |
| bool | operator< (const Interval &A_iv1, const Interval &A_iv2) |
| bool | operator> (const Interval &A_iv1, const Interval &A_iv2) |
| bool | operator!= (const Interval &A_iv1, const Interval &A_iv2) |
| bool | operator== (const Interval &A_iVal1, const BoundType &A_Val2) |
| operator == (interval, scalar) More... | |
| bool | operator== (const BoundType &A_Val1, const Interval &A_iVal2) |
| operator == (scalar, interval) More... | |
| bool | operator!= (const Interval &A_iVal1, const BoundType &A_Val2) |
| operator != (interval, scalar) More... | |
| bool | operator!= (const BoundType &A_Val1, const Interval &A_iVal2) |
| operator != (scalar, interval) More... | |
| bool | operator> (const Interval &A_iVal1, const BoundType &A_Val2) |
| operator > (interval, scalar) More... | |
| bool | operator> (const BoundType &A_Val1, const Interval &A_iVal2) |
| operator > (scalar, interval) More... | |
| bool | operator>= (const Interval &A_iVal1, const BoundType &A_Val2) |
| operator >= (interval, scalar) More... | |
| bool | operator>= (const BoundType &A_Val1, const Interval &A_iVal2) |
| operator >= (scalar, interval) More... | |
| bool | operator< (const Interval &A_iVal1, const BoundType &A_Val2) |
| operator < (interval, scalar) More... | |
| bool | operator< (const BoundType &A_Val1, const Interval &A_iVal2) |
| operator < (scalar, interval) More... | |
| bool | operator<= (const Interval &A_iVal1, const BoundType &A_Val2) |
| operator <= (interval, scalar) More... | |
| bool | operator<= (const BoundType &A_Val1, const Interval &A_iVal2) |
| operator <= (scalar, interval) More... | |
| Interval | operator- (const Interval &A_iv) |
| Interval | operator+ (const Interval &A_iv1, const Interval &A_iv2) |
| Interval | operator- (const Interval &A_iv1, const Interval &A_iv2) |
| Interval | operator* (const Interval &A_iv1, const Interval &A_iv2) |
| Interval | operator/ (const Interval &A_iv1, const Interval &A_iv2) |
| template<class E > | |
| Interval | operator^ (const Interval &x, E) |
| DW: this template is defined to prevent implicit conversion of exponent type In the previous implementation interval^double was converted to interval^int. More... | |
| Interval | operator^ (const Interval &x, unsigned int n) |
| Interval | operator^ (const Interval &x, int n) |
| Interval | operator^ (const Interval &x, Interval::BoundType b) |
| Interval | operator^ (const Interval &a, const Interval &b) |
| Interval | operator+ (const Interval &A_iVal, const BoundType &A_x) |
| operator + (interval, scalar) More... | |
| Interval | operator+ (const BoundType &A_x, const Interval &A_iVal) |
| operator + (scalar, interval) More... | |
| Interval | operator- (const Interval &A_iVal, const BoundType &A_x) |
| operator - (interval, scalar) More... | |
| Interval | operator- (const BoundType &A_x, const Interval &A_iVal) |
| operator - (scalar, interval) More... | |
| Interval | operator* (const Interval &A_iVal, const BoundType &A_x) |
| operator * (interval, scalar) More... | |
| Interval | operator* (const BoundType &A_x, const Interval &A_iVal) |
| operator * (scalar, interval) More... | |
| Interval | operator/ (const Interval &A_iVal, const BoundType &A_x) |
| operator / (scalar, interval) More... | |
| Interval | operator/ (const BoundType &A_x, const Interval &A_iVal) |
| operator / (interval, scalar) More... | |
| std::ostream & | operator<< (std::ostream &s, const Interval &A_iv) |
| std::istream & | operator>> (std::istream &s, Interval &A_iv) |
| std::ostream & | bitWrite (std::ostream &out, const Interval &iv) |
| std::istream & | bitRead (std::istream &in, Interval &iv) |
| std::ostream & | hexWrite (std::ostream &out, const Interval &iv) |
| std::istream & | hexRead (std::istream &in, Interval &iv) |
| std::ostream & | binWrite (std::ostream &out, const Interval &iv) |
| std::istream & | binRead (std::istream &in, Interval &iv) |
| Interval | diam (const Interval &ix) |
| Interval | mid (const Interval &A_iv) |
| bool | intersection (const Interval &A_iv1, const Interval &A_iv2, Interval &A_rIntersection) |
| Intersection of two intervals. More... | |
| Interval | intervalHull (const Interval &ix, const Interval &iy) |
| returns an interval containing ix and iy More... | |
| void | split (Interval &A_iv, Interval &A_rMid, BoundType &A_diam) |
| void | split (Interval &A_rIv, BoundType &A_diam) |
| bool | isSingular (const Interval &A_x) |
| template<class E > | |
| Interval | power (const Interval &x, E n) |
| Interval | sqrt (const Interval &x) |
| Interval | sin (const Interval &x) |
| Interval | cos (const Interval &x) |
| Interval | tan (const Interval &x) |
| Interval | cot (const Interval &x) |
| Interval | atan (const Interval &x) |
| Interval | asin (const Interval &x) |
| Interval | acos (const Interval &x) |
| Interval | sinh (const Interval &x) |
| Interval | cosh (const Interval &x) |
| Interval | tanh (const Interval &x) |
| Interval | coth (const Interval &x) |
| Interval | exp (const Interval &x) |
| Interval | log (const Interval &x) |
| Interval | sqr (const Interval &x) |
| bool | isinf (const Interval &r) |
| returns true if any of endpoints is infinite More... | |
| bool | isnan (const Interval &r) |
| returns true if any of endpoints is a NaN More... | |
| Interval | copysign (const Interval &x, const Interval &y) |
| returns interval containing copysign(a, b) for each a in x and b in y More... | |
| Interval | nonnegativePart (const Interval &iv) |
| returns nonnegative part of interval More... | |
| Interval | ball (const Interval &iv, const Interval &r) |
| Ball with center iv and radius r. More... | |
| Interval | ball (const Interval &iv, const BoundType &r) |
| Ball with center iv and radius r. More... | |
| Interval | solveAffineInclusion (const Interval &a, const Interval &p, const Interval &c) |
| solves inclusion a+[0,t]*p\subset c for t More... | |
| Interval | solveAffineInclusion (const Interval &a, const Interval &p, const Interval &c, int &dir) |
| solves inclusion a+[0,t]*p\subset c for t More... | |
CAPD interface for fast interval library filib.
This template class has three parameters
To prevent misusing and enable easy interchange of a different interval implementation the filib interval T is not a base class of the Interval class and can be accesed only by getBaseInterval() method.
| typedef ::filib::interval<T, R, M > capd::filib::Interval< T, R, M >::BaseInterval |
| typedef BaseInterval::value_type capd::filib::Interval< T, R, M >::BoundType |
| typedef capd::intervals::IntervalError<BoundType> capd::filib::Interval< T, R, M >::IntervalError |
| typedef ::filib::fp_traits<T, R> capd::filib::Interval< T, R, M >::RoundingPolicy |
|
inline |
|
inline |
copying constructor
|
inline |
constructor from any class that can be coverted to BoundType
|
inline |
constructor from any class that can be coverted to BoundType
|
inline |
|
inline |
|
inline |
|
inline |
<Returns the interval of absolute values of this interval, i.e.
|
inline |
< checks if interval contains given interval iv
|
inline |
< checks if interval contains given point X
|
inline |
< checks if interval contains in interior given interval iv
|
inline |
< checks if interval contains in interior given point X
|
inlinestatic |
returns euler constant
|
inline |
returns reference to base (filib) interval
|
inline |
returns const reference to base (filib) interval
|
inline |
< returns the left end of the interval
|
inline |
< returns interval containing left end
|
inline |
< returns the left end of the interval
|
inline |
< returns middle point of interval
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
returns pi constant
|
inlinestatic |
resets default rounding mode (to the nearest)
|
inline |
< returns interval containing right end
|
inline |
< returns the right end of the interval
|
inline |
|
inline |
|
inlinestatic |
sets up floting point unit.
It has to be called before first use of intervals
|
inline |
|
inline |
Splits interval into the form mid + remainder, where mid - is middle point.
|
inline |
|
inline |
< checks if interval is subset of iv
|
inline |
< checks if interval is subset of interior of iv
|
inline |
< returns the right end of the interval
|
friend |
|
friend |
|
friend |
|
friend |
Ball with center iv and radius r.
|
friend |
Ball with center iv and radius r.
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
returns interval containing copysign(a, b) for each a in x and b in y
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
| x | returns the left end of the interval |
|
friend |
Intersection of two intervals.
|
friend |
returns an interval containing ix and iy
|
friend |
returns true if any of endpoints is infinite
|
friend |
returns true if any of endpoints is a NaN
|
friend |
|
friend |
| x | returns interval containing left end |
|
friend |
| x | returns the left end of the interval |
|
friend |
|
friend |
|
friend |
returns nonnegative part of interval
|
friend |
operator != (scalar, interval)
|
friend |
|
friend |
operator != (interval, scalar)
|
friend |
operator * (scalar, interval)
|
friend |
|
friend |
operator * (interval, scalar)
|
friend |
operator + (scalar, interval)
|
friend |
|
friend |
operator + (interval, scalar)
|
friend |
operator - (scalar, interval)
|
friend |
|
friend |
|
friend |
operator - (interval, scalar)
|
friend |
operator / (interval, scalar)
|
friend |
|
friend |
operator / (scalar, interval)
|
friend |
operator < (scalar, interval)
|
friend |
|
friend |
operator < (interval, scalar)
|
friend |
|
friend |
operator <= (scalar, interval)
|
friend |
|
friend |
operator <= (interval, scalar)
|
friend |
operator == (scalar, interval)
|
friend |
|
friend |
operator == (interval, scalar)
|
friend |
operator > (scalar, interval)
|
friend |
|
friend |
operator > (interval, scalar)
|
friend |
operator >= (scalar, interval)
|
friend |
|
friend |
operator >= (interval, scalar)
|
friend |
|
friend |
|
friend |
DW: this template is defined to prevent implicit conversion of exponent type In the previous implementation interval^double was converted to interval^int.
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
| x | returns interval containing right end |
|
friend |
| x | returns the right end of the interval |
|
friend |
|
friend |
|
friend |
solves inclusion a+[0,t]*p\subset c for t
|
friend |
solves inclusion a+[0,t]*p\subset c for t
|
friend |
TODO : correct to not switch rounding
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
| x | returns the right end of the interval |
|
friend |
|
friend |
|
protected |
|
static |