32 #ifndef MCKL_RANDOM_POISSON_TEST_HPP 33 #define MCKL_RANDOM_POISSON_TEST_HPP 41 template <
typename Derived>
50 double r = s > 0 ? 1 -
cdf(s - 1) : 1;
60 return std::min(p, 1 - p) > 0.5 * alpha;
65 double mean =
static_cast<const Derived *
>(
this)->mean();
66 double lpdf = s *
std::log(mean) - mean -
74 double mean =
static_cast<const Derived *
>(
this)->mean();
76 return 1 -
gammap(static_cast<double>(s + 1), mean);
82 #endif // MCKL_RANDOM_POISSON_TEST_HPP void lgamma(std::size_t n, const float *a, float *y)
bool pass(double alpha, result_type s) const
void log(std::size_t n, const float *a, float *y)
double gammap(double a, double x)
Regularized lower incomplete Gamma function.
double cdf(result_type s) const
void exp(std::size_t n, const float *a, float *y)
double pdf(result_type s) const
Tests based on the Poisson distribution.