ビット単位関数、環境照会関数、記憶領域の割り当ておよび割り当て解除関数について説明します。
次の関数はすべて 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 |