COMPL(3I) Last changed: 1-6-98
NAMECOMPL - Computes complement
SYNOPSISCOMPL ([I=]i)
IMPLEMENTATION
UNICOS, UNICOS/mk, and IRIX systems
STANDARDS
CF90 and MIPSpro 7 Fortran 90 compiler extension to Fortran 90
DESCRIPTION
The COMPL intrinsic function computes the complement of i. It accepts
the following argument:
i A Boolean, integer, real, logical, or Cray pointer value.
COMPL is an elemental function. The name of this intrinsic cannot be
passed as an argument.
The following tables show both the logical complement and the bit-wise
logical complement:
------------------------------------
Logical COMPL
Variable (Logical Variable)
------------------------------------
T F
F T
------------------------------------
-----------------------------------
Bit of COMPL
Variable (Bit of Variable)
-----------------------------------
1 0
0 1
-----------------------------------
NOTESCOMPL is outmoded. Refer to the Fortran Language Reference Manual,
Volume 2, publication SR-3903, for information about outmoded features
and their preferred standard alternatives.
CAUTIONS
Unexpected results can occur when Boolean functions are declared
external and then used with logical arguments. On UNICOS and
UNICOS/mk systems, the external Boolean functions always treat their
arguments as type Boolean and return a Boolean result. On IRIX
systems, the result is an integer.
RETURN VALUES
When given an argument of type logical, COMPL computes a logical
complement and returns a logical result.
On UNICOS and UNICOS/mk systems, with an argument of type integer,
real, Boolean, or Cray pointer, COMPL computes a bit-wise logical
complement and returns a Boolean result. No type conversion occurs.
On IRIX systems, with an argument of type integer, real, Boolean, or
Cray Pointer, COMPL computes a bit-wise logical complement and returns
an integer result.
EXAMPLES
The following section of Fortran code shows the COMPL function used
with an argument of type logical:
LOGICAL L1, L2
...
L2 = COMPL(L1)
The following section of Fortran code shows the COMPL function used
with an argument of type integer. The bit patterns of the argument
and result are also given. For clarity, only the rightmost 8 bits are
shown.
INTEGER I1, I2
I1 = 240
...
I2 = COMPL(I1)-------------------------------
| 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
-------------------------------
I1
-------------------------------
| 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
-------------------------------
I2
SEE ALSO
Intrinsic Procedures Reference Manual, publication SR-2138, for the
printed version of this man page.