配列の所定の次元に沿ったすべてのベクトルのエレメントをシフトします。シフトは循環です。つまり、一方の端がシフトオフされたエレメントは、もう一方の端に再び挿入されます。
引き数タイプおよび属性
クラス
変換関数
結果値
結果は、ARRAY と同じ形状とデータ型を持つ配列になります。
SHIFT がスカラーの場合は、個々のベクトルに同じシフトが適用されます。それ以外の場合は、個々のベクトル ARRAY (s1, s2, ..., s(DIM-1), :, s(DIM+1), ..., sn) は、SHIFT (s1, s2, ..., s(DIM-1), s(DIM+1), ..., sn) 内の対応する値に従ってシフトされます。
SHIFT の絶対値は、シフトの量を決定します。 SHIFT の符号は、シフトの方向を決定します。
例
! A is the array | A D G |
! | B E H |
! | C F I |
! Shift the first column down one, the second column
! up one, and leave the third column unchanged.
RES = CSHIFT (A, SHIFT = (/-1,1,0/), DIM = 1)
! The result is | C E G |
! | A F H |
! | B D I |
! Do the same shifts as before, but on the rows
! instead of the columns.
RES = CSHIFT (A, SHIFT = (/-1,1,0/), DIM = 2)
! The result is | G A D |
! | E H B |
! | C F I |