00001 #pragma ident "$Id: SpecialFunctions.hpp 2741 2011-06-22 16:37:02Z nwu $"
00002
00008 #ifndef SPECIALFUNCTIONS_HPP
00009 #define SPECIALFUNCTIONS_HPP
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 #include <cmath>
00035 #include "icd_200_constants.hpp"
00036 #include "Exception.hpp"
00037
00038
00039 namespace gpstk
00040 {
00041
00044
00045
00055 double gamma(const double val);
00056
00057
00063 double lngamma(double val);
00064
00065
00067 double lower_gamma(const double a, const double z);
00068
00069
00071 double upper_gamma(const double a, const double z);
00072
00073
00075 double gammaP(const double a, const double z);
00076
00077
00079 double gammaQ(const double a, const double z);
00080
00081
00087 double factorial(const int n);
00088
00089
00093 double factorial(const double d);
00094
00095
00113 double erf(const double x);
00114
00115
00117 double erfc(const double x);
00118
00119
00124 double inverf(const double z);
00125
00126
00131 double beta(const double x, const double y);
00132
00133
00138 double lnbeta(double x, double y);
00139
00140
00147 double regIncompleteBeta(const double x, const double a, const double b)
00148 throw(InvalidParameter);
00149
00150
00152
00153 }
00154 #endif // SPECIALFUNCTIONS_HPP