浮動小数点制御および照会のための効果的なプロシージャーは、xlf_fp_util モジュールに属します。一般的なサービス・プロシージャーおよびユーティリティー・プロシージャーは、xlfutility モジュールに属します。関数を正しいタイプで指定し、名前の競合を避けるために、これらのプロシージャーを使用する場合は、次の 2 つの方法のいずれかに従ってください。
ファイル名 | ファイル・タイプ | 場所 |
---|---|---|
| ソース・ファイル |
|
| モジュール・シンボル・ファイル (32 ビット) |
|
モジュール・シンボル・ファイル (64 ビット) |
|
ソース・ファイルに USE ステートメントを追加することによって、プリコンパイルされたモジュールを使用することができます (詳細については、USEを参照してください)。また、必要に応じてモジュール・ソース・ファイルを修正し、再コンパイルすることもできます。 -qextname オプションを使用してコンパイルするプロシージャーの場合は、xlfutility_extname ファイルを使用してください。ソース・ファイル xlfutility_extname.f の場合、プロシージャー名の後に下線は付きませんが、xlfutility.f の場合は一部のプロシージャー名 (この章に記載されています) に下線が含まれています。
名前の競合が生じる場合 (たとえば、アクセス元のサブプログラムにモジュール・エンティティーと同じ名前のエンティティーがある場合) は、ONLY 文節を使用するか、または USE ステートメントの名前変更機能を使用してください。以下に例を示します。
USE XLFUTILITY, NULL1 => DTIME_, NULL2 => ETIME_
libc ライブラリー内の名前との競合を回避するため、一部のプロシージャー名には最後に下線が付いています。これらのプロシージャーへの呼び出しをコーディングする場合は、以下のことができます。
xlf -brename:flush,flush_ calls_flush.f
この方法が最もよく機能するのは、少数のプロシージャーを名前変更するだけでよい場合です。
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 |