浮動小数点制御および照会のための効果的な プロシージャーは、xlf_fp_util モジュールに属します。 一般的なサービス・プロシージャーおよび ユーティリティー・プロシージャーは、xlfutility モジュールに属します。 関数を正しい型で指定し、名前の競合を避けるために、 これらのプロシージャーを使用する場合は、 次の 2 つの方法のいずれかに従ってください。
ファイル名 | ファイル・タイプ | ロケーション |
---|---|---|
| ソース・ファイル |
|
| モジュール・シンボル・ファイル |
|
ソース・ファイルに USE ステートメントを追加することによって、 プリコンパイルされたモジュールを使用することができます (詳細に ついては、USEを参照してください)。 また、必要に応じてモジュール・ソース・ファイルを修正し、 再コンパイルすることもできます。 -qextname オプションを使用してコンパイルするプロシージャー の場合は、xlfutility_extname ファイルを使用してください。 ソース・ファイル xlfutility_extname.f の場合、プロシージャー名の後に下線は 付きませんが、xlfutility.f の場合は一部のプロシージャー名 (本節に記載されています) に 下線が含まれています。
名前の競合が生じる場合 (たとえば、アクセス元のサブプログラムに モジュール・エンティティーと同じ名前のエンティティーが ある場合) は、ONLY 文節を使用するか、 または USE ステートメントの名前変更機能を使用してください。 以下に例を示します。
USE XLFUTILITY, NULL1 => DTIME_, NULL2 => ETIME_
libc ライブラリー内の名前との競合を回避するため、 一部のプロシージャー名には最後に下線が付いています。 これらのプロシージャーへの呼び出しをコーディングする場合は、以下のことができます。
xlf -qextname calls_flush.f
この方法は、ルーチン名の後に下線を付けずにすでに書かれている プログラムに対して使用することをお勧めします。 XL Fortran ライブラリーには、fpgets_ などの入り口点がさらに含まれているので、後続下線を使用しない プロシージャーへの呼び出しは、依然として -qextname で解決します。
PRINT *, IRTC() ! No underscore in this name CALL FLUSH_(10) ! But there is one in this name
お使いのプログラムが以下のプロシージャーを呼び出す場合は、
使用できる共通ブロックおよび外部プロシージャー名に制限があります。
XLF 提供の関数名 | 使用できない共通ブロックまたは 外部プロシージャー名 |
mclock | times |
rand | irand |