HPL_lmul(3)

HPL_lmul(3) HPL Library Functions HPL_lmul(3)

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 puts the result into I. The long integers I, J, K are encoded on 64 bits using an array of 2 integers. The 32-lower bits are stored in the first entry of each array, the 32-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 (3), HPL_setran (3), HPL_xjumpm (3), HPL_jumpit (3), HPL_rand (3).

December 2, 2018 HPL 2.3