XL Fortran for AIX V8.1.1

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

EOSHIFT (ARRAY, SHIFT, BOUNDARY, DIM)

配列の所定の次元に沿ったすべてのベクトルのエレメントをシフトします。シフトは end-off です。つまり、一方の端をシフトオフされたエレメントは失われ、境界エレメントのコピーはもう一方の端でシフトインされます。

引き数タイプおよび属性

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

SHIFT
ランク 1 を持つ ARRAY の場合は、整数タイプのスカラーです。そうでない場合は、スカラー整数またはランク rank(ARRAY)-1 の整数式です。

BOUNDARY (オプション)
ARRAY と同じタイプおよび型付きパラメーターを持ちます。 ARRAY が、ランク 1 である場合、BOUNDARY はスカラーでなければなりません。そうでない場合、これは、スカラーであるか、ランク rank(ARRAY)-1 の式です。

DIM (オプション)
1 <= DIM <= rank(ARRAY) の範囲内の整数スカラーです。

クラス

変換関数

結果値

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

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

正の SHIFT
ベクトルの個々のエレメントをベクトルの先頭に向かって移動します。エレメントがベクトルの先頭を過ぎた場合は、その値の代わりに、ベクトルの終わりにある BOUNDARY の対応する値が入ります。

負の SHIFT
ベクトルの個々のエレメントをベクトルの終わりに向かって移動します。エレメントがベクトルの終わりを過ぎた場合は、その値の代わりに、ベクトルの初めにある BOUNDARY の対応する値が入ります。

ゼロ SHIFT
シフトを行いません。ベクトルの値は変更されません。

結果値

BOUNDARY がスカラー値である場合は、この値はすべてのシフト値で使用されます。

BOUNDARY が値の配列である場合は、添え字を持つ (s1, s2, ..., s(DIM-1), s(DIM+1), ..., sn) を持つ BOUNDARY の配列エレメントの値がその次元について適用されます。

BOUNDARY が指定されないと、以下のデフォルト値が使用されます。どれが使用されるかは、ARRAY のデータ型によって決まります。

文字
' ' (ブランク 1 つ)

論理
false

整数
0

実数
0.0

複素数
(0.0, 0.0)

! 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 |


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