インテル® Fortran コンパイラー 16.0 ユーザー・リファレンス・ガイド
変数のクラスを 0 またはシグナル型 NaN に初期化します。
[Q]init snan: インテル® MIC アーキテクチャーをターゲットとするインテル® 64 アーキテクチャーでは利用できません。
Linux* および OS X*: | -init=keyword |
Windows*: | /Qinit:keyword |
keyword |
変数のクラスの初期値を指定します。設定可能な値は以下のとおりです。
|
オフ |
デフォルトでは初期化は行われません。 |
このオプションは、変数のクラスを 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 オプションは、次の変数のクラスに影響します。
組込み数値型の変数 (COMPLEX、INTEGER、LOGICAL、または REAL 型、任意の KIND)
メインプログラム以外にあり、ソースコードで初期化されていない SAVEd スカラーまたは配列変数
ローカルスカラーおよびローカル配列
ソースコードで初期化されていないモジュール変数
自動配列
POINTER または ALLOCATABLE 属性を持つ変数
ユーザー定義型の POINTER または ALLOCATABLE 属性を持つコンポーネントは [Q]init オプションで初期化可能
このオプションに関する一般的な制限は以下のとおりです。
[Q]init snan は、REAL または COMPLEX 型の特定の変数にのみ影響します。
EQUIVALENCE グループの変数は、シグナル型 NaN に初期化することはできません。
EQUIVALENCE グループのすべてのメンバーが明示的な初期化、あるいはデフォルトの初期化 (派生型の場合) を持たない場合は、0 に初期化することができます。
派生型および派生型の配列は初期化されません。
整合配列は初期化されません。
COMMON 内の変数は初期化されません。
[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 を使用します。
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* システム