Intel® oneAPI Math Kernel Library Developer Reference - Fortran
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 |
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. |
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.