Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

Advanced Service Routine Data Types

The Advanced Service routines refer to a structure defining the properties of the basic generator.

This structure is described as follows:

typedef struct _VSLBRngProperties {
       int StreamStateSize;
       int NSeeds;
       int IncludesZero;
       int WordSize;
       int NBits;
       InitStreamPtr InitStream;
       sBRngPtr sBRng;
       dBRngPtr dBRng;
       iBRngPtr iBRng; 
} VSLBRngProperties;

The following table provides brief descriptions of the fields engaged in the above structure:

Field Descriptions

Field

Short Description

StreamStateSize

The size, in bytes, of the stream state structure for a given basic generator.

NSeeds

The number of 32-bit initial conditions (seeds) necessary to initialize the stream state structure for a given basic generator.

IncludesZero

Flag value indicating whether the generator can produce a random 0.

WordSize

Machine word size, in bytes, used in integer-value computations. Possible values: 4, 8, and 16 for 32, 64, and 128-bit generators, respectively.

NBits

The number of bits required to represent a random value in integer arithmetic. Note that, for instance, 48-bit random values are stored to 64-bit (8 byte) memory locations. In this case, wordsize/WordSize is equal to 8 (number of bytes used to store the random value), while nbits/NBits contains the actual number of bits occupied by the value (in this example, 48).

InitStream

Contains the pointer to the initialization routine of a given basic generator.

sBRng

Contains the pointer to the basic generator of single precision real numbers uniformly distributed over the interval (a,b) (float).

dBRng

Contains the pointer to the basic generator of double precision real numbers uniformly distributed over the interval (a,b) (double).

iBRng

Contains the pointer to the basic generator of integer numbers with uniform bit distribution (unsigned int).

1 A specific generator that permits operations over single bits and bit groups of random numbers.