BIT(3F)

NAME
bit - and, or, xor, not, rshift, lshift bitwise functions

SYNOPSIS
(intrinsic) function and (word1, word2)

(intrinsic) function or (word1, word2)

(intrinsic) function xor (word1, word2)

(intrinsic) function not (word)

(intrinsic) function rshift (word, nbits)

(intrinsic) function lshift (word, nbits)

DESCRIPTION
These bitwise functions are built into the compiler and return the data type of their argument(s). Their arguments must be integer or logical values.

The bitwise combinatorial functions return the bitwise ``and'' (and), ``or'' (or), or ``exclusive or'' (xor) of two operands. Not returns the bitwise complement of its operand.

Lshift, or rshift with a negative nbits, is a logical left shift with no end around carry. Rshift, or lshift with a negative nbits, is an arithmetic right shift with sign extension. No test is made for a reasonable value of nbits.

These functions may be used to create a variety of general routines, as in the following statement function definitions:

integer bitset, bitclr, getbit, word, bitnum

bitset( word, bitnum ) = or(word,lshift(1,bitnum))
bitclr( word, bitnum ) = and(word,not(lshift(1,bitnum)))
getbit( word, bitnum ) = and(rshift(word,bitnum),1)

FILES
These functions are generated in-line by the f77 compiler.