Developer Reference for Intel® oneAPI Math Kernel Library for C
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.h
Input Parameters
Name |
Type |
Description |
|---|---|---|
n |
const MKL_INT |
Size of the array sbuf |
sbuf |
const float |
Array of n single precision floating-point random numbers with uniform distribution over interval ( a , b ) |
a |
const float |
Left boundary a |
b |
const float |
Right boundary b |
scallback |
See Note below |
Pointer to the callback function used for update of the array sbuf |
Output Parameters
Name |
Type |
Description |
|---|---|---|
stream |
VSLStreamStatePtr* |
Descriptor of the stream state structure |
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]
Format of the callback function in C: int sUpdateFunc( VSLStreamStatePtr stream , int* n , float sbuf [], int* nmin , int* nmax , int* idx );
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.
scallback 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
vslsNewAbstractStream 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.