SPREAD(3I) Last changed: 1-6-98
SPREAD - Constructs an array from several copies of an actual argument
SPREAD ([SOURCE=]source, [DIM=]dim, [NCOPIES=]ncopies)
UNICOS, UNICOS/mk, and IRIX systems
Fortran 90
The SPREAD intrinsic function constructs an array from several copies
of an actual argument. This intrinsic function can be used for array
construction. It replicates an array by adding a dimension. It
broadcasts several copies of source along a specified dimension and
thus forms an array of rank one greater. SPREAD accepts the following
arguments:
source May be of any type. It may be scalar or array valued. The
rank of source must be less than 7.
dim Must be scalar and an integer with value in the range of
1 <= dim <= n + 1, where n is the rank of source. This
function does a check on dim.
ncopies Must be scalar and an integer.
SPREAD is a transformational intrinsic function. The name of this
intrinsic cannot be passed as an argument.
The result is an array of the same type as source and of rank n+1,
where n is the rank of source.
If source is scalar, the shape of the result is MAX(ncopies,0). If
source is array valued with shape
(d , d , ..., d ),
1 2 n
the shape of the result is
(d , d , ..., d , MAX(ncopies, 0), d , ..., d ).
1 2 dim-1 dim n
If source is scalar, each element of the result has a value equal to
source.
If source is array valued, the element of the result with subscripts
(r , r , ..., r )
1 2 n+1
has the value
source(r , r , ..., r , r , ..., r )).
1 2 dim-1 dim+1 n+1
Example 1: Assume that ISCALR is the scalar value of 8. The
following statements are then true:
* The value of SPREAD( ISCALR, DIM = 1, NCOPIES = 0) is a zero-sized
array.
* The value of SPREAD( ISCALR, DIM = 1, NCOPIES = 2) is [8, 8].
Example 2: Assume that A is the array [2, 3, 4]. The following
statements are then true:
* The value of SPREAD( A, DIM = 1, NCOPIES = 0 ) is a zero-sized
array.
* The value of SPREAD( A, DIM = 1, NCOPIES = 3 ) is as follows:
| 2 3 4 |
| 2 3 4 |
| 2 3 4 |
* The value of SPREAD( A, DIM = 2, NCOPIES = 3 ) is as follows:
| 2 2 2 |
| 3 3 3 |
| 4 4 4 |
Intrinsic Procedures Reference Manual, publication SR-2138, for the
printed version of this man page.
SPREAD(3I) Last changed: 1-6-98
SPREAD - Constructs an array from several copies of an actual argument
SPREAD ([SOURCE=]source, [DIM=]dim, [NCOPIES=]ncopies)
UNICOS, UNICOS/mk, and IRIX systems
Fortran 90
The SPREAD intrinsic function constructs an array from several copies
of an actual argument. This intrinsic function can be used for array
construction. It replicates an array by adding a dimension. It
broadcasts several copies of source along a specified dimension and
thus forms an array of rank one greater. SPREAD accepts the following
arguments:
source May be of any type. It may be scalar or array valued. The
rank of source must be less than 7.
dim Must be scalar and an integer with value in the range of
1 <= dim <= n + 1, where n is the rank of source. This
function does a check on dim.
ncopies Must be scalar and an integer.
SPREAD is a transformational intrinsic function. The name of this
intrinsic cannot be passed as an argument.
The result is an array of the same type as source and of rank n+1,
where n is the rank of source.
If source is scalar, the shape of the result is MAX(ncopies,0). If
source is array valued with shape
(d , d , ..., d ),
1 2 n
the shape of the result is
(d , d , ..., d , MAX(ncopies, 0), d , ..., d ).
1 2 dim-1 dim n
If source is scalar, each element of the result has a value equal to
source.
If source is array valued, the element of the result with subscripts
(r , r , ..., r )
1 2 n+1
has the value
source(r , r , ..., r , r , ..., r )).
1 2 dim-1 dim+1 n+1
Example 1: Assume that ISCALR is the scalar value of 8. The
following statements are then true:
* The value of SPREAD( ISCALR, DIM = 1, NCOPIES = 0) is a zero-sized
array.
* The value of SPREAD( ISCALR, DIM = 1, NCOPIES = 2) is [8, 8].
Example 2: Assume that A is the array [2, 3, 4]. The following
statements are then true:
* The value of SPREAD( A, DIM = 1, NCOPIES = 0 ) is a zero-sized
array.
* The value of SPREAD( A, DIM = 1, NCOPIES = 3 ) is as follows:
| 2 3 4 |
| 2 3 4 |
| 2 3 4 |
* The value of SPREAD( A, DIM = 2, NCOPIES = 3 ) is as follows:
| 2 2 2 |
| 3 3 3 |
| 4 4 4 |
Intrinsic Procedures Reference Manual, publication SR-2138, for the
printed version of this man page.
[ Back ]
|