Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 7/13/2023
Public

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

Visible to Intel only — GUID: GUID-74F9867D-36F6-4A37-946D-DAD2F2FC0F92

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).

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