00001 #ifndef DISTRBASE_HEADER
00002 #define DISTRBASE_HEADER
00003
00004
00005
00011
00012
00013
00014
00015 #include "Rangedimexc.hh"
00016
00017
00018
00019 namespace RazorBack {
00020
00030 class Distrbase_
00031 {
00032
00033
00034
00035 public:
00036
00037 virtual ~Distrbase_() {}
00038
00040 virtual double pdf(double X) const =0;
00041
00043 virtual double cdf(double X) const =0;
00044
00046 virtual double inv_cdf(double Y) const =0;
00047
00049 virtual double mean() const =0;
00050
00052 virtual double var() const =0;
00053
00055 virtual double skew() const =0;
00056
00058 virtual double kurt() const =0;
00059
00061 virtual double entropy() const =0;
00062
00064 virtual double random() const =0;
00065 };
00066
00067
00068
00069
00070
00071
00072 }
00073
00074 #endif // DISTRBASE_HEADER