ビルトイン関数:実引数の形式を変更します。引数を隣接値として渡します。
形式
result = %VAL (a)
a
(入力) 式,記録名,手続名,配列,文字部分配列,または配列要素。
引数は,以下のように渡されます。
ia32 プロセッサーでは,32 ビットの隣接値として渡されます。引数が整数型 (または論理型) で,32 ビットよりも短い場合,引数は 32 ビット値に符号拡張されます。複素数データ型の場合,%VAL は 2 つの 32 ビット引数を渡します。
Alpha および ia64 プロセッサーでは,64 ビットの隣接値として渡されます。引数が整数型 (または論理型) で,64 ビットよりも短い場合,引数は 64 ビット値に符号拡張されます。複素数データ型の場合,%VAL は 2 つの 64 ビット引数を渡します。
CALL 文または関数引用の実引数並びに %VAL を指定しなければなりません。他のどの文脈にも使用することはできません。
次表は,引数渡しの Compaq Fortran 基本設定と %VAL の使用が許可されるかどうかを一覧表示しています。
実引数データ型 | 基本設定 | %VAL |
---|---|---|
式 | ||
論理型 | REF | はい 1 |
整数型 | REF | はい 1 |
REAL(4) | REF | はい |
REAL(8) | REF | はい 2 |
REAL(16) 3 | REF | いいえ |
COMPLEX(4) | REF | いいえ |
COMPLEX(8) | REF | いいえ |
COMPLEX(16) 3 | REF | いいえ |
文字型 | 4 を参照 | いいえ |
ホレリス型 | REF | いいえ |
集合型 5 | REF | いいえ |
構造型 | REF | いいえ |
配列名 | ||
数値型 | REF | いいえ |
文字型 | 4 を参照 | いいえ |
集合型 5 | REF | いいえ |
構造型 | REF | いいえ |
手続名 | ||
数値型 | REF | いいえ |
文字型 | 4 を参照 | いいえ |
1 論理値または整数値が 64 (Alpha および ia64 プロセッサー) または 32 (ia32 プロセッサー) ビット未満の記憶域しか占有しない場合,符号拡張によって正しい大きさに変換されます。ゼロ拡張を行いたい場合,ZEXT 関数を使用してください。
2 ALpha のみ 3 VMS, U*X 4 Tru64 UNIX,Linux,および Windows システムでは,文字引数はアドレスと隠された文字長で渡されます。 5 Compaq Fortran の記録構造体 |
%VAL,%DESCR,および %REF 関数は,関連する cDEC$ ATTRIBUTES 設定を上書きします。
関連情報
例
CALL SUB(2, %VAL(2))
定数値 2 は,参照渡しで渡されます。第 2 定数値 2 は,隣接値で渡されます。