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