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
slarnv dlarnv clarnv zlarnv
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.