ビットパターンを与える/返す引数は1語長であれば,整数型である必要はない.
なおこのパッケージは(BITPIC, BITPCIを除いて), NCARのグラフィックパッケージに付随していた 基本関数・サブルーチン群にもとづいている.
BITPIC(IP,CP) ビットパターンを文字列化する. BITPCI(CP,IP) 文字列をビットパターン化する. GBYTE(NP,IO,IB,NB) ビットパターンを切り出す. GBYTES(NP,NO,IB,NB,NS,IT) ビットパターンを切り出す. SBYTE(NP,IO,IB,NB) ビットパターンを埋め込む. SBYTES(NP,NO,IB,NB,NS,IT) ビットパターンを埋め込む.
ISHIFT(IW,N) ビットパターンをシフトする. IAND(I1,I2) ビット積を求める. IOR(I1,I2) ビット和を求める.
IAND, IORは実時間FORTRANに規定されており, 処理系が用意している場合がある.
ビットパターンを'0', '1'の文字列として返す.
CALL BITPIC(IP,CP)
IP (I) ビットパターンを調べる1語長の引数. CP (C*(*)) ビットパターンを返す文字型の引数. ビットがONなら'1', OFFなら'0'を返す.
'0', '1'の文字列をビットパターンとして返す.
CALL BITPCI(CP,IP)
CP (C*(*)) ビットパターンを与える文字型の引数. ビットがONなら'1', OFFなら'0'を指定する. IP (I) ビットパターンを返す1語長の引数.
連続した記憶領域からビットパターンを切り出す.
CALL GBYTE(NP,IO,IB,NB)
CALL GBYTES(NP,NO,IB,NB,NS,IT)
NP (I) 連続した記憶領域(たとえば配列)の先頭となる語. IO (I) 切り出したビットパターンを返す変数. NO (I) 切り出したビットパターンを返す配列. IB (I) 先頭の語においてスキップするビット数. NB (I) 切り出すビット数. NS (I) 切り出すビットパターン間のビット数. IT (I) 配列NOの長さ.
連続した記憶領域にビットパターンを埋め込む.
CALL SBYTE(NP,IO,IB,NB)
CALL SBYTES(NP,NO,IB,NB,NS,IT)
NP (I) 連続した記憶領域(たとえば配列)の先頭となる語. IO (I) 埋め込むビットパターンを与える変数. NO (I) 埋め込むビットパターンを与える配列. IB (I) 先頭の語においてスキップするビット数. NB (I) 埋め込むビット数. NS (I) 埋め込むビットパターン間のビット数. IT (I) 配列NOの長さ.
ビットパターンをシフトする.
ISHIFT(IW,N)
IW (I) ビットパターンをシフトする1語長の引数. N (I) シフトするビット数. N>0なら左側にシフトする. 左側にあふれた分は右側に詰められる(circular shift) . N<0なら右側にシフトする. 右側にあふれた分は捨てられる(end-off shift). ISHIFT (I) シフトした結果を返す関数値.
ビットごとのブール積/和を求める.
IAND(I1,I2)
IOR(I1,I2)
I1, (I) ビット列を与える1語長の引数. I2 IAND (I) ビット列のブール積を返す関数値. IOR (I) ビット列のブール和を返す関数値.
NUMAGUTI Atusi <a1n@gfdl.gov> Last Modified: Thu Aug 31 13:03:16 EDT 1995