ISHFTC (The GNU Fortran Compiler) (original) (raw)
8.160 ISHFTC — Shift bits circularly ¶
Synopsis:
RESULT = ISHFTC(I, SHIFT [, SIZE])
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 thanSIZE. If the SIZE argument is omitted, it is taken to be equivalent to BIT_SIZE(I).
Class:
Elemental function
Arguments:
| I | The type shall be INTEGER or UNSIGNED. |
|---|---|
| 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 toBIT_SIZE(I). |
Return value:
The return value is of the same type as I.
Specific names:
| Name | Argument | Return type | Standard |
|---|---|---|---|
| ISHFTC(A) | INTEGER A | INTEGER | Fortran 90 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 |
Standard:
Fortran 90 and later, has overloads that are GNU extensions. Extension forUNSIGNED (see Unsigned integers)
See also: