The GNU Fortran Compiler: SPREAD

Next: SQRT, Previous: SPACING, Up: Intrinsic Procedures [Contents][Index]

### 9.254 `SPREAD` — Add a dimension to an array

Description:

  Replicates a SOURCE array NCOPIES times along a specified dimension DIM.

Standard:

  Fortran 95 and later

Class:

  Transformational function

Syntax:

  `RESULT = SPREAD(SOURCE, DIM, NCOPIES)`

Arguments:

  SOURCE | Shall be a scalar or an array of any type and a rank less than seven.
  DIM | Shall be a scalar of type `INTEGER` with a value in the range from 1 to n+1, where n equals the rank of SOURCE.
  NCOPIES | Shall be a scalar of type `INTEGER`.

Return value:

  The result is an array of the same type as SOURCE and has rank n+1 where n equals the rank of SOURCE.

Example:

      PROGRAM test_spread
        INTEGER :: a = 1, b(2) = (/ 1, 2 /)
        WRITE(*,*) SPREAD(A, 1, 2)            ! "1 1"
        WRITE(*,*) SPREAD(B, 1, 2)            ! "1 1 2 2"
      END PROGRAM

See also:

  UNPACK