00001 #ifndef EXPONENTIAL_H
00002 #define EXPONENTIAL_H
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef ZMENVIRONMENT_H
00012 #include "ZMutility/ZMenvironment.h"
00013 #endif
00014 #include <utility>
00015
00016 ZM_BEGIN_NAMESPACE( zmsf )
00017
00018 typedef std::pair<double,double> Dpair;
00019
00024
00025 struct Exponential {
00026
00028 static double Exp( const double x );
00029
00031 static Dpair ExpErr( const double x );
00032
00034 static double yExp( const double x, double y );
00035
00037 static Dpair yExpErr( const double x, double y );
00038
00040 static double ExpM1( const double x );
00041
00043 static Dpair ExpM1Err( const double x );
00044
00046 static double RelExp( const double x );
00047
00049 static Dpair RelExpErr( const double x );
00050
00052 static double RelExp2( const double x );
00053
00055 static Dpair RelExp2Err( const double x );
00056
00058 static double RelExpN( const int n, const double x );
00059
00061 static Dpair RelExpNErr( const int n, const double x );
00062
00064
00068 static Dpair ExpxDx( const double x, const double dx );
00069
00071
00075 static Dpair yExpxDxDy( const double x, const double dx,
00076 const double y, const double dy );
00077
00078 };
00079
00080 ZM_END_NAMESPACE( zmsf )
00081
00082 #endif