Lahey/GNU Fortran

Next: , Previous: PACK, Up: Intrinsic Procedures


8.189 PARITY — Reduction with exclusive OR

Description:
Calculates the parity, i.e. the reduction using .XOR., of MASK along dimension DIM.
Standard:
Fortran 2008 and later
Class:
Transformational function
Syntax:

RESULT = PARITY(MASK[, DIM])

Arguments:

LOGICAL Shall be an array of type LOGICAL
DIM (Optional) shall be a scalar of type INTEGER with a value in the range from 1 to n, where n equals the rank of MASK.

Return value:
The result is of the same type as MASK.

If DIM is absent, a scalar with the parity of all elements in MASK is returned, i.e. true if an odd number of elements is .true. and false otherwise. If DIM is present, an array of rank n-1, where n equals the rank of ARRAY, and a shape similar to that of MASK with dimension DIM dropped is returned.

Example:
          PROGRAM test_sum
            LOGICAL :: x(2) = [ .true., .false. ]
            print *, PARITY(x) ! prints "T" (true).
          END PROGRAM