Table C-4 lists the Compaq Fortran 77 bit manipulation intrinsic functions.
Function | No. of Arguments | Generic Name | Specific Name | Type of Argument | Type of Result |
---|---|---|---|---|---|
Bit Test [1] | 2 | BTEST | - | INTEGER*1[2] | LOGICAL*4 |
BITEST | INTEGER*2 | LOGICAL*2 | |||
BJTEST | INTEGER*4 | LOGICAL*4 | |||
BKTEST[2] | INTEGER*8 | LOGICAL*8 | |||
Bitwise AND [3] | 2 | IAND | - | INTEGER*1[2] | INTEGER*1 |
IIAND | INTEGER*2 | INTEGER*2 | |||
JIAND | INTEGER*4 | INTEGER*4 | |||
KIAND[2] | INTEGER*8 | INTEGER*8 | |||
Bit Clear [4] | 2 | IBCLR | - | INTEGER*1[2] | INTEGER*1 |
IIBCLR | INTEGER*2 | INTEGER*2 | |||
JIBCLR | INTEGER*4 | INTEGER*4 | |||
KIBCLR[2] | INTEGER*8 | INTEGER*8 | |||
Bit Extraction [5] | 3 | IBITS | - | INTEGER*1[2] | INTEGER*1 |
IIBITS | INTEGER*2 | INTEGER*2 | |||
JIBITS | INTEGER*4 | INTEGER*4 | |||
KIBITS[2] | INTEGER*8 | INTEGER*8 | |||
Bit Set [6] | 2 | IBSET | - | INTEGER*1[2] | INTEGER*1 |
IIBSET | INTEGER*2 | INTEGER*2 | |||
JIBSET | INTEGER*4 | INTEGER*4 | |||
KIBSET[2] | INTEGER*8 | INTEGER*8 | |||
Bitwise Exclusive OR [7] | 2 | IEOR | - | INTEGER*1[2] | INTEGER*1 |
IIEOR | INTEGER*2 | INTEGER*2 | |||
JIEOR | INTEGER*4 | INTEGER*4 | |||
KIEOR[2] | INTEGER*8 | INTEGER*8 | |||
Bitwise Inclusive OR [8] | 2 | IOR | - | INTEGER*1[2] | INTEGER*1 |
IIOR | INTEGER*2 | INTEGER*2 | |||
JIOR | INTEGER*4 | INTEGER*4 | |||
KIOR[2] | INTEGER*8 | INTEGER*8 | |||
Bitwise Logical Shift [9] | 2 | ISHFT | - | INTEGER*1[2] | INTEGER*1 |
IISHFT | INTEGER*2 | INTEGER*2 | |||
JISHFT | INTEGER*4 | INTEGER*4 | |||
KISHFT[2] | INTEGER*8 | INTEGER*8 | |||
Bitwise Circular Shift [10] | 3 | ISHFTC | IISHFTC | INTEGER*2 | INTEGER*2 |
JISHFTC | INTEGER*4 | INTEGER*4 | |||
Bitwise Complement [11] | 1 | NOT | - | INTEGER*1[2] | INTEGER*1 |
INOT | INTEGER*2 | INTEGER*2 | |||
JNOT | INTEGER*4 | INTEGER*4 | |||
KNOT[2] | INTEGER*8 | INTEGER*8 | |||
[1] BTEST returns .TRUE. if bit a(2) of argument a(1) equals 1. [2] Alpha only [3] IAND performs a logical AND on corresponding bits. [4] IBCLR returns the value of a(1) with bit a(2) of a(1) set to 0. [5] IBITS extracts bits a(2) through a(2)+a(3)-1 from a(1). [6] IBSET returns the value of a(1) with bit a(2) of a(1) set to 1. [7] IEOR performs an exclusive OR on corresponding bits. [8] IOR performs an inclusive OR on corresponding bits. [9] ISHFT logically shifts a(1) left (if a(2) is positive) or right (if a(2) is negative) by ABS(a(2)) bits. If ABS(a(2)) is 0. [10] ISHFTC circularly shifts the rightmost a(3) bits of a(1) by a(2) places; bits in a(1) beyond the value specified by a(3) are unaffected. [11] NOT complements each bit. |