Creates and initializes a random stream for generators with multiple initial conditions.
FORTRAN:
status = vslnewstreamex( stream, brng, n, params )
C:
status = vslNewStreamEx( &stream, brng, n, params );
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. |
Name |
Type |
Description |
---|---|---|
stream |
FORTRAN 77: INTEGER*4 stream(2) Fortran 90: TYPE(VSL_STREAM_STATE), INTENT(OUT) C: VSLStreamStatePtr* |
Stream state descriptor |
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.
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.