and(3M)

AND - Computes logical product

Showing IRIX 6.5. First release of IRIX 6.5.

NAME
     AND - Computes logical product

SYNOPSIS
     AND ([I=]i,[J=]j)

IMPLEMENTATION
     UNICOS, UNICOS/mk, and IRIX systems

STANDARDS
     Compiler extension to Fortran 90

DESCRIPTION
     AND is an elemental function for the CF90 compiler.  arg, i, or j can
     be of type Boolean, integer, real, or Cray pointer.  The i and j
     arguments can also be of type logical.

NOTES
     AND is an outmoded routine for the CF90 compiler.  Refer to the
     Fortran Language Reference Manual, Volume 3, publication SR-3905, for
     information about outmoded features and their preferred standard
     alternatives.  The name of this intrinsic cannot be passed as an
     argument.

CAUTIONS
     Unexpected results can occur when Boolean functions are declared
     external and then used with logical arguments.  The external Boolean
     functions always treat their arguments as type Boolean and return a
     Boolean result on UNICOS and UNICOS/mk systems.  On IRIX systems, they
     return an integer result.

RETURN VALUES
     When given two arguments of type logical, AND computes a logical
     product and returns a logical result.

     When given two arguments of type Boolean, integer, real, or pointer,
     AND computes a bit-wise logical product and returns a Boolean result.
     No type conversion occurs.

     The following tables show both the logical product and bit-wise
     logical product:

     ---------------------------------------------------------------------
        Logical        Logical             (Logical Variable 1) AND
      Variable 1     Variable 2              (Logical Variable 2)
     ---------------------------------------------------------------------
           T              T                           T
           T              F                           F
           F              T                           F
           F              F                           F
     ---------------------------------------------------------------------

     ------------------------------------------------------------------
        Bit of        Bit of            (Bit of Variable 1) AND
      Variable 1    Variable 2            (Bit of Variable 2)
     ------------------------------------------------------------------
          1             1                          1
          1             0                          0
          0             1                          0
          0             0                          0
     ------------------------------------------------------------------

EXAMPLES
     The following section of Fortran code shows the AND function used with
     two arguments of type logical:

          LOGICAL L1, L2, L3
          ...
          L3 = AND(L1,L2)

     The following section of Fortran code shows the AND function used with
     two arguments of type integer.  The bit patterns of the arguments and
     result are also given.  For clarity, only the rightmost 8 bits are
     shown.

      INTEGER I1, I2, I3
      I1 = 12
      I2 = 10
      ...
      I3 = AND(I1,I2)
       -------------------------------     -------------------------------
      | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 |   | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
       -------------------------------     -------------------------------
                        I1                               I2

                        -------------------------------
                       | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
                        -------------------------------
                                        I3

SEE ALSO
     Intrinsic Procedures Reference Manual, publication SR-2138, for the
     printed version of this man page.