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 95 and later, has overloads that are GNU extensions

Class:

Elemental function

Syntax:

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

Arguments:
I The type shall be INTEGER.
SHIFT The 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:
Name Argument Return type Standard
ISHFTC(A) INTEGER A INTEGER Fortran 95 and later
BSHFTC(A) INTEGER(1) A INTEGER(1) GNU extension
IISHFTC(A) INTEGER(2) A INTEGER(2) GNU extension
JISHFTC(A) INTEGER(4) A INTEGER(4) GNU extension
KISHFTC(A) INTEGER(8) A INTEGER(8) GNU extension
See also:

ISHFT

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-9.3.0/gfortran/ISHFTC.html