MULT_HIGH_SIGNED (i64 only)

Elemental Intrinsic Function (Specific): Multiplies two 64-bit signed 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_SIGNED (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 signed result.

Example

Consider the following:

          INTEGER(8) I,J,K
          I=2_8**53
          J=2_8**51
          K = MULT_HIGH_SIGNED (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        FFF8000000000000        FFFFFF0000000000