nk 1.0.0
C++ Numerical Computing Runtime
Loading...
Searching...
No Matches
normal.hpp
Go to the documentation of this file.
1
3// toolboxes/stats/include/nk/stats/distributions/normal.hpp
4//
5// Normal (Gaussian) distribution functions: pdf / cdf / icdf / rnd /
6// stat.
7
8#pragma once
9
10#include <memory_resource>
11#include <nk/value/value.hpp>
12
13#include <tuple>
14
15namespace nk {
16
19 namespace ops { class RngContext; } }
20
21namespace nk::stats {
22
35Value normpdf(const Value &x, double mu = 0.0, double sigma = 1.0,
36 std::pmr::memory_resource *mr = nullptr);
37
49Value normcdf(const Value &x, double mu = 0.0, double sigma = 1.0,
50 std::pmr::memory_resource *mr = nullptr);
51
63Value norminv(const Value &p, double mu = 0.0, double sigma = 1.0,
64 std::pmr::memory_resource *mr = nullptr);
65
75Value normrnd(::nk::ops::RngContext &rng, double mu, double sigma, size_t rows = 1, size_t cols = 1,
76 std::pmr::memory_resource *mr = nullptr);
77
86std::tuple<double, double> normstat(double mu, double sigma);
87
88
90} // namespace nk::stats
Core MATLAB-compatible multidimensional array and scalar value type.
Definition value.hpp:61
std::tuple< double, double > normstat(double mu, double sigma)
Normal mean and variance ([m, v] = normstat(mu, sigma)).
Value normcdf(const Value &x, double mu=0.0, double sigma=1.0, std::pmr::memory_resource *mr=nullptr)
Normal cdf (p = normcdf(x, mu, sigma)).
Value normpdf(const Value &x, double mu=0.0, double sigma=1.0, std::pmr::memory_resource *mr=nullptr)
Normal pdf (y = normpdf(x, mu, sigma)).
Value norminv(const Value &p, double mu=0.0, double sigma=1.0, std::pmr::memory_resource *mr=nullptr)
Normal inverse cdf / quantile (x = norminv(p, mu, sigma)).
Value normrnd(::nk::ops::RngContext &rng, double mu, double sigma, size_t rows=1, size_t cols=1, std::pmr::memory_resource *mr=nullptr)
Normal random samples (r = normrnd(mu, sigma, rows, cols)).