Developer Reference for Intel® oneAPI Math Kernel Library for C
vsldNewAbstractStream
Creates and initializes an abstract random stream for double precision floating-point arrays.
Syntax
status = vsldNewAbstractStream ( &stream , n , dbuf , a , b , dcallback );
Include Files
mkl.h
Input Parameters
Name |
Type |
Description |
|---|---|---|
n |
const MKL_INT |
Size of the array dbuf |
dbuf |
const double |
Array of n double precision floating-point random numbers with uniform distribution over interval ( a , b ) |
a |
const double |
Left boundary a |
b |
const double |
Right boundary b |
dcallback |
See Note below |
Pointer to the callback function used for update of the array dbuf |
Output Parameters
Name |
Type |
Description |
|---|---|---|
stream |
VSLStreamStatePtr* |
Descriptor of the stream state structure |
Format of the callback function in Fortran 90: INTEGER FUNCTION DUPDATEFUNC[C]( stream, n, dbuf, nmin, nmax, idx ) TYPE(VSL_STREAM_STATE),POINTER :: stream[reference] INTEGER(KIND=4),INTENT(IN) :: n[reference] REAL(KIND=8),INTENT(OUT) :: dbuf[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]
Format of the callback function: int dUpdateFunc( VSLStreamStatePtr stream , int* n , double dbuf [], int* nmin , int* nmax , int* idx );
The callback function returns the number of elements in the array actually updated by the function. Table dcallback Callback Function Parameters gives the description of the callback function parameters.
dcallback Callback Function Parameters
Parameters |
Short Description |
|---|---|
stream |
Abstract random stream descriptor |
n |
Size of dbuf |
dbuf |
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 dbuf to start update 0≤idx<n . |
Description
vsldNewAbstractStream The vsldNewAbstractStream function creates a new abstract stream for double precision floating-point arrays with random numbers of the uniform distribution over interval ( a , b ). The function associates the stream with a double precision array dbuf and your callback function dcallback that is intended for updating of dbuf 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.