ナビゲーション:前へ 上へ 次へ
5.1.5
要素別
相互運用可能な(
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 長い名前
名前は199文字長まで許されます。5.1.3 名前の中の$記号
‘$
’記号を名前の中で文字として使用できます。
この名前をリンク名称としてそのまま使えるシステムもありますが、DOLLAR
に変換されるシステムもあります。
5.1.4 入出力エンディアン変換
書式なし入出力ファイルの実行時の変換はCONVERT=
指定子により指定します。
CONVERT=
指定子は OPEN
文の指定子で、スカラ基本文字引数を指定できます。
指定可能な値は以下のとおりです。
BIG_ENDIAN
BIG_IEEE
と同等BIG_IEEE_DD
- ビッグエンディアン(IEEEの単精度浮動小数点形式、IEEEの倍精度浮動小数点形式、double-double 4倍精度浮動小数点形式)
BIG_IEEE
- ビッグエンディアン(IEEEの単精度浮動小数点形式、IEEEの倍精度浮動小数点形式、IEEEの128ビット4倍精度浮動小数点形式)
BIG_NATIVE
- ビッグエンディアン(ネイティブの浮動小数点形式)
LITTLE_ENDIAN
LITTLE_IEEE
と同等LITTLE_IEEE_DD
- リトルエンディアン(IEEEの単精度浮動小数点形式、IEEEの倍精度浮動小数点形式、double-double 4倍精度浮動小数点形式)
LITTLE_IEEE
- リトルエンディアン(IEEEの単精度浮動小数点形式、IEEEの倍精度浮動小数点形式、IEEEの128ビット4倍精度浮動小数点形式)
LITTLE_NATIVE
- リトルエンディアン(ネイティブの浮動小数点形式)
NATIVE
- ネイティブのエンディアンとデータ形式
入出力エンディアン変換の指定は実行時の環境変数の設定でも行う事が可能です。
装置 n がオープンされていて且つ環境変数
FORT_CONVERT
n が存在する場合にはその値が
CONVERT=
指定子の値として解釈されます。
環境変数が存在する場合にはその値が OPEN
文のどの CONVERT=
で指定される値よりも優先されます。
環境変数が存在しない場合で OPEN
文の CONVERT=
指定子も指定されていない場合には、
コンパイル時の -convert=
で指定された値が使われます。
デフォルトの変換モードは NATIVE
(つまり変換無し)です。
CONVERT=
指定子は INQUIRE
文でも利用可能で、
現在の変換モードを取得するかもしくは(ファイルが 'UNKNOWN'
で接続されていない場合は)
'UNKNOWN'
を取得します。
5.1.5
要素別 BIND(C)
手続き
相互運用可能な(BIND(C)
) 手続きは ELEMENTAL
として宣言可能です。
このような手続きは通常のFortranの要素別手続きの要求を満たす必要があります。
より具体的にはスカラ仮引数を持った純粋手続きでなければなりません。
5.1.6 最大配列次元数
配列の最大次元数が31に変更されました。 (Fortran 2008標準では15、それより前の標準では7と定められています。) 例えば、REAL array(2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2)は30次元の配列を宣言します。(約4GiBのメモリが必要)