Name
HPL_xjumpm Compute constants to jump in the random sequence.
Synopsis
#include "hpl.h"
void
HPL_xjumpm(
const int
JUMPM
,
int *
MULT
,
int *
IADD
,
int *
IRANN
,
int *
IRANM
,
int *
IAM
,
int *
ICM
);
Description
HPL_xjumpm
computes the constants A and C to jump JUMPM numbers in
the random sequence: X(n+JUMPM) = A*X(n)+C. The constants encoded in
MULT and IADD specify how to jump from one entry in the sequence to
the next.
Arguments
JUMPM (local input) const int
On entry, JUMPM specifies the number of entries in the
sequence to jump over. When JUMPM is less or equal than zero,
A and C are not computed, IRANM is set to IRANN corresponding
to a jump of size zero.
MULT (local input) int *
On entry, MULT is an array of dimension 2, that contains the
16-lower and 15-higher bits of the constant a to jump from
X(n) to X(n+1) = a*X(n) + c in the random sequence.
IADD (local input) int *
On entry, IADD is an array of dimension 2, that contains the
16-lower and 15-higher bits of the constant c to jump from
X(n) to X(n+1) = a*X(n) + c in the random sequence.
IRANN (local input) int *
On entry, IRANN is an array of dimension 2. that contains the
16-lower and 15-higher bits of the encoding of X(n).
IRANM (local output) int *
On entry, IRANM is an array of dimension 2. On exit, this
array contains respectively the 16-lower and 15-higher bits
of the encoding of X(n+JUMPM).
IAM (local output) int *
On entry, IAM is an array of dimension 2. On exit, when JUMPM
is greater than zero, this array contains the encoded
constant A to jump from X(n) to X(n+JUMPM) in the random
sequence. IAM(0:1) contains respectively the 16-lower and
15-higher bits of this constant A. When JUMPM is less or
equal than zero, this array is not referenced.
ICM (local output) int *
On entry, ICM is an array of dimension 2. On exit, when JUMPM
is greater than zero, this array contains the encoded
constant C to jump from X(n) to X(n+JUMPM) in the random
sequence. ICM(0:1) contains respectively the 16-lower and
15-higher bits of this constant C. When JUMPM is less or
equal than zero, this array is not referenced.
See Also
HPL_ladd,
HPL_lmul,
HPL_setran,
HPL_jumpit,
HPL_rand.