POPPAR(3I) Last changed: 1-6-98
NAME
_poppar, POPPAR - Computes bit population parity
SYNOPSIS
C/C++:
#include <intrinsics.h>
int _poppar (long i);
Fortran:
POPPAR ([I=]i)
IMPLEMENTATION
C/C++: UNICOS and UNICOS/mk systems
Fortran: UNICOS, UNICOS/mk, and IRIX systems
STANDARDS
C/C++: Cray Research extension
Fortran: CF90 and MIPSpro 7 Fortran 90 compiler extension to Fortran
90
C/C++ DESCRIPTION
The _poppar function returns 0 if the argument i has an even number of
bits that are set to 1. This is the parity of the population count
for argument i.
FORTRAN DESCRIPTION
This intrinsic function computes the bit population parity and returns
an integer value. It accepts the following argument:
i A Boolean, integer, real, or Cray pointer value. On IRIX
systems, i cannot be declared as REAL(KIND=16).
POPPAR is an elemental function. The name of this intrinsic cannot be
passed as an argument.
NOTES
The bit representation of the logical data type is not consistent
among Cray Research systems. For further details, see your compiler's
reference manuals.
C/C++ NOTES
Because _poppar is an intrinsic function, no externally visible
library function is available for it. The compiler generates inline
code to produce the result.
FORTRAN RETURN VALUES
In Fortran, POPPAR returns the value 0 if an even number of bits in i
are set. It returns the value 1 if an odd number of bits are set in
i.
The return value is of type integer.
EXAMPLES
The following section of Fortran code shows the POPPAR function used
with an argument of type integer. The bit pattern of the argument and
the value of the result are also given. For simplicity, a 16-bit
object is used.
INTEGER I1, I2
...
I2 = POPPAR(I1)---------------------------------------------------------------
| 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 |
---------------------------------------------------------------
I1
The POPPAR function returns the value 0 to the integer variable I2.
SEE ALSO
A complete list of C/C++ intrinsic functions available on Cray
Research systems is in the Cray C/C++ Reference Manual, publication SR
-2179.
Intrinsic Procedures Reference Manual, publication SR-2138, for the
printed version of this man page.