FreeBSD Manual Pages

HPL_xjumpm(3)		     HPL Library Functions		 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.