インテル® Fortran コンパイラー 16.0 ユーザー・リファレンス・ガイド

init、Qinit

変数のクラスを 0 またはシグナル型 NaN に初期化します。

アーキテクチャーの制限

[Q]init snan: インテル® MIC アーキテクチャーをターゲットとするインテル® 64 アーキテクチャーでは利用できません。

構文

Linux* および OS X*:

-init=keyword

Windows*:

/Qinit:keyword

引数

keyword

変数のクラスの初期値を指定します。設定可能な値は以下のとおりです。

[no]arrays

配列またはスカラーの変数を初期化するかどうかを指定します。arrays を指定すると、配列またはスカラーの変数が初期化されます。noarrays を指定すると、スカラーの変数のみ初期化されます。[Q]init [no]arrays を指定する場合は、[Q]init snan または [Q]init zero も指定する必要があります。

[no]snan

REAL または COMPLEX 組込み型の初期化されていない保存済み、ローカル、自動、または割り当て済み変数を、すべてシグナル型 NaN に初期化するかどうかを指定します。

[no]zero

REAL、COMPLEX、INTEGER、または LOGICAL 組込み型の初期化されていない保存済み、ローカル、自動、または割り当て済み変数を、すべて 0 に初期化するかどうかを指定します。

/Qinit:[no]zero/Qzero[-] (Windows*) の後継オプション、-init=[no]zero-[no]zero (Linux* および OS X*) の後継オプションです。

デフォルト

オフ

デフォルトでは初期化は行われません。

説明

このオプションは、変数のクラスを 0 またはシグナル型 NaN に初期化します。

-init=zero または -init=snan (Linux* および OS X*) あるいは /Qinit:zero または /Qinit:snan (Windows*) オプションを指定すると、スカラー変数のみ初期化されます。配列も初期化するには、-init=arrays (Linux* および OS X*) または Qinit:arrays (Windows*) オプションも指定する必要があります。

[Q]init snan[Q]init zero を一緒に指定する場合、REAL および COMPLEX 型の特定の変数はシグナル型 NaN に初期化され、INTEGER および LOGICAL 型の特定の変数は 0 に初期化されます。

[Q]init オプションは、次の変数のクラスに影響します。

このオプションに関する一般的な制限は以下のとおりです。

[Q]init snan を指定すると、シグナル型 NaN をトラップし停止するように浮動小数点例外処理フラグが設定されます。実行時にシグナル型 NaN がトラップされると、Fortran ライブラリーはそれをキャッチし、初期化されていない可能性のある変数に関するエラーメッセージとトレースバックを表示し、実行を停止します。実行が停止したら、デバッガーを使って初期化されていない変数が参照されているコード位置を特定できます。

[Q]init snan を指定すると、fpe 0 オプションも設定されます。コマンドラインで fpe 3[Q]init snan の両方を指定すると、コンパイル時に警告が出力されます。この場合、fpe 3 は無視されます。

インテル® MIC アーキテクチャーをターゲットとするインテル® 64 アーキテクチャーでは、[Q]init [no]snan を利用できません。また、シグナル型 NaN のトラッピングは、インテル® MIC アーキテクチャーでは利用できません。

すべての変数を SAVE として指定する場合は、[Q]save を使用します。

IDE オプション

Visual Studio*: [Data (データ)] > [Initialize Variables to Signaling NaN (変数をシグナル型 NaN に初期化する)]

[Data (データ)] > [Initialize Variables to Zero (変数をゼロに初期化する)]

[Data (データ)] > [Initialize Arrays as well as Scalars (配列とスカラーの初期化)]

Eclipse*: なし

Xcode*: [Data (データ)] > [Initialize Variables to Signaling NaN (変数をシグナル型 NaN に初期化する)]

[Data (データ)] > [Initialize Variables to Zero (変数をゼロに初期化する)]

[Data (データ)] > [Initialize Arrays as well as Scalars (配列とスカラーの初期化)]

代替オプション

なし

次の例は、REAL および COMPLEX 組込み型のスカラーをシグナル型 NaN に初期化し、INTEGER および LOGICAL 組込み型のスカラーを 0 に初期化します。

-init=snan,zero               ! Linux* および OS X* システム
/Qinit:snan,zero              ! Windows* システム

次の例は、REAL および COMPLEX 組込み型のスカラーと配列をシグナル型 NaN に初期化し、INTEGER および LOGICAL 組込み型のスカラーと配列を 0 に初期化します。

-init=zero -init=snan –init=arrays       ! Linux* および OS X* システム
/Qinit:zero /Qinit:snan /Qinit:arrays      ! Windows* システム