C-XSC - A C++ Class Library for Extended Scientific Computing  2.5.4
cimath.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: cimath.hpp,v 1.24 2014/01/30 17:23:43 cxsc Exp $ */
25 
26 /*
27 **
28 ** COmplex interval STandard functions LibrarY, CoStLy Version 1.0.3
29 **
30 ** Copyright (C) Markus Neher, markus.neher@math.uni-karlsruhe.de
31 ** Ingo Eble, ingoeble@web.de
32 ** Frithjof Blomquist, Blomquist@math.uni-wuppertal.de
33 **
34 ** The complex interval elementary functions in C-XSC are based on the
35 ** CoStLy library written by Markus Neher. Additional improvements have
36 ** been done by Frithjof Blomquist.
37 **
38 ** References:
39 ** - Neher, M: "Complex Standard Functions and their Implementation in
40 ** the CoStLy Library", Preprint Nr. 04/18, Fakultaet fuer Mathematik,
41 ** Universitaet Karlsruhe, 2004.
42 ** - Blomquist, F.; Hofschuster, W.; Kraemer, W.: "Complex Interval Functions
43 ** in C-XSC", Preprint BUW-WRSWT 2005/2, Universitaet Wuppertal, 2005.
44 ** - Neher, M: "Complex Standard Functions and their Implementation in
45 ** the CoStLy Library", to appear in ACM Transactions on Mathematical
46 ** Software (TOMS).
47 **
48 */
49 
50 
51 #ifndef _CXSC_CIMATH_HPP_INCLUDED
52 #define _CXSC_CIMATH_HPP_INCLUDED
53 
54 #include "cinterval.hpp"
55 #include <list>
56 #include <string>
57 #include <cmath>
58 
59 namespace cxsc{
60 
62 cinterval exp(const cinterval&) noexcept;
64 cinterval expm1(const cinterval&) noexcept;
66 cinterval exp2(const cinterval&) noexcept;
68 cinterval exp10(const cinterval&) noexcept;
70 cinterval cos(const cinterval&) noexcept;
72 cinterval sin(const cinterval&) noexcept;
74 cinterval cosh(const cinterval&) noexcept;
76 cinterval sinh(const cinterval&) noexcept;
77 
79 cinterval tan(const cinterval&) noexcept;
81 cinterval cot(const cinterval&) noexcept;
83 cinterval tanh(const cinterval&) noexcept;
85 cinterval coth(const cinterval&) noexcept;
86 
88 interval arg(const cinterval&) noexcept;
89 interval arg_inclmon(const cinterval&) noexcept;
91 interval Arg(const cinterval&) noexcept;
92 
94 cinterval ln(const cinterval&) noexcept;
96 cinterval Ln(const cinterval&) noexcept;
98 cinterval lnp1(const cinterval&) noexcept;
99 
101 cinterval log2(const cinterval&) noexcept;
103 cinterval log10(const cinterval&) noexcept;
104 
106 cinterval sqr(const cinterval&) noexcept;
107 
109 cinterval sqrt(const cinterval&) noexcept;
111 cinterval sqrtp1m1(const cinterval&) noexcept;
113 cinterval sqrt1px2(const cinterval&) noexcept;
115 cinterval sqrtx2m1(const cinterval&) noexcept;
117 cinterval sqrt1mx2(const cinterval&) noexcept;
118 
120 std::list<cinterval>sqrt_all(const cinterval&);
122 cinterval sqrt(const cinterval&, int) noexcept;
124 std::list<cinterval>sqrt_all(const cinterval&, int);
125 
127 cinterval power_fast(const cinterval&,int) noexcept;
129 cinterval power(const cinterval&,int) noexcept;
131 cinterval pow(const cinterval&, const interval&) noexcept;
133 cinterval pow(const cinterval&, const cinterval&) noexcept;
135 std::list<cinterval>pow_all(const cinterval&, const interval&) noexcept;
137 void times2pown(cinterval& x, int n) noexcept;
138 
140 cinterval asin(const cinterval&) noexcept;
142 cinterval acos(const cinterval&) noexcept;
144 cinterval asinh(const cinterval&) noexcept;
146 cinterval acosh(const cinterval&) noexcept;
148 cinterval atan(const cinterval&) noexcept;
150 cinterval acot(const cinterval&) noexcept;
152 cinterval atanh(const cinterval&) noexcept;
154 cinterval acoth(const cinterval&) noexcept;
155 
156 } // namespace cxsc
157 
158 #endif // _CXSC_CIMATH_HPP_INCLUDED
159 
160 /*
161 
162  End of File: cimath.hpp
163 
164 */
cxsc::power
cinterval power(const cinterval &z, int n) noexcept
Calculates .
Definition: cimath.cpp:1941
cxsc::Ln
cinterval Ln(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:829
cxsc::lnp1
cinterval lnp1(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:867
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::sqrt_all
std::list< cinterval > sqrt_all(const cinterval &z)
Calculates and returns all possible solutions.
Definition: cimath.cpp:1176
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::log10
cinterval log10(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:903
cxsc::arg
interval arg(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:741
cxsc::tan
cinterval tan(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:393
cxsc::tanh
cinterval tanh(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:565
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::sqrtx2m1
cinterval sqrtx2m1(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:1109
cxsc::Arg
interval Arg(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:654
cxsc::exp
cinterval exp(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:159
cxsc::acos
cinterval acos(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:2553
cxsc::cosh
cinterval cosh(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:223
cxsc::sinh
cinterval sinh(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:231
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::expm1
cinterval expm1(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:177
cxsc::atanh
cinterval atanh(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:3317
cxsc::pow_all
std::list< cinterval > pow_all(const cinterval &z, const interval &p) noexcept
Calculates and returns all possible solutions.
Definition: cimath.cpp:2107
cxsc::times2pown
void times2pown(cinterval &x, int n) noexcept
Fast multiplication of reference parameter [z] with .
Definition: cimath.cpp:2059
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::acot
cinterval acot(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:3130
cxsc::power_fast
cinterval power_fast(const cinterval &z, int n) noexcept
Calculates .
Definition: cimath.cpp:1520
cxsc::sqrt1mx2
cinterval sqrt1mx2(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:1140
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::asin
cinterval asin(const cinterval &z) noexcept
Calculates .
Definition: cimath.cpp:2311