vslNewStreamEx

Creates and initializes a random stream for generators with multiple initial conditions.

Syntax

FORTRAN:

status = vslnewstreamex( stream, brng, n, params )

C:

status = vslNewStreamEx( &stream, brng, n, params );

Include Files

Input Parameters

Name

Type

Description

brng

FORTRAN 77: INTEGER

Fortran 90: INTEGER, INTENT(IN)

C: const int

Index of the basic generator to initialize the stream. See Table "Values of brng parameter" for specific value.

n

FORTRAN 77: INTEGER

Fortran 90: INTEGER, INTENT(IN)

C: const int

Number of initial conditions contained in params

params

FORTRAN 77: INTEGER

Fortran 90: INTEGER(KIND=4), INTENT(IN)

C: const unsigned int

Array of initial conditions necessary for the basic generator brng to initialize the stream. In the case of a quasi-random number generator only the first element in params parameter is used to set the dimension. If the dimension is greater than the dimension that brng can support or is less than 1, then the dimension is assumed to be equal to 1.

Output Parameters

Name

Type

Description

stream

FORTRAN 77: INTEGER*4 stream(2)

Fortran 90: TYPE(VSL_STREAM_STATE), INTENT(OUT)

C: VSLStreamStatePtr*

Stream state descriptor

Description

The vslNewStreamEx function provides an advanced tool to set the initial conditions for a basic generator if its input arguments imply several initialization parameters. Initial values are used to select a particular sequence generated by the basic generator brng. Whenever possible, use vslNewStream, which is analogous to vslNewStreamEx except that it takes only one 32-bit initial condition. In particular, vslNewStreamEx may be used to initialize the state table in Generalized Feedback Shift Register Generators (GFSRs). A more detailed description of this issue can be found in VSL Notes.

This function is also used to pass user-defined initialization parameters of quasi-random number generators into the library. See VSL Notes for the format for their passing and registration in VSL.

Note iconNote

This function is not applicable for abstract basic random number generators. Please use vsliNewAbstractStream, vslsNewAbstractStream or vsldNewAbstractStream to utilize integer, single-precision or double-precision external random data respectively.

Return Values

VSL_ERROR_OK, VSL_STATUS_OK

Indicates no error, execution is successful.

VSL_RNG_ERROR_INVALID_BRNG_INDEX

BRNG index is invalid.

VSL_ERROR_MEM_FAILURE

System cannot allocate memory for stream.


Submit feedback on this help topic