EQV(3M) Last changed: 1-6-98
NAME
EQV - Computes logical equivalence
SYNOPSIS
EQV ([I=]i,[J=]j)
IMPLEMENTATION
UNICOS, UNICOS/mk, and IRIX systems
STANDARDS
Compiler extension to Fortran 90
DESCRIPTION
EQV is an elemental function for the CF90 compiler.
arg, i, and j can be of type Boolean, integer, real, logical, or Cray
pointer.
NOTES
EQV 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. When given two arguments of type logical, EQV
computes a logical equivalence and returns a logical result on UNICOS
and UNICOS/mk systems. On IRIX systems, they return an integer
result.
RETURN VALUES
When given two arguments of type Boolean, real, integer, or pointer,
EQV computes a bit-wise logical equivalence and returns a Boolean
result. No type conversion occurs.
The following tables show both the logical equivalence and bit-wise
logical equivalence:
-----------------------------------------------------------------
Logical Logical (Logical Variable 1) EQV
Variable 1 Variable 2 (Logical Variable 2)
-----------------------------------------------------------------
T T T
T F F
F T F
F F T
-----------------------------------------------------------------
--------------------------------------------------------------
Bit of Bit of (Bit of Variable 1) EQV
Variable 1 Variable 2 (Bit of Variable 2)
--------------------------------------------------------------
1 1 1
1 0 0
0 1 0
0 0 1
--------------------------------------------------------------
EXAMPLES
The following section of Fortran code shows the EQV function used with
two arguments of type logical:
LOGICAL L1, L2, L3
...
L3 = EQV(L1,L2)
The following section of Fortran code shows the EQV 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 = EQV(I1,I2)
--------------------------------------------------------------
| 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
--------------------------------------------------------------
I1 I2
-------------------------------
| 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 |
-------------------------------
I3
SEE ALSO
Intrinsic Procedures Reference Manual, publication SR-2138, for the
printed version of this man page.