next up previous contents index
Next: Rules for access to Up: Some Rules and Definitions Previous: Rules for distributed control   Contents   Index

Rules for distributed array constructors

There are several restrictions on distributed array constructor, which we will group together in:

Rule 3   The distributed array constructor expression

\mbox{\tt new } T \mbox{\tt [[}e_0\mbox{\tt , }\ldots
\mbox{\tt , }e_r\mbox{\tt , }\ldots
\mbox{\tt ]] on }p

can only appear in a context where the distribution group, $p$, is contained in the currently active process group. If $e_r$ is a (non-collapsed) range object, its process dimension must belong to the dimension set of $p$. No two range objects in ${e_0, \ldots,
e_r, \ldots}$ can be distributed over the same process dimension of $p$.

If the first part of this rule is not satisfied an hpjava.lang.GroupNotContainedException will be thrown. If the other parts of the rule are not satisfied an hpjava.lang.DimensionNotInGroupException will be thrown.

If the ``on $p$'' clause is omitted, we identify the distribution group, $p$, with the active process group, and the remaining conditions must still apply.

Bryan Carpenter 2003-04-15