Generation Functions#
nvplRandGenerate#
nvplRandGenerate()
is used to generate pseudo- or quasirandom bits of output for XORWOW, MRG32k3a, MT19937, Philox_4x32_10, PCG, SOBOL32, and Scrambled SOBOL32 generators. Each output element is a 32-bit unsigned integer where all bits are random. nvplRandGenerate()
returns NVPL_RAND_STATUS_GENERATOR_TYPE_ERROR
for SOBOL64 or Scrambled SOBOL64 generators.
-
nvplRandStatus_t nvplRandGenerate(nvplRandGenerator_t gen, unsigned int *outputPtr, const size_t num)
nvplRandGenerateLongLong#
nvplRandGenerateLongLong()
is used to generate pseudo- or quasirandom bits of output for PCG, SOBOL64, and Scrambled SOBOL64 generators. Each output element is a 64-bit unsigned integer where all bits are random. nvplRandGenerateLongLong()
returns NVPL_RAND_STATUS_GENERATOR_TYPE_ERROR
for SOBOL32 or Scrambled SOBOL32 generators, as well all the pseudorandom generators except PCG.
-
nvplRandStatus_t nvplRandGenerateLongLong(nvplRandGenerator_t gen, unsigned long long *outputPtr, const size_t num)
nvplRandGenerateUniform#
nvplRandGenerateUniform()
is used to generate uniformly distributed FP32 values in the range of (0.0, 1.0], where 0.0 is excluded and 1.0 is included.
-
nvplRandStatus_t nvplRandGenerateUniform(nvplRandGenerator_t gen, float *outputPtr, const size_t num)
nvplRandGenerateUniformDouble#
nvplRandGenerateUniformDouble()
is used to generate uniformly distributed FP64 values in the range of (0.0, 1.0], where 0.0 is excluded and 1.0 is included.
-
nvplRandStatus_t nvplRandGenerateUniformDouble(nvplRandGenerator_t gen, double *outputPtr, const size_t num)
nvplRandGenerateUniformRange#
nvplRandGenerateUniformRange()
is used to generate uniformly distributed FP32 values in the range of (start, end], where start is excluded and end is included.
-
nvplRandStatus_t nvplRandGenerateUniformRange(nvplRandGenerator_t gen, float *outputPtr, const size_t num, const float start, const float end)
nvplRandGenerateUniformRangeDouble#
nvplRandGenerateUniformRangeDouble()
is used to generate uniformly distributed FP64 values in the range of (start, end], where start is excluded and end is included.
-
nvplRandStatus_t nvplRandGenerateUniformDouble(nvplRandGenerator_t gen, double *outputPtr, const size_t num)
nvplRandGenerateNormal#
nvplRandGenerateNormal()
is used to generate normally distributed FP32 values with the given mean and standard deviation.
-
nvplRandStatus_t nvplRandGenerateNormal(nvplRandGenerator_t gen, float *outputPtr, const size_t num, const float mean, const float stddev)
nvplRandGenerateNormalDouble#
nvplRandGenerateNormal()
is used to generate normally distributed FP64 values with the given mean and standard deviation.
-
nvplRandStatus_t nvplRandGenerateNormalDouble(nvplRandGenerator_t gen, double *outputPtr, const size_t num, const double mean, const double stddev)
nvplRandGenerateDistribution#
nvplRandGenerateDistribution()
is used to generate FP32 values based on the continuous distribution type and parameters specified by config. NVPL RAND library supports the following continuous distributions:
Uniform
Normal
Lognormal
Exponential
Gamma
Beta
Dirichlet
-
nvplRandStatus_t nvplRandGenerateDistribution(nvplRandGenerator_t gen, float *outputPtr, const nvplRandDistributionConfig_t config, const size_t num)
nvplRandGenerateDistributionDouble#
nvplRandGenerateDistributionDouble()
is used to generate FP64 values based on the continuous distribution type and parameters specified by config.
-
nvplRandStatus_t nvplRandGenerateDistributionDouble(nvplRandGenerator_t gen, double *outputPtr, const nvplRandDistributionConfig_t config, const size_t num)
nvplRandGenerateDistributionDiscrete#
nvplRandGenerateDistributionDiscrete()
is used to generate unsigned 32-bit interger values based on the discrete distribution type and parameters specified by config. NVPL RAND library supports the following discrete distributions:
Poisson
Bernoulli
Categorical
Binomial
Multinomial
-
nvplRandStatus_t nvplRandGenerateDistributionDiscrete(nvplRandGenerator_t gen, unsigned int *outputPtr, const nvplRandDistributionConfig_t distConfig, const size_t num)