(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
and、or、xor、not、rshift、および lshift 関数は、コンパイラによってインライン展開される一般関数です。これらの引数は、integer または logical 値 (short または long) にする必要があります。戻り値のデータ型は、第 1 引数と同じです。
各ビットには、ビット 0 が最下位ビット、ビット 31 が最上位ビットになるように、番号が割り当てられます。このルーチンは、Solaris Studio でサポートされているすべてのアーキテクチャーで機能します。ただし、一部の数値 (バイト) は個別に動作します。
引数のビット単位の「論理積」を計算します。
引数のビット単位の「論理和」を計算します。
引数のビット単位の「排他的論理和」を計算します。
引数のビット単位の補数を返します。
循環桁上げなしで左側に論理シフトを行います。
符号拡張ありで右側に算術シフトを行います。nbits の値が適切かどうかのテストは行いません。
bic、bis、および setbit は、INTEGER*4 引数を操作する外部サブルーチンです。
word 内の bitnum を設定します。
word 内の bitnum をクリアします。
state がゼロ以外の場合は、word 内の bitnum を 1 に設定し、それ以外の場合はクリアします。
word 内の bitnum をテストする外部関数です。bitnum が 1 の場合は .true. を返し、bitnum が 0 (ゼロ) の場合は .false. を返します。
libfui.a