BIT(3F)BIT(3F)NAME
bit - and, or, xor, not, rshift, lshift, bic, bis, bit, setbit func‐
tions
SYNOPSIS
(generic) function and (word1, word2)
(generic) function or (word1, word2)
(generic) function xor (word1, word2)
(generic) function not (word)
(generic) function rshift (word, nbits)
(generic) function lshift (word, nbits)
subroutine bic (bitnum, word)
integer*4 bitnum, word
subroutine bis (bitnum, word)
integer*4 bitnum, word
subroutine setbit (bitnum, word, state)
integer*4 bitnum, word, state
logical function bit (bitnum, word)
integer*4 bitnum, word
DESCRIPTION
The and, or, xor, not, rshift, and lshift functions are generic func‐
tions expanded inline by the compiler. Their arguments must be integer
or logical values, short or long. The returned value has the data type
of the first argument.
Bits are numbered such that bit 0 is the least significant bit, and bit
31 is the most significant. This routine works for all Solaris Studio
supported architectures, even though some number bytes differently.
and Computes the bitwise `and' of its arguments.
or Computes the bitwise `or' of its arguments.
xor Computes the bitwise `exclusive or' of its arguments.
not Returns the bitwise complement of its argument.
lshift Is a logical left shift with no end around carry.
rshift Is an arithmetic right shift with sign extension. No test is
made for a reasonable value of nbits.
bic, bis, and setbit are external subroutines which operate on INTE‐
GER*4 arguments.
bis Sets bitnum in word.
bic Clears bitnum in word.
setbit Sets bitnum in word to 1 if state is nonzero, and clears it oth‐
erwise.
bit Is an external function which tests bitnum in word. It returns
.true. if bitnum is a 1 (one), and returns .false. if bitnum
is a 0 (zero).
FILES
libfui.a
07 July 1995 BIT(3F)