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
31namespace cxsc {
32
34l_interval pow (const l_interval&, const l_interval&); // Pow(x,y)
36l_interval power (const l_interval&, int); // Power(x,n)
38l_interval sqr (const l_interval&); // Sqr(x)
39
41l_interval sqrt (const l_interval&);
42 // Sqrt(x)
44l_interval sqrt (const l_interval&, int);
45 // NSqrt(n,x)
46
48l_interval sin (const l_interval&);
49 // Sin(x)
51l_interval cos (const l_interval&);
52 // Cos(x)
54l_interval tan (const l_interval&);
55 // Tan(x)
57l_interval cot (const l_interval&);
58 // Cot(x)
59
61l_interval asin (const l_interval&);
62 // ASin(x)
64l_interval acos (const l_interval&);
65 // ACos(x)
67l_interval atan (const l_interval&) noexcept; // ATan(x)
69l_interval acot (const l_interval&) noexcept; // ACot(x)
70
72l_interval exp (const l_interval&);
73 // exp(x)
75l_interval exp2(const l_interval &); // 2^x
76
78l_interval exp10(const l_interval &); // 10^x
79
81l_interval expm1(const l_interval & x) noexcept; // exp(x)-1;
83l_interval expmx2 (const l_interval&); // e^(-x^2);
85l_interval ln (const l_interval&);
86 // Ln(x)
88l_interval log2(const l_interval &);
90l_interval log10(const l_interval &);
92l_interval lnp1 (const l_interval&) noexcept; // ln(1+x)
94l_interval sinh (const l_interval&);
95 // Sinh(x)
97l_interval cosh (const l_interval&);
98 // Cosh(x)
100l_interval tanh (const l_interval&) noexcept; // Tanh(x)
102l_interval coth (const l_interval&) noexcept; // Coth(x)
103
105l_interval asinh (const l_interval&);
106 // ASinh(x)
108l_interval acosh (const l_interval&) noexcept; // ACosh(x)
110l_interval acoshp1 (const l_interval& x);
112l_interval atanh (const l_interval&);
113 // ATanh(x)
115l_interval acoth (const l_interval&);
116 // ACoth(x)
117
119l_interval sqrt1px2(const l_interval&) noexcept; // Sqrt(1+x^2);
121l_interval sqrtx2y2(const l_interval&, const l_interval&) noexcept;
122 // Sqrt(x^2+y^2);
124l_interval sqrtp1m1(const l_interval&);
125 // sqrtp1m1(x) calculates an inclusion of sqrt(x+1)-1
127l_interval sqrtx2m1(const l_interval&); // sqrt(x^2-1)
129l_interval sqrt1mx2(const l_interval&); // sqrt(1-x^2)
130
132l_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)
141l_interval Ln2_l_interval() noexcept; // ln(2)
143l_interval Ln10_l_interval() noexcept; // ln(10)
145l_interval Ln10r_l_interval() noexcept; // 1/ln(10)
147l_interval Pid4_l_interval() noexcept; // Pi/4
149l_interval Sqrt2_l_interval() noexcept; // sqrt(2)
151l_interval Sqrt5_l_interval() noexcept; // sqrt(5)
153l_interval Sqrt7_l_interval() noexcept; // sqrt(7)
154
155// obsolete functions, for compability
157inline l_interval li_ln2() {return Ln2_l_interval();} // ln(2)
159inline l_interval li_ln10() {return Ln10_l_interval();} // ln(10)
161inline l_interval li_Rln10(){return Ln10r_l_interval();} // 1/ln(10)
163inline l_interval li_pi4() {return Pid4_l_interval();} // Pi/4
165inline l_interval li_sqrt2(){return Sqrt2_l_interval();} // sqrt(2)
166
168l_interval Ln2r_l_interval() noexcept; // 1/ln(2)
170l_interval Pi_l_interval() noexcept; // Pi
172l_interval Pid2_l_interval() noexcept; // Pi/2
174l_interval Pi2_l_interval() noexcept; // 2*Pi
176l_interval Pid3_l_interval() noexcept; // Pi/3
178l_interval Pir_l_interval() noexcept; // 1/Pi
180l_interval Pi2r_l_interval() noexcept; // 1/(2*Pi)
182l_interval SqrtPi_l_interval() noexcept; // sqrt(Pi)
184l_interval Sqrt2Pi_l_interval() noexcept; // sqrt(2*Pi)
186l_interval SqrtPir_l_interval() noexcept; // 1/sqrt(Pi)
188l_interval Sqrt2Pir_l_interval() noexcept; // 1/sqrt(2*Pi)
190l_interval Pip2_l_interval() noexcept; // Pi^2
192l_interval Sqrt2r_l_interval() noexcept; // 1/sqrt(2)
194l_interval Sqrt3_l_interval() noexcept; // sqrt(3)
196l_interval Sqrt3d2_l_interval() noexcept; // sqrt(3)/2
198l_interval Sqrt3r_l_interval() noexcept; // 1/sqrt(3)
200l_interval LnPi_l_interval() noexcept; // ln(Pi)
202l_interval Ln2Pi_l_interval() noexcept; // ln(2*Pi)
204l_interval E_l_interval() noexcept; // e = exp(1)
206l_interval Er_l_interval() noexcept; // 1/e
208l_interval Ep2_l_interval() noexcept; // e^2
210l_interval Ep2r_l_interval() noexcept; // 1/e^2
212l_interval EpPi_l_interval() noexcept; // e^Pi
214l_interval Ep2Pi_l_interval() noexcept; // e^(2*Pi)
216l_interval EpPid2_l_interval() noexcept; // e^(Pi/2)
218l_interval EpPid4_l_interval() noexcept; // e^(Pi/4)
220l_interval EulerGa_l_interval() noexcept; // EulerGamma
222l_interval Catalan_l_interval() noexcept; // Catalan
223} // namespace cxsc
224
225#endif // _CXSC_L_IMATH_HPP_INCLUDED
The Multiple-Precision Data Type l_interval.
The namespace cxsc, providing all functionality of the class library C-XSC.
Definition cdot.cpp:29
l_interval Sqrt3r_l_interval() noexcept
Enclosure-Interval for .
Definition l_imath.cpp:2455
cinterval sqrtp1m1(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:1054
cinterval exp2(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:167
cinterval sqrt1mx2(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:1140
l_interval SqrtPi_l_interval() noexcept
Enclosure-Interval for .
Definition l_imath.cpp:1863
l_interval li_ln10()
Enclosure-Interval for .
Definition l_imath.hpp:159
cinterval asinh(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:2718
l_interval Ep2r_l_interval() noexcept
Enclosure-Interval for .
Definition l_imath.cpp:2899
l_interval li_Rln10()
Enclosure-Interval for .
Definition l_imath.hpp:161
cinterval coth(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:578
l_interval Pi2_l_interval() noexcept
Enclosure-Interval for .
Definition l_imath.cpp:1569
l_interval Sqrt2Pir_l_interval() noexcept
Enclosure-Interval for .
Definition l_imath.cpp:2085
l_interval Sqrt2Pi_l_interval() noexcept
Enclosure-Interval for .
Definition l_imath.cpp:1937
cinterval log2(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:898
l_interval Pi_l_interval() noexcept
Enclosure-Interval for .
Definition l_imath.cpp:1423
l_interval Sqrt2_l_interval() noexcept
Enclosure-Interval for .
Definition l_imath.cpp:1135
cinterval power(const cinterval &z, int n) noexcept
Calculates .
Definition cimath.cpp:1941
cinterval log10(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:903
l_interval Ln10r_l_interval() noexcept
Enclosure-Interval for .
Definition l_imath.cpp:995
l_interval Ep2_l_interval() noexcept
Enclosure-Interval for .
Definition l_imath.cpp:2825
l_interval EpPi_l_interval() noexcept
Enclosure-Interval for .
Definition l_imath.cpp:2973
cinterval ln(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:851
l_interval LnPi_l_interval() noexcept
Enclosure-Interval for .
Definition l_imath.cpp:2529
cinterval pow(const cinterval &z, const interval &p) noexcept
Calculates .
Definition cimath.cpp:2074
l_interval Ep2Pi_l_interval() noexcept
Enclosure-Interval for .
Definition l_imath.cpp:3047
l_interval Pir_l_interval() noexcept
Enclosure-Interval for .
Definition l_imath.cpp:1716
l_interval Pip2_l_interval() noexcept
Enclosure-Interval for .
Definition l_imath.cpp:2159
interval expmx2(const interval &x)
Calculates .
Definition imath.cpp:192
cinterval sinh(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:231
l_interval li_pi4()
Enclosure-Interval for .
Definition l_imath.hpp:163
l_interval Catalan_l_interval() noexcept
Enclosure-Interval for Catalan Numbers.
Definition l_imath.cpp:3343
l_interval Pid2_l_interval() noexcept
Enclosure-Interval for .
Definition l_imath.cpp:1496
cinterval asin(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:2311
interval acoshp1(const interval &x)
Calculates .
Definition imath.cpp:617
cinterval tan(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:393
cinterval exp10(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:172
l_interval Sqrt7_l_interval() noexcept
Enclosure-Interval for .
Definition l_imath.cpp:1276
l_interval E_l_interval() noexcept
Enclosure-Interval for .
Definition l_imath.cpp:2677
cinterval acos(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:2553
l_interval Sqrt2r_l_interval() noexcept
Enclosure-Interval for .
Definition l_imath.cpp:2233
cinterval sqrtx2m1(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:1109
l_interval EulerGa_l_interval() noexcept
Enclosure-Interval for Euler Gamma.
Definition l_imath.cpp:3269
cinterval acosh(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:2732
l_interval Pid3_l_interval() noexcept
Enclosure-Interval for .
Definition l_imath.cpp:1642
l_interval Sqrt3_l_interval() noexcept
Enclosure-Interval for .
Definition l_imath.cpp:2307
l_interval SqrtPir_l_interval() noexcept
Enclosure-Interval for .
Definition l_imath.cpp:2011
cinterval cosh(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:223
l_interval Ln2r_l_interval() noexcept
Enclosure-Interval for .
Definition l_imath.cpp:1349
l_interval EpPid2_l_interval() noexcept
Enclosure-Interval for .
Definition l_imath.cpp:3121
cinterval cos(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:207
l_interval Pid4_l_interval() noexcept
Enclosure-Interval for .
Definition l_imath.cpp:1065
cinterval sqrt1px2(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:1071
l_interval Sqrt3d2_l_interval() noexcept
Enclosure-Interval for .
Definition l_imath.cpp:2381
cinterval exp(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:159
l_interval EpPid4_l_interval() noexcept
Enclosure-Interval for .
Definition l_imath.cpp:3195
cinterval tanh(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:565
interval ln_sqrtx2y2(const interval &x, const interval &y) noexcept
Calculates .
Definition imath.cpp:581
cinterval expm1(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:177
cinterval cot(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:538
l_interval Er_l_interval() noexcept
Enclosure-Interval for .
Definition l_imath.cpp:2751
cinterval sqrt(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:1007
cinterval acot(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:3130
l_interval Ln2Pi_l_interval() noexcept
Enclosure-Interval for .
Definition l_imath.cpp:2603
cinterval sqr(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:3342
l_interval Sqrt5_l_interval() noexcept
Enclosure-Interval for .
Definition l_imath.cpp:1204
l_interval Ln2_l_interval() noexcept
Enclosure-Interval for .
Definition l_imath.cpp:854
cinterval lnp1(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:867
l_interval li_ln2()
Enclosure-Interval for .
Definition l_imath.hpp:157
cinterval atan(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:2938
cinterval atanh(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:3317
l_interval Ln10_l_interval() noexcept
Enclosure-Interval for .
Definition l_imath.cpp:925
cinterval acoth(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:3330
l_interval li_sqrt2()
Enclosure-Interval for .
Definition l_imath.hpp:165
interval sqrtx2y2(const interval &x, const interval &y) noexcept
Calculates .
Definition imath.cpp:80
cinterval sin(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:215
l_interval Pi2r_l_interval() noexcept
Enclosure-Interval for .
Definition l_imath.cpp:1789