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 |