# Name

HPL_setran Manage the random number generator.

# Synopsis

`#include "hpl.h"`
`void` `HPL_setran(` `const int` `OPTION`, `int *` `IRAN` `);`

# Description

HPL_setran initializes the random generator with the encoding of the first number X(0) in the sequence, and the constants a and c used to compute the next element in the sequence: X(n+1) = a*X(n) + c. X(0), a and c are stored in the static variables irand, ias and ics. When OPTION is 0 (resp. 1 and 2), irand (resp. ia and ic) is set to the values of the input array IRAN. When OPTION is 3, IRAN is set to the current value of irand, and irand is then incremented.

# Arguments

    OPTION  (local input)                 const int
            On entry, OPTION  is an integer that specifies the operations
            to be performed on the random generator as specified above.

    IRAN    (local input/output)          int *
            On entry,  IRAN is an array of dimension 2, that contains the
            16-lower and 15-higher bits of a random number.

# See Also

HPL_ladd, HPL_lmul, HPL_xjumpm, HPL_jumpit, HPL_rand.