** Next:** Effect and Restrictions
** Up:** The Java Adlib API
** Previous:** Effect and Restrictions
** Contents**

A `sum()` method is a reduction operation for adding together all elements
of a distributed array. It has two prototypes
and
where the variable runs over all primitive types other than boolean,
and the notation ` #`

means a multiarray of arbitrary rank,
with elements of type .
The second form takes an extra boolean array aligned with the source array
and ignores all elements of `source` for which the corresponding element of
`mask` is false.
The `sum` method is implemented by a schedule object with HPspmd
class `Sum`.
Each primitive types other than boolean has its own schedule class.
This class has two constructors with arguments identical to the method above,
and has one public method with no arguments called `execute()`,
which executes the schedule.
The effective public interface of the `Sum` class is
The source array is `source`.
It will have elements of type . The mask array is `mask`.

**Subsections**

Bryan Carpenter
2004-06-09