![]() |
NumCpp
2.12.0
A Templatized Header Only C++ Implementation of the Python NumPy Library
|
#include <RNG.hpp>
Public Member Functions | |
| RNG ()=default | |
| RNG (int seed) | |
| NdArray< bool > | bernoulli (const Shape &inShape, double inP=0.5) |
| bool | bernoulli (double inP=0.5) |
| template<typename dtype > | |
| NdArray< dtype > | beta (const Shape &inShape, dtype inAlpha, dtype inBeta) |
| template<typename dtype > | |
| dtype | beta (dtype inAlpha, dtype inBeta) |
| template<typename dtype > | |
| NdArray< dtype > | binomial (const Shape &inShape, dtype inN, double inP=0.5) |
| template<typename dtype > | |
| dtype | binomial (dtype inN, double inP=0.5) |
| template<typename dtype > | |
| NdArray< dtype > | cauchy (const Shape &inShape, dtype inMean=0, dtype inSigma=1) |
| template<typename dtype > | |
| dtype | cauchy (dtype inMean=0, dtype inSigma=1) |
| template<typename dtype > | |
| NdArray< dtype > | chiSquare (const Shape &inShape, dtype inDof) |
| template<typename dtype > | |
| dtype | chiSquare (dtype inDof) |
| template<typename dtype > | |
| dtype | choice (const NdArray< dtype > &inArray) |
| template<typename dtype > | |
| NdArray< dtype > | choice (const NdArray< dtype > &inArray, uint32 inNum, Replace replace=Replace::TRUE) |
| template<typename dtype > | |
| dtype | discrete (const NdArray< double > &inWeights) |
| template<typename dtype > | |
| NdArray< dtype > | discrete (const Shape &inShape, const NdArray< double > &inWeights) |
| template<typename dtype > | |
| NdArray< dtype > | exponential (const Shape &inShape, dtype inScaleValue=1) |
| template<typename dtype > | |
| dtype | exponential (dtype inScaleValue=1) |
| template<typename dtype > | |
| NdArray< dtype > | extremeValue (const Shape &inShape, dtype inA=1, dtype inB=1) |
| template<typename dtype > | |
| dtype | extremeValue (dtype inA=1, dtype inB=1) |
| template<typename dtype > | |
| NdArray< dtype > | f (const Shape &inShape, dtype inDofN, dtype inDofD) |
| template<typename dtype > | |
| dtype | f (dtype inDofN, dtype inDofD) |
| template<typename dtype > | |
| NdArray< dtype > | gamma (const Shape &inShape, dtype inGammaShape, dtype inScaleValue=1) |
| template<typename dtype > | |
| dtype | gamma (dtype inGammaShape, dtype inScaleValue=1) |
| template<typename dtype > | |
| NdArray< dtype > | geometric (const Shape &inShape, double inP=0.5) |
| template<typename dtype > | |
| dtype | geometric (double inP=0.5) |
| template<typename dtype > | |
| NdArray< dtype > | laplace (const Shape &inShape, dtype inLoc=0, dtype inScale=1) |
| template<typename dtype > | |
| dtype | laplace (dtype inLoc=0, dtype inScale=1) |
| template<typename dtype > | |
| NdArray< dtype > | lognormal (const Shape &inShape, dtype inMean=0, dtype inSigma=1) |
| template<typename dtype > | |
| dtype | lognormal (dtype inMean=0, dtype inSigma=1) |
| template<typename dtype > | |
| NdArray< dtype > | negativeBinomial (const Shape &inShape, dtype inN, double inP=0.5) |
| template<typename dtype > | |
| dtype | negativeBinomial (dtype inN, double inP=0.5) |
| template<typename dtype > | |
| NdArray< dtype > | nonCentralChiSquared (const Shape &inShape, dtype inK=1, dtype inLambda=1) |
| template<typename dtype > | |
| dtype | nonCentralChiSquared (dtype inK=1, dtype inLambda=1) |
| template<typename dtype > | |
| NdArray< dtype > | normal (const Shape &inShape, dtype inMean=0, dtype inSigma=1) |
| template<typename dtype > | |
| dtype | normal (dtype inMean=0, dtype inSigma=1) |
| template<typename dtype > | |
| NdArray< dtype > | permutation (const NdArray< dtype > &inArray) |
| template<typename dtype > | |
| NdArray< dtype > | permutation (dtype inValue) |
| template<typename dtype > | |
| NdArray< dtype > | poisson (const Shape &inShape, double inMean=1) |
| template<typename dtype > | |
| dtype | poisson (double inMean=1) |
| template<typename dtype > | |
| dtype | rand () |
| template<typename dtype > | |
| NdArray< dtype > | rand (const Shape &inShape) |
| template<typename dtype > | |
| NdArray< dtype > | randFloat (const Shape &inShape, dtype inLow, dtype inHigh=0.) |
| template<typename dtype > | |
| dtype | randFloat (dtype inLow, dtype inHigh=0.) |
| template<typename dtype > | |
| NdArray< dtype > | randInt (const Shape &inShape, dtype inLow, dtype inHigh=0) |
| template<typename dtype > | |
| dtype | randInt (dtype inLow, dtype inHigh=0) |
| template<typename dtype > | |
| dtype | randN () |
| template<typename dtype > | |
| NdArray< dtype > | randN (const Shape &inShape) |
| void | seed (int value) noexcept |
| template<typename dtype > | |
| void | shuffle (NdArray< dtype > &inArray) |
| template<typename dtype > | |
| dtype | standardNormal () |
| template<typename dtype > | |
| NdArray< dtype > | standardNormal (const Shape &inShape) |
| template<typename dtype > | |
| NdArray< dtype > | studentT (const Shape &inShape, dtype inDof) |
| template<typename dtype > | |
| dtype | studentT (dtype inDof) |
| template<typename dtype > | |
| NdArray< dtype > | triangle (const Shape &inShape, dtype inA=0, dtype inB=0.5, dtype inC=1) |
| template<typename dtype > | |
| dtype | triangle (dtype inA=0, dtype inB=0.5, dtype inC=1) |
| template<typename dtype > | |
| NdArray< dtype > | uniform (const Shape &inShape, dtype inLow, dtype inHigh) |
| template<typename dtype > | |
| dtype | uniform (dtype inLow, dtype inHigh) |
| template<typename dtype > | |
| NdArray< dtype > | uniformOnSphere (uint32 inNumPoints, uint32 inDims=2) |
| template<typename dtype > | |
| NdArray< dtype > | weibull (const Shape &inShape, dtype inA=1, dtype inB=1) |
| template<typename dtype > | |
| dtype | weibull (dtype inA=1, dtype inB=1) |
Random Number Generater Class with non-global state
|
default |
Defualt Constructor
|
inlineexplicit |
Seed Constructor
| seed | the seed value |
|
inline |
Create an array of the given shape and populate it with random samples from the "bernoulli" distribution.
| inShape | |
| inP | (probability of success [0, 1]). Default 0.5 |
|
inline |
Single random value sampled from the "bernoulli" distribution.
| inP | (probability of success [0, 1]). Default 0.5 |
|
inline |
Create an array of the given shape and populate it with random samples from the "beta" distribution. NOTE: Use of this function requires using the Boost includes.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.beta.html#numpy.random.beta
| inShape | |
| inAlpha | |
| inBeta |
|
inline |
Single random value sampled from the from the "beta" distribution. NOTE: Use of this function requires using the Boost includes.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.beta.html#numpy.random.beta
| inAlpha | |
| inBeta |
|
inline |
Create an array of the given shape and populate it with random samples from the "binomial" distribution.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.binomial.html#numpy.random.binomial
| inShape | |
| inN | (number of trials) |
| inP | (probablity of success [0, 1]) |
|
inline |
Single random value sampled from the from the "binomial" distribution.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.binomial.html#numpy.random.binomial
| inN | (number of trials) |
| inP | (probablity of success [0, 1]) |
|
inline |
Create an array of the given shape and populate it with random samples from a "cauchy" distrubution.
| inShape | |
| inMean | Mean value of the underlying normal distribution. Default is 0. |
| inSigma | Standard deviation of the underlying normal distribution. Should be greater than zero. Default is 1. |
|
inline |
Single random value sampled from the from the "cauchy" distrubution.
| inMean | Mean value of the underlying normal distribution. Default is 0. |
| inSigma | Standard deviation of the underlying normal distribution. Should be greater than zero. Default is 1. |
|
inline |
Create an array of the given shape and populate it with random samples from the "chi square" distribution.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.chisquare.html#numpy.random.chisquare
| inShape | |
| inDof | (independent random variables) |
|
inline |
Single random value sampled from the from the "chi square" distribution.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.chisquare.html#numpy.random.chisquare
| inDof | (independent random variables) |
|
inline |
|
inline |
Chooses inNum random samples from an input array.
| inArray | |
| inNum | |
| replace | Whether the sample is with or without replacement |
|
inline |
Single random value sampled from the from the "discrete" distrubution. It produces integers in the range [0, n) with the probability of producing each value is specified by the parameters of the distribution.
| inWeights |
|
inline |
Create an array of the given shape and populate it with random samples from a "discrete" distrubution. It produces integers in the range [0, n) with the probability of producing each value is specified by the parameters of the distribution.
| inShape | |
| inWeights |
|
inline |
Create an array of the given shape and populate it with random samples from a "exponential" distrubution.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.exponential.html#numpy.random.exponential
| inShape | |
| inScaleValue | (default 1) |
|
inline |
Single random value sampled from the "exponential" distrubution.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.exponential.html#numpy.random.exponential
| inScaleValue | (default 1) |
|
inline |
Create an array of the given shape and populate it with random samples from a "extreme value" distrubution.
| inShape | |
| inA | (default 1) |
| inB | (default 1) |
|
inline |
Single random value sampled from the "extreme value" distrubution.
| inA | (default 1) |
| inB | (default 1) |
|
inline |
Create an array of the given shape and populate it with random samples from a "F" distrubution.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.f.html#numpy.random.f
| inShape | |
| inDofN | Degrees of freedom in numerator. Should be greater than zero. |
| inDofD | Degrees of freedom in denominator. Should be greater than zero. |
|
inline |
Single random value sampled from the "F" distrubution.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.f.html#numpy.random.f
| inDofN | Degrees of freedom in numerator. Should be greater than zero. |
| inDofD | Degrees of freedom in denominator. Should be greater than zero. |
|
inline |
Create an array of the given shape and populate it with random samples from a "gamma" distrubution.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.gamma.html#numpy.random.gamma
| inShape | |
| inGammaShape | |
| inScaleValue | (default 1) |
|
inline |
Single random value sampled from the "gamma" distrubution.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.gamma.html#numpy.random.gamma
| inGammaShape | |
| inScaleValue | (default 1) |
|
inline |
Create an array of the given shape and populate it with random samples from a "geometric" distrubution.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.geometric.html#numpy.random.geometric
| inShape | |
| inP | (probablity of success [0, 1]) |
|
inline |
Single random value sampled from the "geometric" distrubution.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.geometric.html#numpy.random.geometric
| inP | (probablity of success [0, 1]) |
|
inline |
Create an array of the given shape and populate it with random samples from a "laplace" distrubution. NOTE: Use of this function requires using the Boost includes.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.laplace.html#numpy.random.laplace
| inShape | |
| inLoc | (The position, mu, of the distribution peak. Default is 0) |
| inScale | (float optional the exponential decay. Default is 1) |
|
inline |
Single random value sampled from the "laplace" distrubution. NOTE: Use of this function requires using the Boost includes.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.laplace.html#numpy.random.laplace
| inLoc | (The position, mu, of the distribution peak. Default is 0) |
| inScale | (float optional the exponential decay. Default is 1) |
|
inline |
Create an array of the given shape and populate it with random samples from a "lognormal" distrubution.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.lognormal.html#numpy.random.lognormal
| inShape | |
| inMean | Mean value of the underlying normal distribution. Default is 0. |
| inSigma | Standard deviation of the underlying normal distribution. Should be greater than zero. Default is 1. |
|
inline |
Single random value sampled from the "lognormal" distrubution.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.lognormal.html#numpy.random.lognormal
| inMean | Mean value of the underlying normal distribution. Default is 0. |
| inSigma | Standard deviation of the underlying normal distribution. Should be greater than zero. Default is 1. |
|
inline |
Create an array of the given shape and populate it with random samples from the "negative Binomial" distribution.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.negative_binomial.html#numpy.random.negative_binomial
| inShape | |
| inN | number of trials |
| inP | probablity of success [0, 1] |
|
inline |
Single random value sampled from the "negative Binomial" distribution.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.negative_binomial.html#numpy.random.negative_binomial
| inN | number of trials |
| inP | probablity of success [0, 1] |
|
inline |
Create an array of the given shape and populate it with random samples from a "non central chi squared" distrubution. NOTE: Use of this function requires using the Boost includes.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.noncentral_chisquare.html#numpy.random.noncentral_chisquare
| inShape | |
| inK | (default 1) |
| inLambda | (default 1) |
|
inline |
Single random value sampled from the "non central chi squared" distrubution. NOTE: Use of this function requires using the Boost includes.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.noncentral_chisquare.html#numpy.random.noncentral_chisquare
| inK | (default 1) |
| inLambda | (default 1) |
|
inline |
Create an array of the given shape and populate it with random samples from a "normal" distrubution.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.normal.html#numpy.random.normal
| inShape | |
| inMean | Mean value of the underlying normal distribution. Default is 0. |
| inSigma | Standard deviation of the underlying normal distribution. Should be greater than zero. Default is 1. |
|
inline |
Single random value sampled from the "normal" distrubution.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.normal.html#numpy.random.normal
| inMean | Mean value of the underlying normal distribution. Default is 0. |
| inSigma | Standard deviation of the underlying normal distribution. Should be greater than zero. Default is 1. |
|
inline |
Randomly permute a sequence, or return a permuted range. If x is an integer, randomly permute np.arange(x). If x is an array, make a copy and shuffle the elements randomly.
| inArray |
|
inline |
Randomly permute a sequence, or return a permuted range. If x is an integer, randomly permute np.arange(x). If x is an array, make a copy and shuffle the elements randomly.
| inValue |
|
inline |
Create an array of the given shape and populate it with random samples from the "poisson" distribution.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.poisson.html#numpy.random.poisson
| inShape | |
| inMean | (default 1) |
|
inline |
Single random value sampled from the "poisson" distribution.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.poisson.html#numpy.random.poisson
| inMean | (default 1) |
|
inline |
Single random value sampled from the uniform distribution over [0, 1).
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.rand.html#numpy.random.rand
|
inline |
Create an array of the given shape and populate it with random samples from a uniform distribution over [0, 1).
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.rand.html#numpy.random.rand
| inShape |
|
inline |
Return random floats from low (inclusive) to high (exclusive), with the given shape. If no high value is input then the range will go from [0, low).
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.ranf.html#numpy.random.ranf
| inShape | |
| inLow | |
| inHigh | default 0. |
|
inline |
Return a single random float from low (inclusive) to high (exclusive), with the given shape. If no high value is input then the range will go from [0, low).
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.ranf.html#numpy.random.ranf
| inLow | |
| inHigh | default 0. |
|
inline |
Return random integers from low (inclusive) to high (exclusive), with the given shape. If no high value is input then the range will go from [0, low).
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.randint.html#numpy.random.randint
| inShape | |
| inLow | |
| inHigh | default 0. |
|
inline |
Return random integer from low (inclusive) to high (exclusive), with the given shape. If no high value is input then the range will go from [0, low).
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.randint.html#numpy.random.randint
| inLow | |
| inHigh | default 0. |
|
inline |
Returns a single random value sampled from the "standard normal" distribution.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.randn.html#numpy.random.randn
|
inline |
Create an array of the given shape and populate it with random samples from the "standard normal" distribution.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.randn.html#numpy.random.randn
| inShape |
|
inlinenoexcept |
Seed Constructor
| value | the seed value |
|
inline |
Modify a sequence in-place by shuffling its contents.
| inArray |
|
inline |
Single random value sampled from the "standard normal" distrubution with mean = 0 and std = 1
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.standard_normal.html#numpy.random.standard_normal
|
inline |
Create an array of the given shape and populate it with random samples from a "standard normal" distrubution with mean = 0 and std = 1
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.standard_normal.html#numpy.random.standard_normal
| inShape |
|
inline |
Create an array of the given shape and populate it with random samples from the "student-T" distribution.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.standard_t.html#numpy.random.standard_t
| inShape | |
| inDof | independent random variables |
|
inline |
Single random value sampled from the "student-T" distribution.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.standard_t.html#numpy.random.standard_t
| inDof | independent random variables |
|
inline |
Create an array of the given shape and populate it with random samples from the "triangle" distribution. NOTE: Use of this function requires using the Boost includes.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.triangular.html#numpy.random.triangular
| inShape | |
| inA | |
| inB | |
| inC |
|
inline |
Single random value sampled from the "triangle" distribution. NOTE: Use of this function requires using the Boost includes.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.triangular.html#numpy.random.triangular
| inA | |
| inB | |
| inC |
|
inline |
Draw samples from a uniform distribution.
Samples are uniformly distributed over the half - open interval[low, high) (includes low, but excludes high)
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.uniform.html#numpy.random.uniform
| inShape | |
| inLow | |
| inHigh |
|
inline |
Draw sample from a uniform distribution.
Samples are uniformly distributed over the half - open interval[low, high) (includes low, but excludes high)
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.uniform.html#numpy.random.uniform
| inLow | |
| inHigh |
|
inline |
Such a distribution produces random numbers uniformly distributed on the unit sphere of arbitrary dimension dim. NOTE: Use of this function requires using the Boost includes.
| inNumPoints | |
| inDims | dimension of the sphere (default 2) |
|
inline |
Create an array of the given shape and populate it with random samples from the "weibull" distribution.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.weibull.html#numpy.random.weibull
| inShape | |
| inA | (default 1) |
| inB | (default 1) |
|
inline |
Single random value sampled from the "weibull" distribution.
NumPy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.weibull.html#numpy.random.weibull
| inA | (default 1) |
| inB | (default 1) |