/***********************************************************/ /* Gamma distribution */ /***********************************************************/ #ifndef __GAMMA_H__ /* To prevent redefinition */ #define ENTRY extern #define LOCAL static class GammaDF { public: GammaDF(double shape, double scale=1); double value(double x); // Функция распределения Gamma(x|shape,scale) double inv(double p); // Обратная функция: Gamma(x|shape,scale)=p private: double a, shape, scale, lga; double fraction(double x); double series(double x); }; #define __GAMMA_H__ /* Prevents redefinition */ #endif /* Ends #ifndef __GAMMA_H__ */