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

### 9.257 `SPREAD`

— Add a dimension to an array

*Description*:Replicates a

`SOURCE`array`NCOPIES`times along a specified dimension`DIM`.*Standard*:Fortran 90 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*: