nk 1.0.0
C++ Numerical Computing Runtime
Loading...
Searching...
No Matches
hypergeom.hpp
Go to the documentation of this file.
1
3// toolboxes/stats/include/nk/stats/distributions/hypergeom.hpp
4//
5// Hypergeometric distribution.
6
7#pragma once
8
9#include <memory_resource>
10#include <nk/value/value.hpp>
11
12#include <tuple>
13
14namespace nk {
15
18 namespace ops { class RngContext; } }
19
20namespace nk::stats {
21
33Value hygepdf(const Value &k, double M, double K, double N,
34 std::pmr::memory_resource *mr = nullptr);
35
45Value hygecdf(const Value &k, double M, double K, double N,
46 std::pmr::memory_resource *mr = nullptr);
47
57Value hygeinv(const Value &q, double M, double K, double N,
58 std::pmr::memory_resource *mr = nullptr);
59
70Value hygernd(::nk::ops::RngContext &rng, double M, double K, double N,
71 size_t rows = 1, size_t cols = 1,
72 std::pmr::memory_resource *mr = nullptr);
73
85std::tuple<double, double> hygestat(double M, double K, double N);
86
87
89} // namespace nk::stats
Core MATLAB-compatible multidimensional array and scalar value type.
Definition value.hpp:61
Value hygeinv(const Value &q, double M, double K, double N, std::pmr::memory_resource *mr=nullptr)
Hypergeometric inverse cdf (k = hygeinv(q, M, K, N)).
Value hygepdf(const Value &k, double M, double K, double N, std::pmr::memory_resource *mr=nullptr)
Hypergeometric pmf (y = hygepdf(k, M, K, N)).
Value hygernd(::nk::ops::RngContext &rng, double M, double K, double N, size_t rows=1, size_t cols=1, std::pmr::memory_resource *mr=nullptr)
Hypergeometric random samples (r = hygernd(M, K, N, rows, cols)).
std::tuple< double, double > hygestat(double M, double K, double N)
Hypergeometric mean and variance ([m, v] = hygestat(M, K, N)).
Value hygecdf(const Value &k, double M, double K, double N, std::pmr::memory_resource *mr=nullptr)
Hypergeometric cdf (F = hygecdf(k, M, K, N)).