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


8.247 SHIFTA — Right shift with fill

Synopsis:

RESULT = SHIFTA(I, SHIFT)

Description:

SHIFTA returns a value corresponding to I with all of the bits shifted right by SHIFT places. SHIFT that be nonnegative and less than or equal to BIT_SIZE(I), otherwise the result value is undefined. Bits shifted out from the right end are lost. The fill is arithmetic: the bits shifted in from the left end are equal to the leftmost bit, which in two’s complement representation is the sign bit.

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 the same type and kind as I.

Standard:

Fortran 2008 and later, extension for UNSIGNED (see Unsigned integers)

See also:

SHIFTL — Left shift,
SHIFTR — Right shift