00001 #ifndef LOGARITHM_H
00002 #define LOGARITHM_H
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef ZMENVIRONMENT_H
00011 #include "ZMutility/ZMenvironment.h"
00012 #endif
00013 #include <utility>
00014 #include <complex>
00015
00016 ZM_BEGIN_NAMESPACE( zmsf )
00017
00018 typedef std::pair<double,double> Dpair;
00019 typedef std::complex<double> Dcomplex;
00020 typedef std::pair<Dcomplex,Dcomplex> Cpair;
00021
00026
00027 struct Logarithm {
00028
00030 static double Log( const double x );
00031
00033 static Dpair LogErr( const double x );
00034
00036 static double LogAbs( const double x );
00037
00039 static Dpair LogAbsErr( const double x );
00040
00042 static Dcomplex Log( const Dcomplex z );
00043
00045 static Cpair LogErr( const Dcomplex z );
00046
00048 static double Log1p( const double x );
00049
00051 static Dpair Log1pErr( const double x );
00052
00054 static double Log1pm( const double x );
00055
00057 static Dpair Log1pmErr( const double x );
00058
00059 };
00060
00061 ZM_END_NAMESPACE( zmsf )
00062
00063 #endif