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