ISHFT (The GNU Fortran Compiler) (original) (raw)


8.159 ISHFT — Shift bits

Synopsis:

RESULT = ISHFT(I, SHIFT)

Description:

ISHFT returns a value corresponding to I with all of the bits shifted SHIFT places. A value of SHIFT greater than zero corresponds to a left shift, a value of zero corresponds to no shift, and a value less than zero corresponds to a right shift. If the absolute value of SHIFT is greater than BIT_SIZE(I), the value is undefined. Bits shifted out from the left end or right end are lost; zeros are shifted in from the opposite end.

Class:

Elemental function

Arguments:

I The type shall be INTEGER or UNSIGNED.
SHIFT The type shall be INTEGER.

Return value:

The return value is of type of I.

Specific names:

Name Argument Return type Standard
ISHFT(A) INTEGER A INTEGER Fortran 90 and later
BSHFT(A) INTEGER(1) A INTEGER(1) GNU extension
IISHFT(A) INTEGER(2) A INTEGER(2) GNU extension
JISHFT(A) INTEGER(4) A INTEGER(4) GNU extension
KISHFT(A) INTEGER(8) A INTEGER(8) GNU extension

Standard:

Fortran 90 and later, has overloads that are GNU extensions. Extension forUNSIGNED (see Unsigned integers)

See also:

ISHFTC — Shift bits circularly