/usr/lib/s9fes/help/bit0 is in scheme9 2010.11.13-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | S9 LIB (bit0 integer1 integer2) ==> integer | #f
(bit* integer1 integer2) ==> integer | #f
(bit*c integer1 integer2) ==> integer | #f
(bita integer1 integer2) ==> integer | #f
(bitc* integer1 integer2) ==> integer | #f
(bitb integer1 integer2) ==> integer | #f
(bitn= integer1 integer2) ==> integer | #f
(bit+ integer1 integer2) ==> integer | #f
(bitn+ integer1 integer2) ==> integer | #f
(bit= integer1 integer2) ==> integer | #f
(bitcb integer1 integer2) ==> integer | #f
(bit+c integer1 integer2) ==> integer | #f
(bitca integer1 integer2) ==> integer | #f
(bitc+ integer1 integer2) ==> integer | #f
(bitn* integer1 integer2) ==> integer | #f
(bit1 integer1 integer2) ==> integer | #f
(load-from-library "bitops.scm")
Abbreviations for small-magnitude bit operations (see BIT-OP).
The naming Scheme for these operators works as follows (the
operation is performed pairwise on the bits of the operands):
0 indicates that a bit is set to 0 (CLEAR).
1 indicates that a bit is set to 1 (SET).
* indicates a bitwise product (AND).
+ indicates a bitwise sum (OR).
= indicates bitwise equivalence (NXOR).
A indicates the first operand (IDENTITY).
B indicates the second operand (IDENTITY).
N indicates negation of the result (NOT).
C indicates a complement.
When before the operator: not(A) op B
When after the operator: A op not(B)
Table of operations:
OP | Description
-----------------------
BIT0 | CLEAR
BIT* | AND
BIT*C | AND with not(B)
BITA | A
BITC* | AND with not(A)
BITB | B
BITN= | XOR
BIT+ | OR
BITN+ | NOR
BIT= | NXOR, EQV
BITCB | not(B)
BIT+C | OR with not(B)
BITCA | not(A)
BITC+ | OR with not(A)
BITN* | NAND
BIT1 | SET
Logical NOT of X can be expressed with (BITCA x 0) or (BITCB 0 x).
The other operand will be ignored.
See the description of the BIT-OP operator for restrictions of
these procedures.
(bit0 123 456) ==> 0
(bit* 127 99) ==> 99
(bit+ 63 64) ==> 127
(bita 123 456) ==> 123
(bitb 123 456) ==> 456
|