Name
HPL_lmul multiplies 2 long positive integers.
Synopsis
#include <hpl.h>
void
HPL_lmul(
int *
K
,
int *
J
,
int *
I
);
Description
HPL_lmul
multiplies without carry two long positive integers K and J
and put the result into I. The long integers I, J, K are encoded on
31 bits using an array of 2 integers. The 16-lower bits are stored in
the first entry of each array, the 15-higher bits in the second entry
of each array. For efficiency purposes, the intrisic modulo function
is inlined.
Arguments
K (local input) int *
On entry, K is an integer array of dimension 2 containing the
encoded long integer K.
J (local input) int *
On entry, J is an integer array of dimension 2 containing the
encoded long integer J.
I (local output) int *
On entry, I is an integer array of dimension 2. On exit, this
array contains the encoded long integer result.
See Also
HPL_ladd,
HPL_setran,
HPL_xjumpm,
HPL_jumpit,
HPL_rand