ナビゲーション:前へ 上へ 次へ
5.1 非標準機能拡張
標準Fortran言語に対する以下の拡張はnAG Fortranコンパイラで許容されます。
5.1.1 DATA文外部での非10進定数表現
nAG Fortranコンパイラは整数リテラルが許容されるコンテクストであれば、16進、 8進、2進の定数表現も受け付けます。そのような定数のデータ型はデフォルトの INTEGERとなります。ただし非10進定数中にデフォルトのINTEGER にフィットしない数の数字が含まれている場合はこの限りではありません。例えば Z'12345678'はデフォルトのINTEGER型となりますが、 Z'123456789'は64ビット整数となります。5.1.2 High Performance Fortran
High Performance Fortran 1.0の言語は-hpf オプションを指定 することですべて使えるようになります。 このオプションを指定しなかった場合には、すべてのHPF指示文は無視され、 EXTRINSIC関数接頭句は許容されず、ILEN, NUMBER_OF_PROCESSORS, PROCESSORS_SHAPE組込み関数は認識されず、 HPF_LIBRARYモジュールは利用できないという仕様になります。5.1.2.1 HPF指示文
HPF指示文は!HPF$で始まるコメントです。詳細は HPF Language Specification をご参照ください。これは Scientific Programming の特別号(John Wiley & Sons (1993))に記載されて います。すべてのHPF指示文は文法的に、あるいは意味的に正しいかどうかがチェックされま す。しかしこれはシリアルな(単一プロセッサ用の)実装であるため、これらの指示 文を使用しても生成されるコードには何の影響も及ばないことに注意してください。
5.1.2.2 HPF組込み関数
-hpf オプションを指定することによって次に示す3つの組込み関数 が新たに利用できるようになります:- ILEN
- この関数はelemental(要素別処理)であり、一つのINTEGER型引数を取り、 同じ型の値を返します。引数の値を2の補数形式で格納するとしたときに必要となる ビット数から1を引いた数を応答として返します。 正の数の場合、それは最高位のビットに1を足した値となります(Fortran仕様のセク ション13.5.7中のモデルによれば、最下位ビットはビット0です)。負の数の場合、 セットされていない最高位のビットに1を足した値となります。
- NUMBER_OF_PROCESSORS
- この関数はデフォルトのINTEGER型のスカラであり、引数は取らず、値1を応答 として返します(nAG Fortranの場合)。
- PROCESSORS_SHAPE
- この関数はデフォルトのINTEGER型の配列を応答として返します。nAG Fortran の場合、返される値はサイズが0の配列です。
5.1.2.3 EXTRINSIC手続き
Extrinsic手続きの宣言はHPFのプログラムからHPFでないルーチンをコールできるよう にするためのものです。Extrinsic節はRECURSIVEやPUREに似た接頭句 ですが、引用仕様宣言の中でのみ使用されます。構文は次の通りです:
extrinsic-prefix is EXTRINSIC ( extrinsic-kind-keyword )
extrinsic-kind-keyword is HPF or HPF_LOCAL
手続きをextrinsic kind HPFとして宣言することはextrinsic節を全く省いて しまうのと同じことになります。nAG Fortranにおいては、手続きを extrinsic kind HPF_LOCALと宣言しても何の影響も与えません。
