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