### 8.15 `AND` — Bitwise logical AND

Description:
  Bitwise logical `AND`.

  This intrinsic routine is provided for backwards compatibility with GNU Fortran 77. For integer arguments, programmers should consider the use of the IAND intrinsic defined by the Fortran standard.

Standard:
  GNU extension
Class:
  Function
Syntax:
  `RESULT = AND(I, J)`
Arguments:

  I | The type shall be either a scalar `INTEGER` type or a scalar `LOGICAL` type.
  J | The type shall be the same as the type of I.

Return value:
  The return type is either a scalar `INTEGER` or a scalar `LOGICAL`. If the kind type parameters differ, then the smaller kind type is implicitly converted to larger kind, and the return has the larger kind.
Example:

                PROGRAM test_and
                  LOGICAL :: T = .TRUE., F = .FALSE.
                  INTEGER :: a, b
                  DATA a / Z'F' /, b / Z'3' /

                  WRITE (*,*) AND(T, T), AND(T, F), AND(F, T), AND(F, F)
                  WRITE (*,*) AND(a, b)
                END PROGRAM

See also:
  Fortran 95 elemental function: IAND