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
59namespace cxsc{
60
62cinterval exp(const cinterval&) noexcept;
64cinterval expm1(const cinterval&) noexcept;
66cinterval exp2(const cinterval&) noexcept;
68cinterval exp10(const cinterval&) noexcept;
70cinterval cos(const cinterval&) noexcept;
72cinterval sin(const cinterval&) noexcept;
74cinterval cosh(const cinterval&) noexcept;
76cinterval sinh(const cinterval&) noexcept;
77
79cinterval tan(const cinterval&) noexcept;
81cinterval cot(const cinterval&) noexcept;
83cinterval tanh(const cinterval&) noexcept;
85cinterval coth(const cinterval&) noexcept;
86
88interval arg(const cinterval&) noexcept;
89interval arg_inclmon(const cinterval&) noexcept;
91interval Arg(const cinterval&) noexcept;
92
94cinterval ln(const cinterval&) noexcept;
96cinterval Ln(const cinterval&) noexcept;
98cinterval lnp1(const cinterval&) noexcept;
99
101cinterval log2(const cinterval&) noexcept;
103cinterval log10(const cinterval&) noexcept;
104
106cinterval sqr(const cinterval&) noexcept;
107
109cinterval sqrt(const cinterval&) noexcept;
111cinterval sqrtp1m1(const cinterval&) noexcept;
113cinterval sqrt1px2(const cinterval&) noexcept;
115cinterval sqrtx2m1(const cinterval&) noexcept;
117cinterval sqrt1mx2(const cinterval&) noexcept;
118
120std::list<cinterval>sqrt_all(const cinterval&);
122cinterval sqrt(const cinterval&, int) noexcept;
124std::list<cinterval>sqrt_all(const cinterval&, int);
125
127cinterval power_fast(const cinterval&,int) noexcept;
129cinterval power(const cinterval&,int) noexcept;
131cinterval pow(const cinterval&, const interval&) noexcept;
133cinterval pow(const cinterval&, const cinterval&) noexcept;
135std::list<cinterval>pow_all(const cinterval&, const interval&) noexcept;
137void times2pown(cinterval& x, int n) noexcept;
138
140cinterval asin(const cinterval&) noexcept;
142cinterval acos(const cinterval&) noexcept;
144cinterval asinh(const cinterval&) noexcept;
146cinterval acosh(const cinterval&) noexcept;
148cinterval atan(const cinterval&) noexcept;
150cinterval acot(const cinterval&) noexcept;
152cinterval atanh(const cinterval&) noexcept;
154cinterval 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*/
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 exp2(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:167
cinterval sqrt1mx2(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:1140
cinterval asinh(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:2718
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
cinterval log10(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:903
cinterval Ln(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:829
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
cinterval sinh(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:231
cinterval asin(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:2311
cinterval tan(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:393
cinterval exp10(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:172
interval arg(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:741
std::list< cinterval > sqrt_all(const cinterval &z)
Calculates and returns all possible solutions.
Definition cimath.cpp:1176
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
cinterval tanh(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:565
std::list< cinterval > pow_all(const cinterval &z, const interval &p) noexcept
Calculates and returns all possible solutions.
Definition cimath.cpp:2107
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 power_fast(const cinterval &z, int n) noexcept
Calculates .
Definition cimath.cpp:1520
cinterval acot(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:3130
void times2pown(cinterval &x, int n) noexcept
Fast multiplication of reference parameter [z] with .
Definition cimath.cpp:2059
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
interval Arg(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:654
cinterval acoth(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:3330
cinterval sin(const cinterval &z) noexcept
Calculates .
Definition cimath.cpp:215