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


8.203 MVBITS — Move bits from one integer to another

Synopsis:

CALL MVBITS(FROM, FROMPOS, LEN, TO, TOPOS)

Description:

Moves LEN bits from positions FROMPOS throughFROMPOS+LEN-1 of FROM to positions TOPOS throughTOPOS+LEN-1 of TO. The portion of argument TO not affected by the movement of bits is unchanged. The values ofFROMPOS+LEN-1 and TOPOS+LEN-1 must be less thanBIT_SIZE(FROM).

Class:

Elemental subroutine

Arguments:

FROM The type shall be INTEGER or UNSIGNED.
FROMPOS The type shall be INTEGER.
LEN The type shall be INTEGER.
TO The type shall be of the same type and kind as FROM.
TOPOS The type shall be INTEGER.

Specific names:

Name Argument Return type Standard
MVBITS(A) INTEGER A INTEGER Fortran 90 and later
BMVBITS(A) INTEGER(1) A INTEGER(1) GNU extension
IMVBITS(A) INTEGER(2) A INTEGER(2) GNU extension
JMVBITS(A) INTEGER(4) A INTEGER(4) GNU extension
KMVBITS(A) INTEGER(8) A INTEGER(8) GNU extension

Standard:

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

See also:

IBCLR — Clear bit,
IBSET — Set bit,
IBITS — Bit extraction,
IAND — Bitwise logical and,
IOR — Bitwise logical or,
IEOR — Bitwise logical exclusive or