NumCpp
2.12.1
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::YES) |
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) |