Developer Reference for Intel® oneAPI Math Kernel Library for C
?larnv
Returns a vector of random numbers from a uniform or normal distribution.
Syntax
lapack_int LAPACKE_slarnv(lapack_int idist, lapack_int *iseed, lapack_int n, float *x);
lapack_int LAPACKE_dlarnv(lapack_int idist, lapack_int *iseed, lapack_int n, double *x);
lapack_int LAPACKE_clarnv(lapack_int idist, lapack_int *iseed, lapack_int n,
lapack_complex_float *x);
lapack_int LAPACKE_zlarnv(lapack_int idist, lapack_int *iseed, lapack_int n,
lapack_complex_double *x);
Include Files
mkl.h
Description
The routine ?larnv returns a vector of n random real/complex numbers from a uniform or normal distribution.
This routine calls the auxiliary routine ?laruv (Returns a vector of n random real numbers from a uniform distribution.) ?laruv to generate random real numbers from a uniform (0,1) distribution, in batches of up to 128 using vectorisable code. The Box-Muller method is used to transform numbers from a uniform to a normal distribution.
Input Parameters
A <datatype> placeholder, if present, is used for the C interface data types in the C interface section above. See C Interface Conventions for the C interface principal conventions and type definitions.
idist
Specifies the distribution of the random numbers: for slarnv and dlarnv :
= 1: uniform (0,1) = 2: uniform (-1,1) = 3: normal (0,1). for clarnv and zlarnv : = 1: real and imaginary parts each uniform (0,1) = 2: real and imaginary parts each uniform (-1,1) = 3: real and imaginary parts each normal (0,1) = 4: uniformly distributed on the disc abs(z) < 1 = 5: uniformly distributed on the circle abs(z) = 1
iseed
Array, size (4).
On entry, the seed of the random number generator; the array elements must be between 0 and 4095, and iseed (4) must be odd.
n
The number of random numbers to be generated.
Output Parameters
- x
-
REAL for slarnv DOUBLE PRECISION for dlarnv COMPLEX for clarnv DOUBLE COMPLEX for zlarnv Array, size ( n ). The generated random numbers.
- iseed
-
On exit, the seed is updated.
Return Values
This function returns a value info .
If info = 0 , the execution is successful.