| Date: Wed, 19 Oct 2005 07:47:30 -0400 (EDT)
| From: Andre van Tonder <xxxxxx@now.het.brown.edu>
|
| On Tue, 18 Oct 2005, bear wrote:
|
| >> The bitwise operations operate on exact integers only. Should
| >> they live in the section on exact arithmetic? Should they carry
| >> ex prefixes? Or should they be extended to work on inexact
| >> integers as well?
| >
| > I would say that having them operate on exact integers in the
| > first place is questionable; These are operations on bit vectors,
| > not operations on numbers, and their semantics require
| > information (the vector length) which is not expressed by the
| > numbers. To say that they are defined on numbers is to confuse
| > the number with a particular representation.
|
| I share the discomfort with the bitwise operations. As far as I
| can tell, the SRFI does not portably specify the value of
| (BITWISE-NOT 42).
SRFI-60 "Integers as Bits" defines the bitwise operations for all
integers. And the reference implementation is written portably in
R5RS Scheme.
(BITWISE-NOT 42) ==> -43
| Are these operations truly going to be useful for portable
| programs?
Yes. In SLIB they are used for Byte/Number Conversions, Cyclic
Checksum, Fast Fourier Transform, Space-Filling Curves, Portable Image
Files, Random Numbers, and integer-sqrt.