Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
?larnv
Returns a vector of random numbers from a uniform or normal distribution.
Syntax
call slarnv(idist, iseed, n, x)
call dlarnv(idist, iseed, n, x)
call clarnv(idist, iseed, n, x)
call zlarnv(idist, iseed, n, x)
Include Files
mkl.fi
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
The data types are given for the Fortran interface.
idist
INTEGER . 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
INTEGER . 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
INTEGER . 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
No return value.