FUNCTION PACK(ARRAY, MASK [, VECTOR])
LOGICAL MASK

Description

ARRAY is an array of any type. MASK is a logical array that is conformable with
ARRAY. VECTOR is optional. VECTOR and the result of the function are arrays of
rank one with the same type and type parameters as ARRAY.

If VECTOR is absent the size of the result is equal to the number of elements of
MASK that are true. If VECTOR is present then the size of the result is equal
to the size of VECTOR which must not be less than the number of elements of
MASK that are true.

Return value

The result is a one-dimensional array obtained by selecting those values of
ARRAY for which the corresponding element in MASK is true. VECTOR can be used
to provide default values for the result after the point at which packing
ceases.

Example

If M = then PACK(M,
MASK=M>2) gives [4, 5, 3, 6].

If also V=[0, 0, 0, 0, 0] then PACK(M, MASK=M>2, VECTOR=V) gives
[4, 5, 3, 6, 0].