Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 3/22/2024
Public
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 in Fortran 90 as follows:

TYPE VSL_BRNG_PROPERTIES
    INTEGER streamstatesize
    INTEGER nseeds
    INTEGER includeszero
    INTEGER wordsize
    INTEGER nbits
    INTEGER reserved(8) 
END TYPE VSL_BRNG_PROPERTIES

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

Field Descriptions

Field

Short Description

Fortran: streamstatesize

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

Fortran: nseeds

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

Fortran: includeszero

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

Fortran: 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.

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

Fortran: reserved(8)

Reserved for internal use.

NOTE:

Using Advanced Service routines for defining generators is not supported for Fortran, but you can use the Fortran interface to get information about a previously-registered generator using vslGetBrngProperties.