RESHAPE(SOURCE, SHAPE, PAD, ORDER)

目的

所定の配列のエレメントから、指定の形状の配列を構成します。

クラス

変換関数

引き数の型と属性

SOURCE
任意の型の配列で、これは結果配列に対してエレメントを与えます。

SHAPE
結果の配列の形状を定義します。 これは最大 20 個のエレメントからなる整数配列で、 ランクは 1、サイズは一定です。 すべてのエレメントが正の整数かゼロを持ちます。

PAD (オプション)
SOURCE がもっと大きな配列に形状変更された場合に、 余分な値を埋め込むのに使用されます。これは、SOURCE と同じデータ型の配列です。 これが存在しない場合、あるいは、ゼロ・サイズ配列である場合、 ユーザーができることは SOURCE を同じサイズまたは それよりも小さい別の配列にすることだけです。

ORDER (オプション)
サイズが一定で、ランクが 1 の整数配列です。 そのエレメントは、(1, 2, ..., SIZE(SHAPE)) の 順列でなければなりません。 これを使用して、通常の (1, 2, ..., rank(RESULT)) とは 異なる次元順序で結果にエレメントを挿入することができます。

結果の値

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

SOURCE の配列エレメントは、ORDER で指定された次元の順序に従って、あるいは、 ORDER が指定されていない場合は配列エレメント用の通常の順序に従って、 結果内に配置されます。

SOURCE の配列エレメントの後に、PAD の配列エレメントが配列エレメント順に続き、 その後にさらに PAD のコピーが、結果のエレメントがすべて設定されるまで続きます。

! Turn a rank-1 array into a 3x4 array of the
! same size.
RES= RESHAPE( (/A,B,C,D,E,F,G,H,I,J,K,L/), (/3,4/)
! The result is | A D G J |
!               | B E H K |
!               | C F I L |
 
! Turn a rank-1 array into a larger 3x5 array.
! Keep repeating -1 and -2 values for any
! elements not filled by the source array.
! Fill the rows first, then the columns.
RES= RESHAPE( (/1,2,3,4,5,6/), (/3,5/), &
  (/-1,-2/), (/2,1/) )
! The result is | 1  2  3  4  5  |
!               |  6 -1 -2 -1 -2 |
!               | -1 -2 -1 -2 -1 |

関連情報

SHAPE(SOURCE). IBM Copyright 2003