HPL_xjumpm man page

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

Info

October 26, 2012 HPL 2.1 HPL Library Functions