Developer Guide and Reference

Contents

svrng_generate[1|2|4|8|16|32]_[int|float|double]

Generates distributed random values for the specified engine and distribution

Syntax

int32_t svrng_generate_int( svrng_engine_t
engine
, svrng_distribution_t
distr
)
svrng_int1_t svrng_generate1_int( svrng_engine_t
engine
, svrng_distribution_t
distr
)
svrng_int2_t svrng_generate2_int( svrng_engine_t
engine
, svrng_distribution_t
distr
)
svrng_int4_t svrng_generate4_int( svrng_engine_t
engine
, svrng_distribution_t
distr
)
svrng_int8_t svrng_generate8_int( svrng_engine_t
engine
, svrng_distribution_t
distr
)
svrng_int16_t svrng_generate16_int( svrng_engine_t
engine
, svrng_distribution_t
distr
)
svrng_int32_t svrng_generate32_int( svrng_engine_t
engine
, svrng_distribution_t
distr
)
float svrng_generate_float( svrng_engine_t
engine
, svrng_distribution_t
distr
)
svrng_float1_t svrng_generate1_float( svrng_engine_t
engine
, svrng_distribution_t
distr
)
svrng_float2_t svrng_generate2_float( svrng_engine_t
engine
, svrng_distribution_t
distr
)
svrng_float4_t svrng_generate4_float( svrng_engine_t
engine
, svrng_distribution_t
distr
)
svrng_float8_t svrng_generate8_float( svrng_engine_t
engine
, svrng_distribution_t
distr
)
svrng_float16_t svrng_generate16_float( svrng_engine_t
engine
, svrng_distribution_t
distr
)
svrng_float32_t svrng_generate32_float( svrng_engine_t
engine
, svrng_distribution_t
distr
)
double svrng_generate_double( svrng_engine_t
engine
, svrng_distribution_t
distr
)
svrng_double1_t svrng_generate1_double( svrng_engine_t
engine
, svrng_distribution_t
distr
)
svrng_double2_t svrng_generate2_double( svrng_engine_t
engine
, svrng_distribution_t
distr
)
svrng_double4_t svrng_generate4_double( svrng_engine_t
engine
, svrng_distribution_t
distr
)
svrng_double8_t svrng_generate8_double( svrng_engine_t
engine
, svrng_distribution_t
distr
)
svrng_double16_t svrng_generate16_double( svrng_engine_t
engine
, svrng_distribution_t
distr
)
svrng_double32_t svrng_generate32_double( svrng_engine_t
engine
, svrng_distribution_t
distr
)
Input Parameters
engine
Pointer to the engine.
distr
Pointer to the distribution.
Description
The
svrng_generate[n]_[int|float|double]
functions generate distributed random values based on the input engine and distribution specified. The output types that are supported—int, float, or double—depend on the distribution used. The number
n
if specified expresses the number of packed elements desired in the returned SIMD registers.
Status flags set
Name
Description
SVRNG_STATUS_ERROR_UNSUPPORTED
Unmatched engine and result type. See the Description section for supported combinations.
SVRNG_STATUS_ERROR_BAD_ENGINE
Bad engine (NULL pointer)
SVRNG_STATUS_ERROR_BAD_DISTR
Bad distribution (NULL pointer)
Return Values
The
svrng_generate_[int|long|double]
functions return a single random value of the specified type. The
svrng_generate[n]_[int|long|double]
functions, for n=1, 2, 4, 8, 16, or 32, return as many signed random values packed in a SIMD register.