Email list hosting service & mailing list manager

Arithmetic issues Michael Sperber (18 Oct 2005 06:03 UTC)
Re: Arithmetic issues felix winkelmann (18 Oct 2005 07:00 UTC)
Re: Arithmetic issues John.Cowan (18 Oct 2005 17:36 UTC)
Re: Arithmetic issues Aubrey Jaffer (19 Oct 2005 18:13 UTC)
Re: Arithmetic issues John.Cowan (19 Oct 2005 18:21 UTC)
Re: Arithmetic issues bear (18 Oct 2005 19:52 UTC)
Re: Arithmetic issues John.Cowan (18 Oct 2005 21:12 UTC)
Re: Arithmetic issues bear (19 Oct 2005 02:13 UTC)
Re: Arithmetic issues John.Cowan (19 Oct 2005 02:19 UTC)
Re: Arithmetic issues bear (19 Oct 2005 03:23 UTC)
Re: Arithmetic issues Andre van Tonder (19 Oct 2005 11:47 UTC)
Re: Arithmetic issues Aubrey Jaffer (19 Oct 2005 14:14 UTC)
Re: Arithmetic issues Andre van Tonder (19 Oct 2005 16:00 UTC)

Re: Arithmetic issues Aubrey Jaffer 19 Oct 2005 14:14 UTC

 | 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.