ビット単位関数、環境照会関数、記憶領域の割り当ておよび割り当て解除関数について説明します。
次の関数はすべて FORTRAN 77 の規格外です。
表 3–6 FORTRAN 77 ビット単位関数
ビット単位操作 |
引数の数 |
個別名 |
引数の型 |
関数の型 |
---|---|---|---|---|
補数 |
1 |
NOT |
INTEGER |
INTEGER |
論理積 |
22 |
AND IAND |
INTEGER |
INTEGER |
内包的論理和 |
22 |
OR IOR |
INTEGER |
INTEGER |
排他的論理和 |
22 |
XOR IEOR |
INTEGER |
INTEGER |
シフト 注 (14) 参照。 |
2 |
ISHFT |
INTEGER |
INTEGER |
左シフト 注 (14) 参照。 |
2 |
LSHIFT |
INTEGER |
INTEGER |
右シフト 注 (14) 参照。 |
2 |
RSHIFT |
INTEGER |
INTEGER |
論理的右シフト 注 (14) 参照。 |
2 |
LRSHFT |
INTEGER |
INTEGER |
循環シフト |
3 |
ISHFTC |
INTEGER |
INTEGER |
ビット抽出 |
3 |
IBITS |
INTEGER |
INTEGER |
ビットセット |
2 |
IBSET |
INTEGER |
INTEGER |
ビットテスト |
2 |
BTEST |
INTEGER |
LOGICAL |
ビットクリアー |
2 |
IBCLR |
INTEGER |
INTEGER |
前述の関数は、組み込み関数または外部関数として使用可能です。ライブラリのビット単位操作ルーチンについての詳細は、『Fortran ライブラリ・リファレンス』を参照してください。
次の関数はすべて FORTRAN 77 の規格外です。
表 3–7 FORTRAN 77 環境照会関数
定義 |
引数の数 |
総称名 |
引数の型 |
関数の型 |
---|---|---|---|---|
進法の基底 |
1 |
EPBASE |
INTEGER REAL DOUBLE REAL*16 |
INTEGER INTEGER INTEGER INTEGER |
有効ビット数 |
1 |
EPPREC |
INTEGER REAL DOUBLE REAL*16 |
INTEGER INTEGER INTEGER INTEGER |
最小指数 |
1 |
EPEMIN |
REAL DOUBLE REAL*16 |
INTEGER INTEGER INTEGER |
最大指数 |
1 |
EPEMAX |
REAL DOUBLE REAL*16 |
INTEGER INTEGER INTEGER |
最小非ゼロ数 |
1 |
EPTINY |
REAL DOUBLE REAL*16 |
REAL DOUBLE REAL*16 |
表現可能の最大 |
1 |
EPHUGE |
INTEGER REAL DOUBLE REAL*16 |
INTEGER REAL DOUBLE REAL*16 |
イプシロン 注 (16) 参照。 |
1 |
EPMRSP |
REAL DOUBLE REAL*16 |
REAL DOUBLE REAL*16 |
次の関数はすべて FORTRAN 77 の規格外です。
表 3–8 FORTRAN 77 メモリー関数
組み込み関数 |
定義 |
引数の数 |
個別名 |
引数の型 |
関数の型 |
---|---|---|---|---|---|
位置 |
アドレス 注 (17) 参照。 |
1 |
LOC |
任意 |
INTEGER*4INTEGER*8 |
割り当て |
記憶領域の割り当てアドレスを戻す。 注 (17) 参照。 |
1 |
MALLOC MALLOC64 |
INTEGER*4 INTEGER*8 |
INTEGER INTEGER*8 |
割り当て解除 |
MALLOC で割り当てられた記憶領域の割り当て解除。注 (17) 参照。 |
1 |
FREE |
任意 |
- |
サイズ |
引数のサイズをバイト数で戻す。 注 (18) 参照。 |
1 |
SIZEOF |
任意の式 |
INTEGER |