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,