目的
物理表現は SOURCE と同一で、MOLD の型および型付きパラメーターで解釈された結果を戻します。
符号拡張、丸め、ブランクの埋め込み、および、他の変換方法 を使用して発生させることができるその他の変更を行わずに、 型間で低レベルの変換を実行します。
クラス
変換関数
引き数の型と属性
結果の値と属性
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) )
例
TRANSFER (1082130432, 0.0) は 4.0 です。
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)/) を持ちます。