00001 #ifndef HYPERBOLIC_H
00002 #define HYPERBOLIC_H
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef ZMENVIRONMENT_H
00012 #include "ZMutility/ZMenvironment.h"
00013 #endif
00014 #include <utility>
00015 #include <complex>
00016
00017 ZM_BEGIN_NAMESPACE( zmsf )
00018
00019 typedef std::pair<double,double> Dpair;
00020 typedef std::complex<double> Dcomplex;
00021 typedef std::pair<Dcomplex,Dcomplex> Cpair;
00022
00027
00028 struct Hyperbolic {
00029
00031 static double Cosh( const double x );
00032
00034 static Dpair CoshErr( const double x );
00035
00037 static Dcomplex Cosh( const Dcomplex z );
00038
00040 static Cpair CoshErr( const Dcomplex z );
00041
00043 static double Sinh( const double x );
00044
00046 static Dpair SinhErr( const double x );
00047
00049 static Dcomplex Sinh( const Dcomplex z );
00050
00052 static Cpair SinhErr( const Dcomplex z );
00053
00055 static double Tanh( const double x );
00056
00058 static Dpair TanhErr( const double x );
00059
00061 static Dcomplex Tanh( const Dcomplex z );
00062
00064 static Cpair TanhErr( const Dcomplex z );
00065
00067 static double Acosh( const double x );
00068
00070 static Dpair AcoshErr( const double x );
00071
00073 static double Asinh( const double x );
00074
00076 static Dpair AsinhErr( const double x );
00077
00079 static double Atanh( const double x );
00080
00082 static Dpair AtanhErr( const double x );
00083
00084 };
00085
00086 ZM_END_NAMESPACE( zmsf )
00087
00088 #endif