### 8.112 `IALL` — Bitwise AND of array elements

Description:
  Reduces with bitwise AND the elements of ARRAY along dimension DIM if the corresponding element in MASK is `TRUE`.
Standard:
  Fortran 2008 and later
Class:
  Transformational function
Syntax:

  `RESULT = IALL(ARRAY[, MASK])`
  `RESULT = IALL(ARRAY, DIM[, MASK])`

Arguments:

  ARRAY | Shall be an array of type `INTEGER`
  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 ARRAY.
  MASK | (Optional) shall be of type `LOGICAL` and either be a scalar or an array of the same shape as ARRAY.

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

  If DIM is absent, a scalar with the bitwise ALL of all elements in ARRAY is returned. Otherwise, an array of rank n-1, where n equals the rank of ARRAY, and a shape similar to that of ARRAY with dimension DIM dropped is returned.

Example:

                PROGRAM test_iall
                  INTEGER(1) :: a(2)

                  a(1) = b'00100100'
                  a(2) = b'01101010'

                  ! prints 00100000
                  PRINT '(b8.8)', IALL(a)
                END PROGRAM

See also:
  IANY, IPARITY, IAND