Next: PERROR, Previous: PACK, Up: Intrinsic Procedures

### 8.190 `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