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.

Syntax

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

Arguments

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.

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

Standard

Fortran 95 and later

Class

Transformational function

See also

SHAPE