bitwise-bit-count - population count
LIBRARY
(import (rnrs))                     ;R6RS
(import (rnrs arithmetic bitwise))  ;R6RS
(import (rnrs arithmetic fixnums))  ;R6RS
SYNOPSIS
(bitwise-bit-count ei)
(fxbit-count fx)
DESCRIPTION
If the argument is non-negative, this procedure returns the number
of 1 bits in its two's complement representation. 
Otherwise it returns the result of the following computation:
(bitwise-not (bitwise-bit-count (bitwise-not ei)))
RETURN VALUES
Returns a single exact integer object. 
EXAMPLES
(bitwise-bit-count #b1)
          => 1
(bitwise-bit-count #b1000)
          => 1
(bitwise-bit-count #b1001)
          => 2
(bitwise-bit-count #b-1001)
          => -2
APPLICATION USAGE
This procedure is used to compute the Hamming distance. It's also used
in Hash Array Mapped Tries and other applications. 
COMPATIBILITY
This procedure is new in R6RS. SRFI-151 has the similar
procedure
bit-count. 
ERRORS
This procedure can raise exceptions with the following condition types:
- &assertion (R6RS)
- 
The wrong number of arguments was passed or an argument was outside its domain. 
For
fxbit-count
the argument must be a fixnum. 
SEE ALSO
bitwise-first-bit-set(3scm),
bitwise-length(3scm)
STANDARDS
R6RS
HISTORY
This procedure can be implemented with the
popcount
procedure in x86-64 processors. This instruction appeared even in some
early computers like the IBM Stretch (1961). 
AUTHORS
This page is part of the
scheme-manpages
project. 
It includes materials from the RnRS documents. 
More information can be found at
https://github.com/schemedoc/manpages/. 
Markup created by unroff 1.0sc,    March 04, 2023.