Intel® C++ Compiler Classic Developer Guide and Reference

ID 767249
Date 7/13/2023
Public
Document Table of 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.