配列の所定の次元に沿ったすべてのベクトルのエレメントをシフトします。シフトは end-off です。つまり、一方の端をシフトオフされたエレメントは失われ、境界エレメントのコピーはもう一方の端でシフトインされます。
引き数タイプおよび属性
クラス
変換関数
結果値
結果は ARRAY と同じ形状とデータ型を持つ配列になります。
SHIFT の絶対値は、シフトの量を決定します。 SHIFT の符号は、シフトの方向を決定します。
結果値
BOUNDARY がスカラー値である場合は、この値はすべてのシフト値で使用されます。
BOUNDARY が値の配列である場合は、添え字を持つ (s1, s2, ..., s(DIM-1), s(DIM+1), ..., sn) を持つ BOUNDARY の配列エレメントの値がその次元について適用されます。
BOUNDARY が指定されないと、以下のデフォルト値が使用されます。どれが使用されるかは、ARRAY のデータ型によって決まります。
例
! A is | 1.1 4.4 7.7 |, SHIFT is S=(/0, -1, 1/),
! | 2.2 5.5 8.8 |
! | 3.3 6.6 9.9 |
! and BOUNDARY is the array B=(/-0.1, -0.2, -0.3/).
! Leave the first column alone, shift the second
! column down one, and shift the third column up one.
RES = EOSHIFT (A, SHIFT = S, BOUNDARY = B, DIM = 1)
! The result is | 1.1 -0.2 8.8 |
! | 2.2 4.4 9.9 |
! | 3.3 5.5 -0.3 |
! Do the same shifts as before, but on the
! rows instead of the columns.
RES = EOSHIFT (A, SHIFT = S, BOUNDARY = B, DIM = 2)
! The result is | 1.1 4.4 7.7 |
! | -0.2 2.2 5.5 |
! | 6.6 9.9 -0.3 |