Fortran Wiki reshape

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 95 and later

Class

Transformational function

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