9.160 ISHFTC — Shift bits circularly

Description:

ISHFTC returns a value corresponding to I with the rightmost SIZE bits shifted circularly SHIFT places; that is, bits shifted out one end are shifted into the opposite end. 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. The absolute value of SHIFT must be less than SIZE. If the SIZE argument is omitted, it is taken to be equivalent to BIT_SIZE(I).

Standard:

Fortran 90 and later, has overloads that are GNU extensions

Class:

Elemental function

Syntax:

RESULT = ISHFTC(I, SHIFT [, SIZE])

Arguments:
IThe type shall be INTEGER.
SHIFTThe type shall be INTEGER.
SIZE(Optional) The type shall be INTEGER; the value must be greater than zero and less than or equal to BIT_SIZE(I).
Return value:

The return value is of type INTEGER and of the same kind as I.

Specific names:
NameArgumentReturn typeStandard
ISHFTC(A)INTEGER AINTEGERFortran 90 and later
BSHFTC(A)INTEGER(1) AINTEGER(1)GNU extension
IISHFTC(A)INTEGER(2) AINTEGER(2)GNU extension
JISHFTC(A)INTEGER(4) AINTEGER(4)GNU extension
KISHFTC(A)INTEGER(8) AINTEGER(8)GNU extension
See also:

ISHFT — Shift bits