XL Fortran for AIX V8.1.1

ランゲージ・リファレンス

TRANSFER (SOURCE, MOLD, SIZE)

物理表現は SOURCE と同一で、MOLD のタイプおよび型付きパラメーターで解釈された結果を戻します。

符号拡張、丸め、ブランクの埋め込み、および、他の変換方法を使用して発生させることができるその他の変更を行わずに、タイプ間で低レベルの変換を実行します。

引き数タイプおよび属性

SOURCE
ビット単位値を別のタイプに変えたいデータ・エンティティーです。これは、タイプは任意で、スカラー値でも配列値でもかまいません。

MOLD
結果として望んでいるタイプ特性を持つデータ・エンティティーです。 MOLD が変数の場合、値を定義する必要はありません。これは、タイプは任意で、スカラー値でも配列値でもかまいません。その値は使用されず、そのタイプ特性だけが使用されます。

SIZE (オプション)
出力結果に対するエレメントの数です。これは、スカラー整数でなければなりません。対応する実引き数は、オプションの仮引き数であってはなりません。

クラス

変換関数

結果タイプおよび属性

MOLD と同じタイプおよび型付きパラメーター

MOLD がスカラーで、SIZE を指定しないと、結果はスカラーになります。

MOLD が配列値で、SIZE を指定しないと、結果はランク 1 の配列値になり、SOURCE を保持できるだけの物理的に十分な最小のサイズを持ちます。

SIZE を指定した場合には、結果はランク 1 で、サイズが SIZE の配列値になります。

結果値

結果の物理表現は SOURCE と同じで、結果が小さい場合は切り捨てられ、結果が大きい場合は不定の後続部分を持ちます。

物理表現は変更されないので、結果が切り捨てられない限り、TRANSFER の結果を元に戻すことができます。

      REAL(4) X = 3.141
      DOUBLE PRECISION I, J(6) = (/1,2,3,4,5,6/)
 
! Because x is transferred to a larger representation
! and then back, its value is unchanged.
      X = TRANSFER( TRANSFER( X, I ), X )
 
! j is transferred into a real(4) array large enough to
! hold all its elements, then back into an array of
! its original size, so its value is unchanged too.
      J = TRANSFER( TRANSFER( J, X ), J, SIZE=SIZE(J) )

IBM 拡張の開始TRANSFER (1082130432, 0.0) は 4.0 です。 IBM 拡張の終了

TRANSFER ((/1.1,2.2,3.3/), (/(0.0,0.0)/)) は長さ 2 を持つ複素数のランク 1 配列で、最初のエレメントは値 (1.1, 2.2) を持ち、2 番目のエレメントは値 3.3 を持つ実数部を持ちます。2 番目のエレメントの虚数部は不定です。

TRANSFER ((/1.1,2.2,3.3/), (/(0.0,0.0)/), 1) は、値 (/(1.1,2.2)/) を持ちます。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]