RESHAPE — Function to reshape an array#

RESHAPE(SOURCE, SHAPE, PAD, ORDER)#

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

Parameters:
  • SOURCE – Shall be an array of any type.

  • SHAPE – Shall 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.

Returns:

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

Standard:

Fortran 90 and later

Class:

Transformational function

Syntax:
RESULT = RESHAPE(SOURCE, SHAPE[, PAD, ORDER])
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