8.231 RESHAPE — Function to reshape an array

Description:

Reshapes SOURCE to correspond to SHAPE. If necessary, the new array may be padded with elements from PAD or permuted as defined by ORDER.

Standard:

Fortran 90 and later

Class:

Transformational function

Syntax:

RESULT = RESHAPE(SOURCE, SHAPE[, PAD, ORDER])

Arguments:
SOURCEShall be an array of any type.
SHAPEShall be of type INTEGER and an array of rank one. Its values must be positive or zero.
PAD(Optional) shall be an array of the same type as SOURCE.
ORDER(Optional) shall be of type INTEGER and an array of the same shape as SHAPE. Its values shall be a permutation of the numbers from 1 to n, where n is the size of SHAPE. If ORDER is absent, the natural ordering shall be assumed.
Return value:

The result is an array of shape SHAPE with the same type as SOURCE.

Example:
PROGRAM test_reshape
  INTEGER, DIMENSION(4) :: x
  WRITE(*,*) SHAPE(x)                       ! prints "4"
  WRITE(*,*) SHAPE(RESHAPE(x, (/2, 2/)))    ! prints "2 2"
END PROGRAM
See also:

SHAPE — Determine the shape of an array