This site is a static rendering of the Trac instance that was used by R7RS-WG1 for its work on R7RS-small (PDF), which was ratified in 2013. For more information, see Home.
Source for wiki BitwiseCowan version 2
author
cowan
comment
ipnr
66.108.19.185
name
BitwiseCowan
readonly
0
text
= Bitwise arithmetic procedures =
This proposal is based mainly on [http://srfi.schemers.org/srfi-33/srfi-33.html SRFI 33], with some changes and additions from [http://srfi.schemers.org/srfi-33/mail-archive/msg00023.html Olin's late revisions to SRFI 33], which were never consummated, and from [http://srfi.schemers.org/srfi-60/srfi-60.html SRFI 60]. Until a full spec is written, see the final column of the table in BitwiseComparison.
== Reasons for name changes ==
BitwiseCowan retains SRFI 33 names for procedures adopted from SRFI 33, with these exceptions:
* The name `bitwise-merge` is replaced by `bitwise-if`, the name used in SRFI 60 and R6RS.
* The name `extract-bit-field` (`bit-field-extract` in Olin's revisions) is replaced by `bit-field`, the name used in SRFI 60 and R6RS.
* The names `any-bits-set?` and `all-bits-set?` are replaced by `any-bit-set?` and `every-bit-set?`, in accordance with Olin's revisions.
* Because `copy-bit-field` means different things in SRFI 33 and SRFI 60, I have replaced SRFI 33's names `replace-bit-field` and `copy-bit-field` (`bit-field-replace` and `bit-field-copy` in Olin's revisions) with `bit-field-copy` and `bit-field-copy-same`.
The procedures that do not exist in SRFI 33 have their SRFI 60 names, with these exceptions.
* The procedure `booleans->integer` is a convenient way to specify a bitwise integer in the absence of datum syntax: it accepts an arbitrary number of boolean arguments and returns a non-negative integer. So I gave it the short name `bits`, roughly analogous to `list`, `string`, and `vector`.
* The names `rotate-bit-field` and `reverse-bit-field` are replaced by `bit-field-rotate` and `bit-field-reverse`, in parallel with Olin's revisions.
time
2012-04-12 11:50:29
version
2