Visible to Intel only — GUID: GUID-71ED3AFF-0B7D-4FC1-903D-711C067946FE
Visible to Intel only — GUID: GUID-71ED3AFF-0B7D-4FC1-903D-711C067946FE
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.