**Optional Argument**. `MASK`

**Description**. Scatters elements of `ARRAY` selected by
`MASK` to positions of the result indicated by index arrays
`INDX1`, ..., `INDXn`. Each element of the result is
equal to the sum of the corresponding element of `BASE` and the
elements of `ARRAY` scattered to that position.

**Class**. Transformational function.

**Arguments**.

ARRAY must be of type integer, real, or complex. It must not be scalar.

BASE must be of the same type and kind type
parameter as `ARRAY`.
It must not be scalar.

INDX1,...,INDXn must be of type integer and conformable with
`ARRAY`. The number of
`INDX` arguments must be
equal to the rank of `BASE`.

MASK (optional) must be of type logical and must be
conformable with `ARRAY`.

**Result Type, Type Parameter, and Shape**. Same as `BASE`.

**Result Value**. The element of the result corresponding to the
element of `BASE` has the value `SUM`( (/*a*_{1},*a*_{2},...,*a*_{m},*b*/) ), where (*a*_{1},...,*a*_{m}) are the elements of
`ARRAY` associated with *b* as described in
Section 7.4.4.

**Example**. `SUM_SCATTER((/1, 2, 3, 1/), (/4, -5, 7/), (/1,
1, 2, 2/))` is [`7 -1 7`].