#ifndef DBIN_H_
#define DBIN_H_
#include <distributions/DistDiscrete.h>
/**
* @short Binomial distribution
* <pre>
* R ~ dbin(p, n)
* f(r|p,n) = n!/r!.(n - r)! p^r * (1 - p)^(n - r) ; r in 0:n
* </pre>
*/
class DBin : public DistDiscrete {
public:
DBin();
~DBin();
double d(double x, std::vector<SArray const *> const ¶meters,
bool give_log) const;
double p(double x, std::vector<SArray const *> const ¶meters, bool lower,
bool give_log) const;
double q(double p, std::vector<SArray const *> const ¶meters, bool lower,
bool log_p) const;
double r(std::vector<SArray const *> const ¶meters) const;
double l(std::vector<SArray const *> const ¶meters) const;
double u(std::vector<SArray const *> const ¶meters) const;
/**
* Checks that p and n are scalar and that n is discrete-valued.
*/
bool checkParameterDim (std::vector<SArray const *> const ¶meters) const;
/**
* Checks that p lies in (0,1) and n > 1
*/
bool checkParameterValue(std::vector<SArray const *> const ¶meters) const;
double mean(std::vector<SArray const *> const ¶meters) const;
double var(std::vector<SArray const *> const ¶meters) const;
};
#endif /* DBIN_H_ */
syntax highlighted by Code2HTML, v. 0.9.1