Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
A newer version of this document is available. Customers should click here to go to the newest version.
vslsNewAbstractStream
Creates and initializes an abstract random stream for single precision floating-point arrays.
Syntax
status = vslsnewabstractstream( stream, n, sbuf, a, b, scallback )
Include Files
- mkl.fi, mkl_vsl.f90
 
Input Parameters
Name  |  
      Type  |  
      Description  |  
     
|---|---|---|
n  |  
      INTEGER, INTENT(IN)  |  
      Size of the array sbuf  |  
     
sbuf  |  
      REAL(KIND=4), INTENT(IN)  |  
      Array of n single precision floating-point random numbers with uniform distribution over interval (a,b)  |  
     
a  |  
      REAL(KIND=4), INTENT(IN)  |  
      Left boundary a  |  
     
b  |  
      REAL(KIND=4), INTENT(IN)  |  
      Right boundary b  |  
     
scallback  |  
      See Note below  |  
      Address of the callback function used for update of the array sbuf  |  
     
Output Parameters
Name  |  
      Type  |  
      Description  |  
     
|---|---|---|
stream  |  
      TYPE(VSL_STREAM_STATE), INTENT(OUT)  |  
      Descriptor of the stream state structure  |  
     
Format of the callback function in FORTRAN 77:
INTEGER FUNCTION SUPDATEFUNC( stream, n, ibuf, nmin, nmax, idx ) INTEGER*4 stream(2) INTEGER n REAL sbuf(n) INTEGER nmin INTEGER nmax INTEGER idx
Format of the callback function in Fortran 90:
INTEGER FUNCTION SUPDATEFUNC[C]( stream, n, sbuf, nmin, nmax, idx ) TYPE(VSL_STREAM_STATE),POINTER :: stream[reference] INTEGER(KIND=4),INTENT(IN) :: n[reference] REAL(KIND=4), INTENT(OUT) :: sbuf[reference](0:n-1) INTEGER(KIND=4),INTENT(IN) :: nmin[reference] INTEGER(KIND=4),INTENT(IN) :: nmax[reference] INTEGER(KIND=4),INTENT(IN) :: idx[reference]
The callback function returns the number of elements in the array actually updated by the function.Table scallback Callback Function Parameters gives the description of the callback function parameters.
Parameters  |  
        Short Description  |  
       
|---|---|
stream  |  
        Abstract random stream descriptor  |  
       
n  |  
        Size of sbuf  |  
       
sbuf  |  
        Array of random numbers associated with the stream stream  |  
       
nmin  |  
        Minimal quantity of numbers to update  |  
       
nmax  |  
        Maximal quantity of numbers that can be updated  |  
       
idx  |  
        Position in cyclic buffer sbuf to start update 0≤idx<n.  |  
       
Description
The vslsNewAbstractStream function creates a new abstract stream for single precision floating-point arrays with random numbers of the uniform distribution over interval (a,b). The function associates the stream with a single precision array sbuf and your callback function scallback that is intended for updating of sbuf content.
Return Values
- VSL_ERROR_OK, VSL_STATUS_OK
 -  
     
Indicates no error, execution is successful.
 - VSL_ERROR_BADARGS
 -  
     
Parameter n is not positive.
 - VSL_ERROR_MEM_FAILURE
 -  
     
System cannot allocate memory for stream.
 - VSL_ERROR_NULL_PTR
 -  
     
Either buffer or callback function parameter is a NULL pointer.