IALL (The GNU Fortran Compiler) (original) (raw)


8.136 IALL — Bitwise AND of array elements

Synopsis:

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

Description:

Reduces with bitwise AND the elements of ARRAY along dimension DIMif the corresponding element in MASK is TRUE.

Class:

Transformational function

Arguments:

ARRAY Shall be an array of type INTEGER or UNSIGNED
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 LOGICALand 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 inARRAY 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

Standard:

Fortran 2008 and later, extension for UNSIGNED (see Unsigned integers)

See also:

IANY — Bitwise OR of array elements,
IPARITY — Bitwise XOR of array elements,
IAND — Bitwise logical and