1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
---
:name: dlaruv
:md5sum: 5f925de019c10838c63b3fb8bb460f32
:category: :subroutine
:arguments:
- iseed:
:type: integer
:intent: input/output
:dims:
- "4"
- n:
:type: integer
:intent: input
- x:
:type: doublereal
:intent: output
:dims:
- MAX(1,n)
:substitutions: {}
:fortran_help: " SUBROUTINE DLARUV( ISEED, N, X )\n\n\
* Purpose\n\
* =======\n\
*\n\
* DLARUV returns a vector of n random real numbers from a uniform (0,1)\n\
* distribution (n <= 128).\n\
*\n\
* This is an auxiliary routine called by DLARNV and ZLARNV.\n\
*\n\n\
* Arguments\n\
* =========\n\
*\n\
* ISEED (input/output) INTEGER array, dimension (4)\n\
* On entry, the seed of the random number generator; the array\n\
* elements must be between 0 and 4095, and ISEED(4) must be\n\
* odd.\n\
* On exit, the seed is updated.\n\
*\n\
* N (input) INTEGER\n\
* The number of random numbers to be generated. N <= 128.\n\
*\n\
* X (output) DOUBLE PRECISION array, dimension (N)\n\
* The generated random numbers.\n\
*\n\n\
* Further Details\n\
* ===============\n\
*\n\
* This routine uses a multiplicative congruential method with modulus\n\
* 2**48 and multiplier 33952834046453 (see G.S.Fishman,\n\
* 'Multiplicative congruential random number generators with modulus\n\
* 2**b: an exhaustive analysis for b = 32 and a partial analysis for\n\
* b = 48', Math. Comp. 189, pp 331-344, 1990).\n\
*\n\
* 48-bit integers are stored in 4 integer array elements with 12 bits\n\
* per element. Hence the routine is portable across machines with\n\
* integers of 32 bits or more.\n\
*\n\
* =====================================================================\n\
*\n"
|