statcpp
C++17 Header-Only Statistics Library
Loading...
Searching...
No Matches
Namespaces | Functions
discrete_distributions.hpp File Reference

Discrete probability distribution functions. More...

#include "statcpp/special_functions.hpp"
#include "statcpp/random_engine.hpp"
#include <algorithm>
#include <cmath>
#include <cstdint>
#include <limits>
#include <random>
#include <stdexcept>
Include dependency graph for discrete_distributions.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  statcpp
 

Functions

double statcpp::log_factorial (std::uint64_t n)
 Calculate log factorial.
 
double statcpp::log_binomial_coef (std::uint64_t n, std::uint64_t k)
 Calculate log binomial coefficient.
 
double statcpp::binomial_coef (std::uint64_t n, std::uint64_t k)
 Calculate binomial coefficient.
 
double statcpp::binomial_pmf (std::uint64_t k, std::uint64_t n, double p)
 Binomial distribution probability mass function (PMF)
 
double statcpp::binomial_cdf (std::uint64_t k, std::uint64_t n, double p)
 Binomial distribution cumulative distribution function (CDF)
 
std::uint64_t statcpp::binomial_quantile (double prob, std::uint64_t n, double p)
 Binomial distribution quantile function.
 
template<typename Engine = default_random_engine>
std::uint64_t statcpp::binomial_rand (std::uint64_t n, double p, Engine &engine)
 Binomial distribution random number generation.
 
std::uint64_t statcpp::binomial_rand (std::uint64_t n, double p)
 Binomial distribution random number generation (using default engine)
 
double statcpp::poisson_pmf (std::uint64_t k, double lambda)
 Poisson distribution probability mass function (PMF)
 
double statcpp::poisson_cdf (std::uint64_t k, double lambda)
 Poisson distribution cumulative distribution function (CDF)
 
std::uint64_t statcpp::poisson_quantile (double p, double lambda)
 Poisson distribution quantile function.
 
template<typename Engine = default_random_engine>
std::uint64_t statcpp::poisson_rand (double lambda, Engine &engine)
 Poisson distribution random number generation.
 
std::uint64_t statcpp::poisson_rand (double lambda)
 Poisson distribution random number generation (using default engine)
 
double statcpp::geometric_pmf (std::uint64_t k, double p)
 Geometric distribution probability mass function (PMF)
 
double statcpp::geometric_cdf (std::uint64_t k, double p)
 Geometric distribution cumulative distribution function (CDF)
 
std::uint64_t statcpp::geometric_quantile (double prob, double p)
 Geometric distribution quantile function (inverse CDF)
 
template<typename Engine = default_random_engine>
std::uint64_t statcpp::geometric_rand (double p, Engine &engine)
 Geometric distribution random number generation.
 
std::uint64_t statcpp::geometric_rand (double p)
 Geometric distribution random number generation (using default engine)
 
double statcpp::hypergeom_pmf (std::uint64_t k, std::uint64_t N, std::uint64_t K, std::uint64_t n)
 Hypergeometric distribution probability mass function (PMF)
 
double statcpp::hypergeom_cdf (std::uint64_t k, std::uint64_t N, std::uint64_t K, std::uint64_t n)
 Hypergeometric distribution cumulative distribution function (CDF)
 
std::uint64_t statcpp::hypergeom_quantile (double p, std::uint64_t N, std::uint64_t K, std::uint64_t n)
 Hypergeometric distribution quantile function (inverse CDF)
 
template<typename Engine = default_random_engine>
std::uint64_t statcpp::hypergeom_rand (std::uint64_t N, std::uint64_t K, std::uint64_t n, Engine &engine)
 Hypergeometric distribution random number generation.
 
std::uint64_t statcpp::hypergeom_rand (std::uint64_t N, std::uint64_t K, std::uint64_t n)
 Hypergeometric distribution random number generation (using default engine)
 
double statcpp::nbinom_pmf (std::uint64_t k, double r, double p)
 Negative binomial distribution probability mass function (PMF)
 
double statcpp::nbinom_cdf (std::uint64_t k, double r, double p)
 Negative binomial distribution cumulative distribution function (CDF)
 
std::uint64_t statcpp::nbinom_quantile (double prob, double r, double p)
 Negative binomial distribution quantile function (inverse CDF)
 
template<typename Engine = default_random_engine>
std::uint64_t statcpp::nbinom_rand (double r, double p, Engine &engine)
 Negative binomial distribution random number generation.
 
std::uint64_t statcpp::nbinom_rand (double r, double p)
 Negative binomial distribution random number generation (using default engine)
 
double statcpp::bernoulli_pmf (std::uint64_t k, double p)
 Bernoulli distribution probability mass function (PMF)
 
double statcpp::bernoulli_cdf (std::uint64_t k, double p)
 Bernoulli distribution cumulative distribution function (CDF)
 
std::uint64_t statcpp::bernoulli_quantile (double prob, double p)
 Bernoulli distribution quantile function.
 
template<typename Engine = default_random_engine>
std::uint64_t statcpp::bernoulli_rand (double p, Engine &engine)
 Bernoulli distribution random number generation.
 
std::uint64_t statcpp::bernoulli_rand (double p)
 Bernoulli distribution random number generation (using default engine)
 
double statcpp::discrete_uniform_pmf (std::int64_t k, std::int64_t a, std::int64_t b)
 Discrete uniform distribution probability mass function (PMF)
 
double statcpp::discrete_uniform_cdf (std::int64_t k, std::int64_t a, std::int64_t b)
 Discrete uniform distribution cumulative distribution function (CDF)
 
std::int64_t statcpp::discrete_uniform_quantile (double p, std::int64_t a, std::int64_t b)
 Discrete uniform distribution quantile function.
 
template<typename Engine = default_random_engine>
std::int64_t statcpp::discrete_uniform_rand (std::int64_t a, std::int64_t b, Engine &engine)
 Discrete uniform distribution random number generation.
 
std::int64_t statcpp::discrete_uniform_rand (std::int64_t a, std::int64_t b)
 Discrete uniform distribution random number generation (using default engine)
 

Detailed Description

Discrete probability distribution functions.

This file provides probability mass functions (PMF), cumulative distribution functions (CDF), quantile functions, and random number generation for discrete probability distributions (binomial, Poisson, geometric, etc.).

Definition in file discrete_distributions.hpp.