一般的なサービス・プロシージャーおよび ユーティリティー・プロシージャー

浮動小数点制御および照会のための効果的な プロシージャーは、xlf_fp_util モジュールに属します。 一般的なサービス・プロシージャーおよび ユーティリティー・プロシージャーは、xlfutility モジュールに属します。 関数を正しい型で指定し、名前の競合を避けるために、 これらのプロシージャーを使用する場合は、 次の 2 つの方法のいずれかに従ってください。

  1. XL Fortran は XLFUTILITY モジュールを提供します。 このモジュールには、これらのプロシージャー用のインターフェース およびデータ型定義 (および dtime_etime_idate_itime_ の 各プロシージャーに必要な派生型定義) が含まれています。 XL Fortran は、型、種類 (kind)、およびランクがインターフェース仕様と互換性のない引き数にフラグを付けます。 これらのモジュールを使用することにより、リンク時まで待たずに、コンパイル時にこれらのプロシージャーの 型チェックを行うことができます。 モジュール・インターフェース内の引き数名は、以下に定義する例からとられています。 xlfutility および xlfutility_extname の 2 つのモジュールに対して、 次のファイルが提供されています。


    ファイル名 ファイル・タイプ ロケーション
    • xlfutility.f
    • xlfutility_extname.f

    ソース・ファイル
    • /opt/ibmcmp/xlf/9.1/samples/modules

    • xlfutility.mod
    • xlfutility_extname.mod

    モジュール・シンボル・ファイル
    • /opt/ibmcmp/xlf/9.1/include

    ソース・ファイルに USE ステートメントを追加することによって、 プリコンパイルされたモジュールを使用することができます (詳細に ついては、USEを参照してください)。 また、必要に応じてモジュール・ソース・ファイルを修正し、 再コンパイルすることもできます。 -qextname オプションを使用してコンパイルするプロシージャー の場合は、xlfutility_extname ファイルを使用してください。 ソース・ファイル xlfutility_extname.f の場合、プロシージャー名の後に下線は 付きませんが、xlfutility.f の場合は一部のプロシージャー名 (本節に記載されています) に 下線が含まれています。

    名前の競合が生じる場合 (たとえば、アクセス元のサブプログラムに モジュール・エンティティーと同じ名前のエンティティーが ある場合) は、ONLY 文節を使用するか、 または USE ステートメントの名前変更機能を使用してください。 以下に例を示します。

    USE XLFUTILITY, NULL1 => DTIME_, NULL2 => ETIME_
    
  2. これらのプロシージャーは組み込みプロシージャーではないので、 ユーザーは次のことを行ってください。

    libc ライブラリー内の名前との競合を回避するため、 一部のプロシージャー名には最後に下線が付いています。 これらのプロシージャーへの呼び出しをコーディングする場合は、以下のことができます。

    お使いのプログラムが以下のプロシージャーを呼び出す場合は、 使用できる共通ブロックおよび外部プロシージャー名に制限があります。

    XLF 提供の関数名 使用できない共通ブロックまたは 外部プロシージャー名
    mclock times
    rand irand
IBM Copyright 2003