26 #ifndef _CXSC_L_INTERVAL_HPP_INCLUDED 27 #define _CXSC_L_INTERVAL_HPP_INCLUDED 32 #include "interval.hpp" 90 #if (CXSC_INDEX_CHECK) 91 inline l_interval()
throw(ERROR_LINTERVAL_WRONG_STAGPREC);
97 l_interval(
const l_real &,
const l_real &)
throw(ERROR_LINTERVAL_WRONG_STAGPREC,ERROR_LINTERVAL_EMPTY_INTERVAL);
99 l_interval(
const real &,
const l_real &)
throw(ERROR_LINTERVAL_WRONG_STAGPREC,ERROR_LINTERVAL_EMPTY_INTERVAL);
101 l_interval(
const l_real &,
const real &)
throw(ERROR_LINTERVAL_WRONG_STAGPREC,ERROR_LINTERVAL_EMPTY_INTERVAL);
103 inline l_interval(
const real &,
const real &)
throw(ERROR_LINTERVAL_WRONG_STAGPREC,ERROR_LINTERVAL_EMPTY_INTERVAL);
139 #if(CXSC_INDEX_CHECK) 140 explicit INLINE
l_interval(
const l_ivector &)
throw(ERROR_LIVECTOR_TYPE_CAST_OF_THICK_OBJ,ERROR_LIVECTOR_USE_OF_UNINITIALIZED_OBJ);
143 explicit INLINE
l_interval(
const l_ivector_slice &)
throw(ERROR_LIVECTOR_TYPE_CAST_OF_THICK_OBJ,ERROR_LIVECTOR_USE_OF_UNINITIALIZED_OBJ);
145 explicit INLINE
l_interval(
const l_imatrix &m)
throw(ERROR_LIMATRIX_TYPE_CAST_OF_THICK_OBJ,ERROR_LIMATRIX_USE_OF_UNINITIALIZED_OBJ);
147 explicit INLINE
l_interval(
const l_imatrix_slice &m)
throw(ERROR_LIMATRIX_TYPE_CAST_OF_THICK_OBJ,ERROR_LIMATRIX_USE_OF_UNINITIALIZED_OBJ);
149 friend INLINE
interval _l_interval(
const l_ivector &)
throw(ERROR_LIVECTOR_TYPE_CAST_OF_THICK_OBJ,ERROR_LIVECTOR_USE_OF_UNINITIALIZED_OBJ);
153 friend INLINE
interval _l_interval(
const l_imatrix &m)
throw(ERROR_LIMATRIX_TYPE_CAST_OF_THICK_OBJ,ERROR_LIMATRIX_USE_OF_UNINITIALIZED_OBJ);
187 #if (CXSC_INDEX_CHECK) 667 friend l_interval tan(
const l_interval &)
throw(ERROR_LINTERVAL_FAK_OVERFLOW,ERROR_LINTERVAL_STD_FKT_OUT_OF_DEF);
669 friend l_interval cot(
const l_interval &)
throw(ERROR_LINTERVAL_FAK_OVERFLOW,ERROR_LINTERVAL_STD_FKT_OUT_OF_DEF);
847 #if (CXSC_INDEX_CHECK) 848 inline real &
operator [](
int)
throw(ERROR_LINTERVAL_ELEMENT_NOT_IN_LONG);
856 #if (CXSC_INDEX_CHECK) 857 inline void _allo(
int)
throw(ERROR_LINTERVAL_WRONG_STAGPREC);
859 inline void _allo(
int)
throw();
861 inline void _clear(
int)
throw();
867 inline real & elem(
int i) {
return data[i-1]; }
868 inline real elem(
int i)
const {
return data[i-1]; }
935 l_interval _unchecked_l_interval(
const l_real &,
const l_real &)
throw();
939 inline l_real Inf (
const l_interval &)
throw();
940 inline l_real Sup (
const l_interval &)
throw();
942 int in (
const real& x,
const l_interval& y );
943 int in (
const l_real& x,
const l_interval& y );
944 int in (
const interval& x,
const l_interval& y );
945 int in (
const l_interval& x,
const l_interval& y );
946 l_interval
Blow (
const l_interval& x,
const real& eps );
947 int Disjoint (
const l_interval& a,
const l_interval& b );
948 l_real
AbsMin (
const l_interval& x );
950 l_real
AbsMax (
const l_interval& x );
952 l_real
RelDiam (
const l_interval x );
954 inline bool point_intv(
const l_interval &a );
957 void Times2pown(l_interval&,
const real&)
throw();
971 operator l_real(
void)
const {
return Inf((
const l_interval)my_l_interval); }
975 l_interval &
operator =(
const real & a)
throw(ERROR_LINTERVAL_EMPTY_INTERVAL) { SetInf(my_l_interval,_l_real(a));
return my_l_interval; }
989 operator l_real(
void)
const {
return Sup((
const l_interval)my_l_interval); }
993 l_interval &
operator =(
const real & a)
throw(ERROR_LINTERVAL_EMPTY_INTERVAL) { SetSup(my_l_interval,_l_real(a));
return my_l_interval; }
999 #include "l_interval.inl" 1001 #endif // _CXSC_L_INTERVAL_HPP_INCLUDED friend l_interval Pip2_l_interval()
Enclosure-Interval for .
friend l_interval operator &(const l_interval &, const l_interval &)
Returns the intersection of the arguments.
cinterval Blow(cinterval x, const real &eps)
Performs an epsilon inflation.
l_interval & operator=(const l_real &a)
Implementation of standard assigning operator.
The Multiple-Precision Data Type l_interval.
friend l_interval operator -(const l_interval &)
Implementation of standard algebraic negative sign operation.
friend l_interval & operator+=(l_interval &, const l_interval &)
Implementation of standard algebraic addition and allocation operation.
friend l_interval Sqrt5_l_interval()
Enclosure-Interval for .
friend l_interval Sqrt2_l_interval()
Enclosure-Interval for .
The Data Type idotprecision.
friend l_interval sin(const l_interval &)
Calculates .
friend l_interval tan(const l_interval &)
Calculates .
friend l_interval Pi2_l_interval()
Enclosure-Interval for .
The Multiple-Precision Data Type l_real.
The Data Type dotprecision.
friend l_interval log2(const l_interval &)
Calculates .
friend bool operator<=(const l_interval &, const l_interval &)
Implementation of standard less-or-equal-than operation.
friend l_interval acos(const l_interval &)
Calculates .
friend l_interval & operator -=(l_interval &, const l_interval &)
Implementation of standard algebraic subtraction and allocation operation.
friend l_interval EpPi_l_interval()
Enclosure-Interval for .
l_interval_Sup(l_interval &a)
Constructor of class l_interval_Sup.
friend l_interval pow(const l_interval &, const l_interval &)
Calculates .
friend l_interval acoth(const l_interval &)
Calculates .
friend l_interval & SetInf(l_interval &a, const l_real &b)
Returns the interval with the new given infimum value.
friend l_interval operator *(const l_interval &, const l_interval &)
Implementation of standard algebraic multiplication operation.
friend l_interval sqr(const l_interval &)
Calculates .
friend l_interval & SetSup(l_interval &a, const l_real &b)
Returns the interval with the new given supremum value.
interval _unchecked_interval(const real &a, const real &b)
friend l_interval Sqrt7_l_interval()
Enclosure-Interval for .
The Multiple-Precision Data Type l_ivector_slice.
The namespace cxsc, providing all functionality of the class library C-XSC.
friend l_interval tanh(const l_interval &)
Calculates .
friend void Times2pown(l_interval &, const real &)
Multiplication of interval with .
int in(const cinterval &x, const cinterval &y)
Checks if first argument is part of second argument.
friend l_interval EpPid2_l_interval()
Enclosure-Interval for .
friend l_interval & operator *=(l_interval &, const l_interval &)
Implementation of standard algebraic multiplication and allocation operation.
The Scalar Type interval.
friend l_interval & UncheckedSetSup(l_interval &a, const l_real &b)
Returns the interval with the unchecked new given supremum value.
friend bool operator !(const l_interval &)
Implementation of standard negation operation.
The Multiple-Precision Data Type l_imatrix_slice.
friend l_interval operator/(const l_interval &, const l_interval &)
Implementation of standard algebraic division operation.
friend l_real Inf(const l_interval &)
Returns the infimum of an interval.
real AbsMin(const interval &x)
Computes the smallest absolute value .
friend l_interval E_l_interval()
Enclosure-Interval for .
friend l_interval asin(const l_interval &)
Calculates .
friend bool operator !=(const l_interval &, const l_interval &)
Implementation of standard negated equality operation.
friend l_interval LnPi_l_interval()
Enclosure-Interval for .
friend l_interval Ln10r_l_interval()
Enclosure-Interval for .
friend int StagPrec(const l_interval &)
Returns the precision of the long datatype value.
The Multiple-Precision Data Type l_ivector.
friend void Intersection(const l_interval &, const l_interval &, l_interval &, l_interval &)
Allocates the intersection of the arguments to the first argument.
friend int expo_gr(const l_interval &)
Returns the maximum of the expo-function.
real RelDiam(const interval &x)
Computes the relative diameter .
friend l_interval Ln2r_l_interval()
Enclosure-Interval for .
friend l_interval Sqrt3_l_interval()
Enclosure-Interval for .
idotprecision & operator=(const real &a)
Implementation of standard assigning operator.
friend l_interval exp10(const l_interval &)
Calculates .
friend l_interval Ln2_l_interval()
Enclosure-Interval for .
friend bool operator >(const l_interval &, const l_interval &)
Implementation of standard greater-than operation.
friend l_interval li_sqrt2()
Enclosure-Interval for .
friend l_interval & operator/=(l_interval &, const l_interval &)
Implementation of standard algebraic division and allocation operation.
friend l_interval exp2(const l_interval &)
Calculates .
friend l_real Sup(const l_interval &)
Returns the supremum of an interval.
The Multiple-Precision Data Type l_imatrix.
friend l_interval Pid2_l_interval()
Enclosure-Interval for .
friend bool operator<(const l_interval &, const l_interval &)
Implementation of standard less-than operation.
friend l_interval Pi_l_interval()
Enclosure-Interval for .
friend l_interval asinh(const l_interval &)
Calculates .
friend l_interval cot(const l_interval &)
Calculates .
l_interval & operator=(const l_real &a)
Implementation of standard assigning operator.
friend l_interval exp(const l_interval &)
Calculates .
friend std::istream & operator >>(std::istream &s, l_interval &a)
Implementation of standard input method.
friend l_interval Catalan_l_interval()
Enclosure-Interval for Catalan Numbers.
friend l_interval li_pi4()
Enclosure-Interval for .
l_interval()
Constructor of class l_interval.
friend l_interval sinh(const l_interval &)
Calculates .
friend l_interval Er_l_interval()
Enclosure-Interval for .
friend l_interval Sqrt3d2_l_interval()
Enclosure-Interval for .
friend l_interval SqrtPir_l_interval()
Enclosure-Interval for .
friend l_interval & UncheckedSetInf(l_interval &a, const l_real &b)
Returns the interval with the unchecked new given infimum value.
friend l_interval Ep2r_l_interval()
Enclosure-Interval for .
l_interval & operator=(const real &a)
Implementation of standard assigning operator.
friend l_interval li_ln10()
Enclosure-Interval for .
friend l_interval Pid3_l_interval()
Enclosure-Interval for .
friend l_interval atanh(const l_interval &)
Calculates .
friend l_interval Pir_l_interval()
Enclosure-Interval for .
friend l_interval Pid4_l_interval()
Enclosure-Interval for .
friend l_interval adjust(const l_interval &)
Sets the precision of a specific long datatype value.
friend l_interval operator|(const l_interval &, const l_interval &)
Returns the convex hull of the arguments.
int Disjoint(const interval &a, const interval &b)
Checks arguments for disjointness.
friend l_interval cosh(const l_interval &)
Calculates .
friend l_interval acot(const l_interval &)
Calculates .
real & operator [](int)
Access to the single components used to store the long data type value.
The Multiple-Precision Data Type l_interval_Sup.
real AbsMax(const interval &x)
Computes the greatest absolute value .
interval()
Constructor of class interval.
friend l_interval Ep2_l_interval()
Enclosure-Interval for .
friend l_interval Ln2Pi_l_interval()
Enclosure-Interval for .
friend l_interval acosh(const l_interval &)
Calculates .
friend interval _l_interval(const l_ivector &)
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.
friend l_interval EpPid4_l_interval()
Enclosure-Interval for .
friend l_interval atan(const l_interval &)
Calculates .
friend void times2pown(l_interval &, int)
Multiplication of interval with .
interval & operator=(const real &a)
Implementation of standard assigning operator.
friend l_interval cos(const l_interval &)
Calculates .
friend l_interval Sqrt3r_l_interval()
Enclosure-Interval for .
friend l_interval power(const l_interval &, int)
Calculates .
friend l_interval sqrt(const l_interval &)
Calculates .
friend l_interval Ln10_l_interval()
Enclosure-Interval for .
friend l_interval Ep2Pi_l_interval()
Enclosure-Interval for .
void times2pown(cinterval &x, int n)
Fast multiplication of reference parameter [z] with .
friend std::ostream & operator<<(std::ostream &s, const l_interval &a)
Implementation of standard output method.
idotprecision()
Constructor of class idotprecision.
friend l_interval & operator|=(l_interval &, const l_interval &)
Allocates the convex hull of the arguments to the first argument.
friend l_interval li_ln2()
Enclosure-Interval for .
friend l_interval coth(const l_interval &)
Calculates .
friend l_real diam(const l_interval &a)
Returns the rounded diameter of the interval.
l_interval_Inf(l_interval &a)
Constructor of class l_interval_Inf.
friend bool operator==(const l_interval &, const l_interval &)
Implementation of standard equality operation.
friend void ConvexHull(const l_interval &, const l_interval &, l_interval &, l_interval &)
Allocates the convex hull of the arguments to the first argument.
friend l_interval Sqrt2Pir_l_interval()
Enclosure-Interval for .
friend l_interval & operator &=(l_interval &, const l_interval &)
Allocates the intersection of the arguments to the first argument.
l_interval _l_interval(const real &a)
friend l_interval Pi2r_l_interval()
Enclosure-Interval for .
friend l_interval ln(const l_interval &)
Calculates .
friend int expo_sm(const l_interval &)
Returns the minimum of the expo-function.
friend bool operator >=(const l_interval &, const l_interval &)
Implementation of standard greater-or-equal-than operation.
friend l_interval EulerGa_l_interval()
Enclosure-Interval for Euler Gamma.
The Multiple-Precision Data Type l_interval_Inf.
friend l_interval operator+(const l_interval &)
Implementation of standard algebraic positive sign operation.
friend l_interval li_Rln10()
Enclosure-Interval for .
friend bool zero_(const l_interval &)
Checks if the argument is zero.
friend l_interval log10(const l_interval &)
Calculates .
friend l_interval Sqrt2Pi_l_interval()
Enclosure-Interval for .
friend l_real mid(const l_interval &a)
Returns the rounded middle of the interval.
friend l_interval SqrtPi_l_interval()
Enclosure-Interval for .
friend void accumulate(idotprecision &, const real &, const l_interval &)
The accurate scalar product of the last two arguments added to the value of the first argument.
friend l_interval Sqrt2r_l_interval()
Enclosure-Interval for .
friend l_interval abs(const l_interval &a)
Returns the absolute value of the interval.
friend bool point_intv(const l_interval &)
Checks if the argument is a point interval.