Returns a random real number from a uniform or normal distribution.


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 Intel MKL Developer Guide.

Include Files

  • mkl.h


The routine ?larnd returns a random number from a uniform or normal distribution.

Input Parameters


Specifies the distribution of the random numbers. For slarnd and dlanrd:

= 1: uniform (0,1)

= 2: uniform (-1,1)

= 3: normal (0,1).

For clarnd and zlanrd:

= 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


Array, size 4.

On entry, the seed of the random number generator. The array elements must be between 0 and 4095, and iseed[3] must be odd.

Output Parameters


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).

Para obter informações mais completas sobre otimizações do compilador, consulte nosso aviso de otimização.
Selecione a cor do botão adesivo: 
Orange (only for download buttons)