nk 1.0.0
C++ Numerical Computing Runtime
Loading...
Searching...
No Matches
binomial.hpp
Go to the documentation of this file.
1
3// toolboxes/stats/include/nk/stats/distributions/binomial.hpp
4//
5// Binomial 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
35Value binopdf(const Value &k, double n, double p,
36 std::pmr::memory_resource *mr = nullptr);
37
50Value binocdf(const Value &k, double n, double p,
51 std::pmr::memory_resource *mr = nullptr);
52
63Value binoinv(const Value &p_in, double n, double p,
64 std::pmr::memory_resource *mr = nullptr);
65
75Value binornd(::nk::ops::RngContext &rng, double n, double p, size_t rows = 1, size_t cols = 1,
76 std::pmr::memory_resource *mr = nullptr);
77
86std::tuple<double, double> binostat(double n, double p);
87
88
90} // namespace nk::stats
Core MATLAB-compatible multidimensional array and scalar value type.
Definition value.hpp:61
Value binopdf(const Value &k, double n, double p, std::pmr::memory_resource *mr=nullptr)
Binomial pmf (y = binopdf(k, n, p)).
Value binornd(::nk::ops::RngContext &rng, double n, double p, size_t rows=1, size_t cols=1, std::pmr::memory_resource *mr=nullptr)
Binomial random samples (r = binornd(n, p, rows, cols)).
Value binocdf(const Value &k, double n, double p, std::pmr::memory_resource *mr=nullptr)
Binomial cumulative distribution (F = binocdf(k, n, p)).
Value binoinv(const Value &p_in, double n, double p, std::pmr::memory_resource *mr=nullptr)
Binomial inverse cdf (k = binoinv(p_in, n, p)).
std::tuple< double, double > binostat(double n, double p)
Binomial mean and variance ([m, v] = binostat(n, p)).