00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _matrix_statistic_hh
00026 #define _matrix_statistic_hh
00027
00028 #include "barray.h"
00029
00032 namespace PLib {
00033
00034 void initStatistic();
00035
00036 extern int MaximumIterations ;
00037
00038 template <class T>
00039 inline T Precision(){
00040 return 0 ;
00041 }
00042
00043 template <> inline double Precision<double>() { return 3e-7 ; }
00044 template <> inline float Precision<float>() { return 3e-7 ; }
00045
00046 template <class T>
00047 inline T MinimumFloat(){
00048 return 0 ;
00049 }
00050
00051 template <> inline double MinimumFloat<double>() { return 1e-30 ; }
00052 template <> inline float MinimumFloat<float>() { return 1e-30 ; }
00053
00054 template <class T> T lnOfGamma(T xx) ;
00055 template <class T> T factorial(int n) ;
00056 template <class T> T lnOfFactorial(int n) ;
00057 template <class T> T binomialCoefficient(int n, int k) ;
00058 template <class T> T beta(T z, T w) ;
00059 template <class T> T gammaP(T a, T x);
00060 template <class T> T gammaQ(T a, T x);
00061 template <class T> T gammaSerie(T a, T x, T& gln) ;
00062 template <class T> T gammaSerieCF(T a, T x, T& gln) ;
00063 template <class T> T errorFcn(T x);
00064 template <class T> T errorFcnC(T x);
00065 template <class T> T errorFcnChebyshevC(T x);
00066 template <class T> void kendallTau(const BasicArray<T>& data1, const BasicArray<T>& data2, T &tau, T &z, T& prob);
00067
00068 void kendallTau(const BasicArray<int>& data1, const BasicArray<int>& data2, float &tau, float &z, float& prob);
00069 void kendallTau(const BasicArray<int>& data1, const BasicArray<int>& data2, double &tau, double &z, double& prob);
00070
00071 }
00072
00073 #endif