#ifndef DHYPER_H_ #define DHYPER_H_ #include /** * @short Hypergeometric distribution *
 * R ~ dhyper(n1,n2,m1,psi)
 * 
*/ class DHyper : public DistDiscrete { public: DHyper(); ~DHyper(); double d(double x, std::vector const ¶meters, bool give_log) const; double p(double x, std::vector const ¶meters, bool lower, bool give_log) const; double q(double p, std::vector const ¶meters, bool lower, bool log_p) const; double r(std::vector const ¶meters) const; double l(std::vector const ¶meters) const; double u(std::vector const ¶meters) const; double mean(std::vector const ¶meters) const; double var(std::vector const ¶meters) const; /** * Checks that R, p and n are scalar */ bool checkParameterDim (std::vector const ¶meters) const; /** * Checks that p lies in (0,1) and n > 1 */ bool checkParameterValue(std::vector const ¶meters) const; }; #endif /* DHYPER_H_ */