Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
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 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.