XLPack 7.0
XLPack Numerical Library (Excel VBA) Reference Manual
Loading...
Searching...
No Matches

◆ RanArray()

Sub RanArray ( AA() As  Long,
N As  Long 
)

Unsigned 30 bit integer random numbers (Lagged Fibonacci method)

Purpose
Generates unsigned 30 bit integer random numbers by Lagged Fibonacci method.
Parameters
[out]AA()Array AA(LAA - 1) (LAA >= N)
Array of generated 30 bit integer random numbers.
[in]NNumber of random numbers to be generated. (N >= 100)
If N < 100, random numbers are not generated,
Note
N must be at least 100. It is recommended to generate, say, 1009 numbers but use only the first 100 of these. Usually use RanArrNext so that these will be automatically done.
Reference
D. E. Knuth, “The Art of Computer Programming Third Edition, Vol.2 / Seminumerical Algorithms”, Addison Wesley Longman (1998)
Example Program
Generates ten unsigned 30 bit integer random numbers. 1009 numbers are generated and the first ten of these are used.
Sub Ex_RanArray()
Const N = 1009, Seed = 314159
Dim AA(N - 1) As Long, I As Long
Call RanStart(Seed)
Call RanArray(AA(), N)
For I = 0 To 9
Debug.Print AA(I)
Next
End Sub
Sub RanArray(AA() As Long, N As Long)
Unsigned 30 bit integer random numbers (Lagged Fibonacci method)
Sub RanStart(Seed As Long)
Initialization for integer random number generator (Lagged Fibonacci method)
Example Results
512263819
254049029
667424266
250983279
84386153
208871668
530886531
1064357929
698897936
498160000