**Optional Arguments**. `DIM`, `MASK`, `SEGMENT`,
`EXCLUSIVE`

**Description**. Computes a segmented `SUM` scan along
dimension `DIM` of `ARRAY`.

**Class**. Transformational function.

**Arguments**.

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

DIM (optional) must be scalar and of type integer
with a value in the range 1 __<__ `DIM` __<__ *n*, where *n*
is the rank of `ARRAY`.

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

SEGMENT (optional) must be of type logical and must have
the same shape as `ARRAY`.

EXCLUSIVE (optional) must be of type logical and must be
scalar.

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

**Result Value**. Element of the result has the value
`SUM`((/ *a*_{1},...,*a*_{m} /)) where (*a*_{1},...,*a*_{m}) is the (possibly empty) set of elements of `ARRAY` selected
to contribute to by the rules stated in
Section 7.4.5.

**Example**. `SUM_PREFIX( (/1,2,3,4,5/), SEGMENT= (/F,F,F,T,T/)
)` is [`1 3 6 3 9`].