Next: Array Combining Scatter
Up: Library Procedures
Previous: Bit Manipulation Functions
HPF adds additional array reduction functions that operate in the same
manner as the Fortran 90 SUM and ANY intrinsic functions.
The new reduction functions are IALL, IANY, IPARITY,
and PARITY, which correspond to the commutative, associative
binary operations IAND, IOR, IEOR, and .NEQV.
respectively.
In the specifications of these functions, the terms ``XXX
reduction'' are used, where XXX is one of the binary operators
above. These are defined by means of an example. The IAND
reduction of all the elements of array for which the
corresponding element of mask is true is the scalar integer
computed in result by
result = IAND_IDENTITY_ELEMENT
DO i_1 = LBOUND(array,1), UBOUND(array,1)
...
DO i_n = LBOUND(array,n), UBOUND(array,n)
IF ( mask(i_1,i_2,...,i_n) ) &
result = IAND( result, array(i_1,i_2,...,i_n) )
END DO
...
END DO
Here, is the rank of array and
IAND_IDENTITY_ELEMENT is the integer which has all bits equal to one.
(The interpretation of an integer as a sequence of bits is given in
Section 13.5.7 of the Fortran 90 standard.)
The other three reductions are similarly defined. The identity elements
for IOR and IEOR are zero. The identity element for PARITY is
.FALSE.
paula@erc.msstate.edu
Thu Dec 8 16:17:11 CST 1994