C-XSC - A C++ Class Library for Extended Scientific Computing
2.5.4
|
00001 /* 00002 ** CXSC is a C++ library for eXtended Scientific Computing (V 2.5.4) 00003 ** 00004 ** Copyright (C) 1990-2000 Institut fuer Angewandte Mathematik, 00005 ** Universitaet Karlsruhe, Germany 00006 ** (C) 2000-2014 Wiss. Rechnen/Softwaretechnologie 00007 ** Universitaet Wuppertal, Germany 00008 ** 00009 ** This library is free software; you can redistribute it and/or 00010 ** modify it under the terms of the GNU Library General Public 00011 ** License as published by the Free Software Foundation; either 00012 ** version 2 of the License, or (at your option) any later version. 00013 ** 00014 ** This library is distributed in the hope that it will be useful, 00015 ** but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00017 ** Library General Public License for more details. 00018 ** 00019 ** You should have received a copy of the GNU Library General Public 00020 ** License along with this library; if not, write to the Free 00021 ** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00022 */ 00023 00024 /* CVS $Id: imath.hpp,v 1.38 2014/01/30 17:23:45 cxsc Exp $ */ 00025 00026 #ifndef _CXSC_IMATH_HPP_INCLUDED 00027 #define _CXSC_IMATH_HPP_INCLUDED 00028 00029 #include "except.hpp" 00030 #include "interval.hpp" 00031 00032 namespace cxsc { 00033 00035 interval sqr (const interval&) throw(); // sqr(x) 00037 inline interval sqrt (const interval&); // sqrt(x) 00039 interval sqrt (const interval &, int) throw(STD_FKT_OUT_OF_DEF); // sqrt(x, n) 00041 interval sqrt1px2(const interval&) throw(); // sqrt(1+x^2) 00043 interval sqrtp1m1(const interval&) throw(); // sqrt(x+1)-1 00045 interval sqrtx2m1(const interval&); // sqrt(x^2-1) 00047 interval sqrt1mx2(const interval&); // sqrt(1-x^2) 00048 00050 inline interval sin (const interval&) throw(); // sin(x) 00052 interval sinpix_pi(const interval& x); // sin(pi*x)/pi 00054 inline interval cos (const interval&) throw(); // cos(x) 00056 inline interval tan (const interval&) throw(); // tan(x) 00058 inline interval cot (const interval&) throw(); // cot(x) 00059 00061 inline interval asin (const interval&); // ASin(x) 00063 inline interval acos (const interval&); // ACos(x) 00065 inline interval atan (const interval&); // ATan(x) 00067 inline interval acot (const interval&); // ACot(x) 00068 00070 inline interval exp (const interval&) throw(); // exp(x) 00072 interval expmx2 (const interval&); // exp(-x^2) 00074 interval expm1 (const interval&); // exp(x)-1 00076 interval expx2 (const interval& x); // e^{+x^2} 00078 interval expx2m1 (const interval& x); // e^{+x^2}-1 00079 00081 inline interval ln (const interval&); // ln(x) 00083 interval lnp1 (const interval&) throw(); // ln(1+x) 00085 inline interval log2 (const interval&); // log2(x) 00087 inline interval log10 (const interval&); // log10(x) 00088 00090 inline interval sinh (const interval&) throw(); // Sinh(x) 00092 inline interval cosh (const interval&) throw(); // Cosh(x) 00094 inline interval tanh (const interval&) throw(); // Tanh(x) 00096 inline interval coth (const interval&) throw(); // Coth(x) 00097 00099 inline interval asinh (const interval&); // ASinh(x) 00101 inline interval acosh (const interval&); // ACosh(x) 00103 interval acoshp1 (const interval&); // acosh(1+x) 00105 inline interval atanh (const interval&); // ATanh(x) 00107 inline interval acoth (const interval&); // ACoth(x) 00108 00110 interval erf (const interval&); // error function 00112 interval erfc (const interval&); // complementary error function 00114 interval gamma (const interval& x); // Gamma(x) 00116 interval gammar(const interval& x); // 1/Gamma(x) 00117 00119 interval pow (const interval&, const interval&) throw(); // Pow(x,y) 00121 interval power (const interval&, int); // Power(x,n) 00123 interval Power (const interval&, int); // Power(x,n) 00124 00126 interval sqrtx2y2(const interval&, const interval&) throw(); // sqrt(x^2+y^2) 00128 interval ln_sqrtx2y2(const interval&, const interval&) throw(); 00129 // ln( sqrt(x^2+y^2) ) == 0.5*ln(x^2+y^2); 00130 00132 interval Pi ( ); 00133 } // namespace cxsc 00134 00135 #include "imath.inl" 00136 #endif // _CXSC_IMATH_HPP_INCLUDED