C-XSC - A C++ Class Library for Extended Scientific Computing  2.5.4
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: imath.hpp,v 1.38 2014/01/30 17:23:45 cxsc Exp $ */
25 
26 #ifndef _CXSC_IMATH_HPP_INCLUDED
27 #define _CXSC_IMATH_HPP_INCLUDED
28 
29 #include "except.hpp"
30 #include "interval.hpp"
31 
32 namespace cxsc {
33 
35  interval sqr (const interval&) noexcept; // sqr(x)
37 inline interval sqrt (const interval&); // sqrt(x)
39  interval sqrt (const interval &, int); // sqrt(x, n)
41  interval sqrt1px2(const interval&) noexcept; // sqrt(1+x^2)
43  interval sqrtp1m1(const interval&) noexcept; // sqrt(x+1)-1
45  interval sqrtx2m1(const interval&); // sqrt(x^2-1)
47  interval sqrt1mx2(const interval&); // sqrt(1-x^2)
48 
50 inline interval sin (const interval&) noexcept; // sin(x)
52  interval sinpix_pi(const interval& x); // sin(pi*x)/pi
54 inline interval cos (const interval&) noexcept; // cos(x)
56 inline interval tan (const interval&) noexcept; // tan(x)
58 inline interval cot (const interval&) noexcept; // cot(x)
59 
61 inline interval asin (const interval&); // ASin(x)
63 inline interval acos (const interval&); // ACos(x)
65 inline interval atan (const interval&); // ATan(x)
67 inline interval acot (const interval&); // ACot(x)
68 
70 inline interval exp (const interval&) noexcept; // exp(x)
72  interval expmx2 (const interval&); // exp(-x^2)
74  interval expm1 (const interval&); // exp(x)-1
76  interval expx2 (const interval& x); // e^{+x^2}
78  interval expx2m1 (const interval& x); // e^{+x^2}-1
79 
81 inline interval ln (const interval&); // ln(x)
83  interval lnp1 (const interval&) noexcept; // ln(1+x)
85 inline interval log2 (const interval&); // log2(x)
87 inline interval log10 (const interval&); // log10(x)
88 
90 inline interval sinh (const interval&) noexcept; // Sinh(x)
92 inline interval cosh (const interval&) noexcept; // Cosh(x)
94 inline interval tanh (const interval&) noexcept; // Tanh(x)
96 inline interval coth (const interval&) noexcept; // Coth(x)
97 
99 inline interval asinh (const interval&); // ASinh(x)
101 inline interval acosh (const interval&); // ACosh(x)
103  interval acoshp1 (const interval&); // acosh(1+x)
105 inline interval atanh (const interval&); // ATanh(x)
107 inline interval acoth (const interval&); // ACoth(x)
108 
110 interval erf (const interval&); // error function
112 interval erfc (const interval&); // complementary error function
114 interval gamma (const interval& x); // Gamma(x)
116 interval gammar(const interval& x); // 1/Gamma(x)
117 
119 interval pow (const interval&, const interval&) noexcept; // Pow(x,y)
121 interval power (const interval&, int); // Power(x,n)
123 interval Power (const interval&, int); // Power(x,n)
124 
126 interval sqrtx2y2(const interval&, const interval&) noexcept; // sqrt(x^2+y^2)
128 interval ln_sqrtx2y2(const interval&, const interval&) noexcept;
129  // ln( sqrt(x^2+y^2) ) == 0.5*ln(x^2+y^2);
130 
132 interval Pi ( );
133 } // namespace cxsc
134 
135 #include "imath.inl"
136 #endif // _CXSC_IMATH_HPP_INCLUDED
The namespace cxsc, providing all functionality of the class library C-XSC.
Definition: cdot.cpp:29
cinterval sqrtp1m1(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:1054
cinterval sqrt1mx2(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:1140
interval erf(const interval &a)
The Gauss error function .
Definition: imath.cpp:354
cinterval asinh(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:2718
interval gamma(const interval &x)
The Gamma function.
Definition: imath.cpp:1465
cinterval coth(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:578
cinterval log2(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:898
cinterval power(const cinterval &z, int n) noexcept
Calculates .
Definition: cimath.cpp:1941
interval sinpix_pi(const interval &x)
Calculates ;.
Definition: imath.cpp:655
cinterval log10(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:903
interval expx2(const interval &x)
Calculates .
Definition: imath.cpp:234
cinterval ln(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:851
cinterval pow(const cinterval &z, const interval &p) noexcept
Calculates .
Definition: cimath.cpp:2074
interval expmx2(const interval &x)
Calculates .
Definition: imath.cpp:192
cinterval sinh(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:231
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
interval Power(const interval &x, int n)
Calculates .
Definition: imath.cpp:536
interval Pi()
Enclosure-Interval for .
Definition: imath.cpp:566
cinterval acos(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:2553
cinterval sqrtx2m1(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:1109
cinterval acosh(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:2732
cinterval cosh(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:223
cinterval cos(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:207
cinterval sqrt1px2(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:1071
cinterval exp(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:159
interval gammar(const interval &x)
The inverse Gamma function: 1/Gamma(x)
Definition: imath.cpp:1361
interval erfc(const interval &a)
The complementary Gauss error function .
Definition: imath.cpp:361
interval expx2m1(const interval &x)
Calculates .
Definition: imath.cpp:300
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
cinterval sqrt(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:1007
cinterval acot(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:3130
cinterval sqr(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:3342
cinterval lnp1(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:867
cinterval atan(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:2938
cinterval atanh(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:3317
cinterval acoth(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:3330
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