MULT_HIGH (i64 only)

Elemental Intrinsic Function (Specific): Multiplies two 64-bit unsigned integers. This is a specific function that has no generic function associated with it. It cannot be passed as an actual argument.

Syntax

result = MULT_HIGH (i,j)

i

(Input) Must be of type INTEGER(8).

j

(Input) Must be of type INTEGER(8).

Results

The result type is INTEGER(8). The result value is the upper (leftmost) 64 bits of the 128-bit unsigned result.

Example

Consider the following:

INTEGER(8) I,J,K

I=2_8**53

J=2_8**51

K = MULT_HIGH (I,J)

PRINT *,I,J,K

WRITE (6,1000)I,J,K

1000 FORMAT (' ', 3(Z,1X))

END

This example prints the following:

9007199254740992 2251799813685248 1099511627776

20000000000000 8000000000000 10000000000