C-XSC - A C++ Class Library for Extended Scientific Computing  2.5.4
l_imath.hpp
1 /*
2 ** CXSC is a C++ library for eXtended Scientific Computing (V 2.5.4)
3 **
4 ** Copyright (C) 1990-2000 Institut fuer Angewandte Mathematik,
5 ** Universitaet Karlsruhe, Germany
6 ** (C) 2000-2014 Wiss. Rechnen/Softwaretechnologie
7 ** Universitaet Wuppertal, Germany
8 **
9 ** This library is free software; you can redistribute it and/or
10 ** modify it under the terms of the GNU Library General Public
11 ** License as published by the Free Software Foundation; either
12 ** version 2 of the License, or (at your option) any later version.
13 **
14 ** This library is distributed in the hope that it will be useful,
15 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
16 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 ** Library General Public License for more details.
18 **
19 ** You should have received a copy of the GNU Library General Public
20 ** License along with this library; if not, write to the Free
21 ** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 */
23 
24 /* CVS $Id: l_imath.hpp,v 1.33 2014/01/30 17:23:46 cxsc Exp $ */
25 
26 #ifndef _CXSC_L_IMATH_HPP_INCLUDED
27 #define _CXSC_L_IMATH_HPP_INCLUDED
28 
29 #include "l_interval.hpp"
30 
31 namespace cxsc {
32 
34 l_interval pow (const l_interval&, const l_interval&); // Pow(x,y)
36 l_interval power (const l_interval&, int); // Power(x,n)
38 l_interval sqr (const l_interval&); // Sqr(x)
39 
41 l_interval sqrt (const l_interval&);
42  // Sqrt(x)
44 l_interval sqrt (const l_interval&, int);
45  // NSqrt(n,x)
46 
48 l_interval sin (const l_interval&);
49  // Sin(x)
51 l_interval cos (const l_interval&);
52  // Cos(x)
54 l_interval tan (const l_interval&);
55  // Tan(x)
57 l_interval cot (const l_interval&);
58  // Cot(x)
59 
61 l_interval asin (const l_interval&);
62  // ASin(x)
64 l_interval acos (const l_interval&);
65  // ACos(x)
67 l_interval atan (const l_interval&) noexcept; // ATan(x)
69 l_interval acot (const l_interval&) noexcept; // ACot(x)
70 
72 l_interval exp (const l_interval&);
73  // exp(x)
75 l_interval exp2(const l_interval &); // 2^x
76 
78 l_interval exp10(const l_interval &); // 10^x
79 
81 l_interval expm1(const l_interval & x) noexcept; // exp(x)-1;
83 l_interval expmx2 (const l_interval&); // e^(-x^2);
85 l_interval ln (const l_interval&);
86  // Ln(x)
88 l_interval log2(const l_interval &);
90 l_interval log10(const l_interval &);
92 l_interval lnp1 (const l_interval&) noexcept; // ln(1+x)
94 l_interval sinh (const l_interval&);
95  // Sinh(x)
97 l_interval cosh (const l_interval&);
98  // Cosh(x)
100 l_interval tanh (const l_interval&) noexcept; // Tanh(x)
102 l_interval coth (const l_interval&) noexcept; // Coth(x)
103 
105 l_interval asinh (const l_interval&);
106  // ASinh(x)
108 l_interval acosh (const l_interval&) noexcept; // ACosh(x)
110 l_interval acoshp1 (const l_interval& x);
112 l_interval atanh (const l_interval&);
113  // ATanh(x)
115 l_interval acoth (const l_interval&);
116  // ACoth(x)
117 
119 l_interval sqrt1px2(const l_interval&) noexcept; // Sqrt(1+x^2);
121 l_interval sqrtx2y2(const l_interval&, const l_interval&) noexcept;
122  // Sqrt(x^2+y^2);
124 l_interval sqrtp1m1(const l_interval&);
125  // sqrtp1m1(x) calculates an inclusion of sqrt(x+1)-1
127 l_interval sqrtx2m1(const l_interval&); // sqrt(x^2-1)
129 l_interval sqrt1mx2(const l_interval&); // sqrt(1-x^2)
130 
132 l_interval ln_sqrtx2y2(const l_interval&, const l_interval&) noexcept;
133 
134 // some constants as functions for l_interval
135 // l_interval li_ln2() noexcept; // ln(2)
136 // l_interval li_ln10() noexcept; // ln(10)
137 // l_interval li_Rln10() noexcept; // 1/ln(10)
138 // l_interval li_pi4() noexcept; // Pi/4
139 // l_interval li_sqrt2() noexcept; // sqrt(2)
141 l_interval Ln2_l_interval() noexcept; // ln(2)
143 l_interval Ln10_l_interval() noexcept; // ln(10)
145 l_interval Ln10r_l_interval() noexcept; // 1/ln(10)
147 l_interval Pid4_l_interval() noexcept; // Pi/4
149 l_interval Sqrt2_l_interval() noexcept; // sqrt(2)
151 l_interval Sqrt5_l_interval() noexcept; // sqrt(5)
153 l_interval Sqrt7_l_interval() noexcept; // sqrt(7)
154 
155 // obsolete functions, for compability
157 inline l_interval li_ln2() {return Ln2_l_interval();} // ln(2)
159 inline l_interval li_ln10() {return Ln10_l_interval();} // ln(10)
161 inline l_interval li_Rln10(){return Ln10r_l_interval();} // 1/ln(10)
163 inline l_interval li_pi4() {return Pid4_l_interval();} // Pi/4
165 inline l_interval li_sqrt2(){return Sqrt2_l_interval();} // sqrt(2)
166 
168 l_interval Ln2r_l_interval() noexcept; // 1/ln(2)
170 l_interval Pi_l_interval() noexcept; // Pi
172 l_interval Pid2_l_interval() noexcept; // Pi/2
174 l_interval Pi2_l_interval() noexcept; // 2*Pi
176 l_interval Pid3_l_interval() noexcept; // Pi/3
178 l_interval Pir_l_interval() noexcept; // 1/Pi
180 l_interval Pi2r_l_interval() noexcept; // 1/(2*Pi)
182 l_interval SqrtPi_l_interval() noexcept; // sqrt(Pi)
184 l_interval Sqrt2Pi_l_interval() noexcept; // sqrt(2*Pi)
186 l_interval SqrtPir_l_interval() noexcept; // 1/sqrt(Pi)
188 l_interval Sqrt2Pir_l_interval() noexcept; // 1/sqrt(2*Pi)
190 l_interval Pip2_l_interval() noexcept; // Pi^2
192 l_interval Sqrt2r_l_interval() noexcept; // 1/sqrt(2)
194 l_interval Sqrt3_l_interval() noexcept; // sqrt(3)
196 l_interval Sqrt3d2_l_interval() noexcept; // sqrt(3)/2
198 l_interval Sqrt3r_l_interval() noexcept; // 1/sqrt(3)
200 l_interval LnPi_l_interval() noexcept; // ln(Pi)
202 l_interval Ln2Pi_l_interval() noexcept; // ln(2*Pi)
204 l_interval E_l_interval() noexcept; // e = exp(1)
206 l_interval Er_l_interval() noexcept; // 1/e
208 l_interval Ep2_l_interval() noexcept; // e^2
210 l_interval Ep2r_l_interval() noexcept; // 1/e^2
212 l_interval EpPi_l_interval() noexcept; // e^Pi
214 l_interval Ep2Pi_l_interval() noexcept; // e^(2*Pi)
216 l_interval EpPid2_l_interval() noexcept; // e^(Pi/2)
218 l_interval EpPid4_l_interval() noexcept; // e^(Pi/4)
220 l_interval EulerGa_l_interval() noexcept; // EulerGamma
222 l_interval Catalan_l_interval() noexcept; // Catalan
223 } // namespace cxsc
224 
225 #endif // _CXSC_L_IMATH_HPP_INCLUDED
cxsc::E_l_interval
l_interval E_l_interval() noexcept
Enclosure-Interval for .
Definition: l_imath.cpp:2677
cxsc::Pid3_l_interval
l_interval Pid3_l_interval() noexcept
Enclosure-Interval for .
Definition: l_imath.cpp:1642
cxsc::power
cinterval power(const cinterval &z, int n) noexcept
Calculates .
Definition: cimath.cpp:1941
cxsc::Er_l_interval
l_interval Er_l_interval() noexcept
Enclosure-Interval for .
Definition: l_imath.cpp:2751
cxsc::SqrtPir_l_interval
l_interval SqrtPir_l_interval() noexcept
Enclosure-Interval for .
Definition: l_imath.cpp:2011
cxsc::Sqrt2_l_interval
l_interval Sqrt2_l_interval() noexcept
Enclosure-Interval for .
Definition: l_imath.cpp:1135
cxsc::lnp1
cinterval lnp1(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:867
cxsc::Pi2_l_interval
l_interval Pi2_l_interval() noexcept
Enclosure-Interval for .
Definition: l_imath.cpp:1569
cxsc::asinh
cinterval asinh(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:2718
cxsc::sqrt1px2
cinterval sqrt1px2(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:1071
cxsc::coth
cinterval coth(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:578
cxsc::sin
cinterval sin(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:215
cxsc::Pip2_l_interval
l_interval Pip2_l_interval() noexcept
Enclosure-Interval for .
Definition: l_imath.cpp:2159
cxsc::EpPid2_l_interval
l_interval EpPid2_l_interval() noexcept
Enclosure-Interval for .
Definition: l_imath.cpp:3121
cxsc::cot
cinterval cot(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:538
cxsc::exp10
cinterval exp10(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:172
cxsc::expmx2
interval expmx2(const interval &x)
Calculates .
Definition: imath.cpp:192
cxsc::Ln2r_l_interval
l_interval Ln2r_l_interval() noexcept
Enclosure-Interval for .
Definition: l_imath.cpp:1349
cxsc::Pi2r_l_interval
l_interval Pi2r_l_interval() noexcept
Enclosure-Interval for .
Definition: l_imath.cpp:1789
cxsc::log10
cinterval log10(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:903
cxsc::tan
cinterval tan(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:393
cxsc::Ln10_l_interval
l_interval Ln10_l_interval() noexcept
Enclosure-Interval for .
Definition: l_imath.cpp:925
cxsc::tanh
cinterval tanh(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:565
cxsc::Ep2r_l_interval
l_interval Ep2r_l_interval() noexcept
Enclosure-Interval for .
Definition: l_imath.cpp:2899
cxsc::sqrt
cinterval sqrt(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:1007
cxsc::ln
cinterval ln(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:851
cxsc::log2
cinterval log2(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:898
cxsc::Pid4_l_interval
l_interval Pid4_l_interval() noexcept
Enclosure-Interval for .
Definition: l_imath.cpp:1065
cxsc::Catalan_l_interval
l_interval Catalan_l_interval() noexcept
Enclosure-Interval for Catalan Numbers.
Definition: l_imath.cpp:3343
cxsc::Sqrt3d2_l_interval
l_interval Sqrt3d2_l_interval() noexcept
Enclosure-Interval for .
Definition: l_imath.cpp:2381
cxsc::li_sqrt2
l_interval li_sqrt2()
Enclosure-Interval for .
Definition: l_imath.hpp:165
cxsc::sqrtx2m1
cinterval sqrtx2m1(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:1109
cxsc::Sqrt2r_l_interval
l_interval Sqrt2r_l_interval() noexcept
Enclosure-Interval for .
Definition: l_imath.cpp:2233
cxsc::Pid2_l_interval
l_interval Pid2_l_interval() noexcept
Enclosure-Interval for .
Definition: l_imath.cpp:1496
cxsc::acoshp1
interval acoshp1(const interval &x)
Calculates .
Definition: imath.cpp:617
cxsc::exp
cinterval exp(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:159
cxsc::li_ln2
l_interval li_ln2()
Enclosure-Interval for .
Definition: l_imath.hpp:157
cxsc::Sqrt5_l_interval
l_interval Sqrt5_l_interval() noexcept
Enclosure-Interval for .
Definition: l_imath.cpp:1204
cxsc::li_ln10
l_interval li_ln10()
Enclosure-Interval for .
Definition: l_imath.hpp:159
cxsc::Sqrt2Pi_l_interval
l_interval Sqrt2Pi_l_interval() noexcept
Enclosure-Interval for .
Definition: l_imath.cpp:1937
cxsc::acos
cinterval acos(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:2553
cxsc::Ep2Pi_l_interval
l_interval Ep2Pi_l_interval() noexcept
Enclosure-Interval for .
Definition: l_imath.cpp:3047
cxsc::Pir_l_interval
l_interval Pir_l_interval() noexcept
Enclosure-Interval for .
Definition: l_imath.cpp:1716
cxsc::li_pi4
l_interval li_pi4()
Enclosure-Interval for .
Definition: l_imath.hpp:163
cxsc::Ln2_l_interval
l_interval Ln2_l_interval() noexcept
Enclosure-Interval for .
Definition: l_imath.cpp:854
cxsc::l_interval
The Multiple-Precision Data Type l_interval.
Definition: l_interval.hpp:72
cxsc::cosh
cinterval cosh(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:223
cxsc::Sqrt3r_l_interval
l_interval Sqrt3r_l_interval() noexcept
Enclosure-Interval for .
Definition: l_imath.cpp:2455
cxsc::Pi_l_interval
l_interval Pi_l_interval() noexcept
Enclosure-Interval for .
Definition: l_imath.cpp:1423
cxsc::Ln2Pi_l_interval
l_interval Ln2Pi_l_interval() noexcept
Enclosure-Interval for .
Definition: l_imath.cpp:2603
cxsc::sinh
cinterval sinh(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:231
cxsc::ln_sqrtx2y2
interval ln_sqrtx2y2(const interval &x, const interval &y) noexcept
Calculates .
Definition: imath.cpp:581
cxsc::pow
cinterval pow(const cinterval &z, const interval &p) noexcept
Calculates .
Definition: cimath.cpp:2074
cxsc::exp2
cinterval exp2(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:167
cxsc::acoth
cinterval acoth(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:3330
cxsc
The namespace cxsc, providing all functionality of the class library C-XSC.
Definition: cdot.cpp:29
cxsc::sqrtp1m1
cinterval sqrtp1m1(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:1054
cxsc::EpPid4_l_interval
l_interval EpPid4_l_interval() noexcept
Enclosure-Interval for .
Definition: l_imath.cpp:3195
cxsc::expm1
cinterval expm1(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:177
cxsc::EulerGa_l_interval
l_interval EulerGa_l_interval() noexcept
Enclosure-Interval for Euler Gamma.
Definition: l_imath.cpp:3269
cxsc::atanh
cinterval atanh(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:3317
cxsc::LnPi_l_interval
l_interval LnPi_l_interval() noexcept
Enclosure-Interval for .
Definition: l_imath.cpp:2529
cxsc::Sqrt2Pir_l_interval
l_interval Sqrt2Pir_l_interval() noexcept
Enclosure-Interval for .
Definition: l_imath.cpp:2085
cxsc::cos
cinterval cos(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:207
cxsc::atan
cinterval atan(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:2938
cxsc::Sqrt3_l_interval
l_interval Sqrt3_l_interval() noexcept
Enclosure-Interval for .
Definition: l_imath.cpp:2307
cxsc::EpPi_l_interval
l_interval EpPi_l_interval() noexcept
Enclosure-Interval for .
Definition: l_imath.cpp:2973
cxsc::acot
cinterval acot(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:3130
cxsc::Ln10r_l_interval
l_interval Ln10r_l_interval() noexcept
Enclosure-Interval for .
Definition: l_imath.cpp:995
cxsc::sqrt1mx2
cinterval sqrt1mx2(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:1140
cxsc::Ep2_l_interval
l_interval Ep2_l_interval() noexcept
Enclosure-Interval for .
Definition: l_imath.cpp:2825
cxsc::Sqrt7_l_interval
l_interval Sqrt7_l_interval() noexcept
Enclosure-Interval for .
Definition: l_imath.cpp:1276
cxsc::acosh
cinterval acosh(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:2732
cxsc::sqr
cinterval sqr(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:3342
cxsc::li_Rln10
l_interval li_Rln10()
Enclosure-Interval for .
Definition: l_imath.hpp:161
cxsc::SqrtPi_l_interval
l_interval SqrtPi_l_interval() noexcept
Enclosure-Interval for .
Definition: l_imath.cpp:1863
cxsc::sqrtx2y2
interval sqrtx2y2(const interval &x, const interval &y) noexcept
Calculates .
Definition: imath.cpp:80
cxsc::asin
cinterval asin(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:2311