HPL_xjumpm(3)

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 (3), HPL_lmul (3), HPL_setran (3), HPL_jumpit (3), HPL_rand (3).