XL Fortran for AIX V8.1.1

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

CSHIFT (ARRAY, SHIFT, DIM)

配列の所定の次元に沿ったすべてのベクトルのエレメントをシフトします。シフトは循環です。つまり、一方の端がシフトオフされたエレメントは、もう一方の端に再び挿入されます。

引き数タイプおよび属性

ARRAY
任意のタイプの配列です。

SHIFT
ARRAY のランクが 1 の場合はスカラー整数でなければなりません。 ARRAY のランクが 1 でない場合は、ランク rank(ARRAY)-1 のスカラー整数または整数式になります。

DIM (オプション)
1 <= DIM <= rank(ARRAY) の範囲内の整数スカラーです。指定しない場合、デフォルトは 1 になります。

クラス

変換関数

結果値

結果は、ARRAY と同じ形状とデータ型を持つ配列になります。

SHIFT がスカラーの場合は、個々のベクトルに同じシフトが適用されます。それ以外の場合は、個々のベクトル ARRAY (s1, s2, ..., s(DIM-1), :, s(DIM+1), ..., sn) は、SHIFT (s1, s2, ..., s(DIM-1), s(DIM+1), ..., sn) 内の対応する値に従ってシフトされます。

SHIFT の絶対値は、シフトの量を決定します。 SHIFT の符号は、シフトの方向を決定します。

正の SHIFT
ベクトルの個々のエレメントをベクトルの先頭に向かって移動します。

負の 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 |


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