?larnd
?larnd
Returns a random real number from a uniform or normal distribution.
Syntax
float slarnd
(
lapack_int
*idist
,
lapack_int
*iseed
);
double dlarnd
(
lapack_int
*idist
,
lapack_int
*iseed
);
The data types for complex variations depend on whether or not the application links with Gnu Fortran (gfortran) libraries.
For non-gfortran (
libmkl_intel_*
) interface libraries:
void clarnd
(
lapack_complex_float
*res
,
lapack_int
*idist
,
lapack_int
*iseed
);
void zlarnd
(
lapack_complex_double
*res
,
lapack_int
*idist
,
lapack_int
*iseed
);
For gfortran (
libmkl_gf_*
) interface libraries:
lapack_complex_float clarnd
(
lapack_int
*idist
,
lapack_int
*iseed
);
lapack_complex_double zlarnd
(
lapack_int
*idist
,
lapack_int
*iseed
);
To understand the difference between the non-gfortran and gfortran interfaces and when to use each of them, see Dynamic Libraries in the lib/intel64 Directory in the
.
oneAPI Math Kernel Library Developer Guide
Include Files
- mkl.h
Description
The routine
?larnd
returns a random number from a uniform or normal distribution.Input Parameters
- idist
- Specifies the distribution of the random numbers. Forslarndanddlanrd:= 1: uniform (0,1)= 2: uniform (-1,1)= 3: normal (0,1).Forclarndandzlanrd:= 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, andiseed[3]must be odd.
Output Parameters
- iseed
- On exit, the seed is updated.
Return Values
The function returns a random number
(for complex variations
.libmkl_gf_*
interface layer/libraries return the result as the parameter
res
)