mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-18 21:29:19 +02:00
replacing (srfi 142) with (srfi 151)
This commit is contained in:
parent
ab57bb7681
commit
6d3ae7a28e
33 changed files with 95 additions and 64 deletions
12
Makefile
12
Makefile
|
@ -36,7 +36,7 @@ EXTRA_COMPILED_LIBS ?=
|
|||
COMPILED_LIBS = $(CHIBI_COMPILED_LIBS) $(CHIBI_IO_COMPILED_LIBS) \
|
||||
$(CHIBI_OPT_COMPILED_LIBS) $(CHIBI_CRYPTO_COMPILED_LIBS) \
|
||||
$(EXTRA_COMPILED_LIBS) \
|
||||
lib/srfi/18/threads$(SO) lib/srfi/27/rand$(SO) lib/srfi/142/bit$(SO) \
|
||||
lib/srfi/18/threads$(SO) lib/srfi/27/rand$(SO) lib/srfi/151/bit$(SO) \
|
||||
lib/srfi/39/param$(SO) lib/srfi/69/hash$(SO) lib/srfi/95/qsort$(SO) \
|
||||
lib/srfi/98/env$(SO) lib/srfi/144/math$(SO) lib/scheme/time$(SO)
|
||||
|
||||
|
@ -284,7 +284,7 @@ install-base: all
|
|||
$(MKDIR) $(DESTDIR)$(MODDIR)/chibi/char-set $(DESTDIR)$(MODDIR)/chibi/crypto $(DESTDIR)$(MODDIR)/chibi/io $(DESTDIR)$(MODDIR)/chibi/iset $(DESTDIR)$(MODDIR)/chibi/loop $(DESTDIR)$(MODDIR)/chibi/match $(DESTDIR)$(MODDIR)/chibi/math $(DESTDIR)$(MODDIR)/chibi/monad $(DESTDIR)$(MODDIR)/chibi/net $(DESTDIR)$(MODDIR)/chibi/optimize $(DESTDIR)$(MODDIR)/chibi/parse $(DESTDIR)$(MODDIR)/chibi/regexp $(DESTDIR)$(MODDIR)/chibi/show $(DESTDIR)$(MODDIR)/chibi/snow $(DESTDIR)$(MODDIR)/chibi/term
|
||||
$(MKDIR) $(DESTDIR)$(MODDIR)/scheme/char
|
||||
$(MKDIR) $(DESTDIR)$(MODDIR)/scheme/time
|
||||
$(MKDIR) $(DESTDIR)$(MODDIR)/srfi/1 $(DESTDIR)$(MODDIR)/srfi/18 $(DESTDIR)$(MODDIR)/srfi/27 $(DESTDIR)$(MODDIR)/srfi/142 $(DESTDIR)$(MODDIR)/srfi/39 $(DESTDIR)$(MODDIR)/srfi/69 $(DESTDIR)$(MODDIR)/srfi/95 $(DESTDIR)$(MODDIR)/srfi/99 $(DESTDIR)$(MODDIR)/srfi/99/records $(DESTDIR)$(MODDIR)/srfi/121 $(DESTDIR)$(MODDIR)/srfi/125 $(DESTDIR)$(MODDIR)/srfi/128 $(DESTDIR)$(MODDIR)/srfi/129 $(DESTDIR)$(MODDIR)/srfi/132 $(DESTDIR)$(MODDIR)/srfi/133 $(DESTDIR)$(MODDIR)/srfi/143 $(DESTDIR)$(MODDIR)/srfi/144
|
||||
$(MKDIR) $(DESTDIR)$(MODDIR)/srfi/1 $(DESTDIR)$(MODDIR)/srfi/18 $(DESTDIR)$(MODDIR)/srfi/27 $(DESTDIR)$(MODDIR)/srfi/151 $(DESTDIR)$(MODDIR)/srfi/39 $(DESTDIR)$(MODDIR)/srfi/69 $(DESTDIR)$(MODDIR)/srfi/95 $(DESTDIR)$(MODDIR)/srfi/99 $(DESTDIR)$(MODDIR)/srfi/99/records $(DESTDIR)$(MODDIR)/srfi/121 $(DESTDIR)$(MODDIR)/srfi/125 $(DESTDIR)$(MODDIR)/srfi/128 $(DESTDIR)$(MODDIR)/srfi/129 $(DESTDIR)$(MODDIR)/srfi/132 $(DESTDIR)$(MODDIR)/srfi/133 $(DESTDIR)$(MODDIR)/srfi/143 $(DESTDIR)$(MODDIR)/srfi/144
|
||||
$(INSTALL) -m0644 $(META_FILES) $(DESTDIR)$(MODDIR)/
|
||||
$(INSTALL) -m0644 lib/*.scm $(DESTDIR)$(MODDIR)/
|
||||
$(INSTALL) -m0644 lib/chibi/*.sld lib/chibi/*.scm $(DESTDIR)$(MODDIR)/chibi/
|
||||
|
@ -321,14 +321,14 @@ install-base: all
|
|||
$(INSTALL) -m0644 lib/srfi/129/*.scm $(DESTDIR)$(MODDIR)/srfi/129/
|
||||
$(INSTALL) -m0644 lib/srfi/132/*.scm $(DESTDIR)$(MODDIR)/srfi/132/
|
||||
$(INSTALL) -m0644 lib/srfi/133/*.scm $(DESTDIR)$(MODDIR)/srfi/133/
|
||||
$(INSTALL) -m0644 lib/srfi/142/*.scm $(DESTDIR)$(MODDIR)/srfi/142/
|
||||
$(INSTALL) -m0644 lib/srfi/143/*.scm $(DESTDIR)$(MODDIR)/srfi/143/
|
||||
$(INSTALL) -m0644 lib/srfi/144/*.scm $(DESTDIR)$(MODDIR)/srfi/144/
|
||||
$(INSTALL) -m0644 lib/srfi/151/*.scm $(DESTDIR)$(MODDIR)/srfi/151/
|
||||
$(MKDIR) $(DESTDIR)$(BINMODDIR)/chibi/crypto/
|
||||
$(MKDIR) $(DESTDIR)$(BINMODDIR)/chibi/io/
|
||||
$(MKDIR) $(DESTDIR)$(BINMODDIR)/chibi/optimize/
|
||||
$(MKDIR) $(DESTDIR)$(BINMODDIR)/scheme/
|
||||
$(MKDIR) $(DESTDIR)$(BINMODDIR)/srfi/18 $(DESTDIR)$(BINMODDIR)/srfi/27 $(DESTDIR)$(BINMODDIR)/srfi/142 $(DESTDIR)$(BINMODDIR)/srfi/39 $(DESTDIR)$(BINMODDIR)/srfi/69 $(DESTDIR)$(BINMODDIR)/srfi/95 $(DESTDIR)$(BINMODDIR)/srfi/98 $(DESTDIR)$(BINMODDIR)/srfi/144
|
||||
$(MKDIR) $(DESTDIR)$(BINMODDIR)/srfi/18 $(DESTDIR)$(BINMODDIR)/srfi/27 $(DESTDIR)$(BINMODDIR)/srfi/151 $(DESTDIR)$(BINMODDIR)/srfi/39 $(DESTDIR)$(BINMODDIR)/srfi/69 $(DESTDIR)$(BINMODDIR)/srfi/95 $(DESTDIR)$(BINMODDIR)/srfi/98 $(DESTDIR)$(BINMODDIR)/srfi/144
|
||||
$(INSTALL_EXE) -m0755 $(CHIBI_COMPILED_LIBS) $(DESTDIR)$(BINMODDIR)/chibi/
|
||||
$(INSTALL_EXE) -m0755 $(CHIBI_CRYPTO_COMPILED_LIBS) $(DESTDIR)$(BINMODDIR)/chibi/crypto/
|
||||
$(INSTALL_EXE) -m0755 $(CHIBI_IO_COMPILED_LIBS) $(DESTDIR)$(BINMODDIR)/chibi/io/
|
||||
|
@ -340,8 +340,8 @@ install-base: all
|
|||
$(INSTALL_EXE) -m0755 lib/srfi/69/hash$(SO) $(DESTDIR)$(BINMODDIR)/srfi/69
|
||||
$(INSTALL_EXE) -m0755 lib/srfi/95/qsort$(SO) $(DESTDIR)$(BINMODDIR)/srfi/95
|
||||
$(INSTALL_EXE) -m0755 lib/srfi/98/env$(SO) $(DESTDIR)$(BINMODDIR)/srfi/98
|
||||
$(INSTALL_EXE) -m0755 lib/srfi/142/bit$(SO) $(DESTDIR)$(BINMODDIR)/srfi/142
|
||||
$(INSTALL_EXE) -m0755 lib/srfi/144/math$(SO) $(DESTDIR)$(BINMODDIR)/srfi/144
|
||||
$(INSTALL_EXE) -m0755 lib/srfi/151/bit$(SO) $(DESTDIR)$(BINMODDIR)/srfi/151
|
||||
$(MKDIR) $(DESTDIR)$(INCDIR)
|
||||
$(INSTALL) -m0644 $(INCLUDES) $(DESTDIR)$(INCDIR)/
|
||||
$(MKDIR) $(DESTDIR)$(LIBDIR)
|
||||
|
@ -414,7 +414,7 @@ uninstall:
|
|||
-$(RMDIR) $(DESTDIR)$(MODDIR)/srfi/98 $(DESTDIR)$(BINMODDIR)/srfi/98
|
||||
-$(RMDIR) $(DESTDIR)$(MODDIR)/srfi/99/records $(DESTDIR)$(BINMODDIR)/srfi/99/records
|
||||
-$(RMDIR) $(DESTDIR)$(MODDIR)/srfi/99 $(DESTDIR)$(BINMODDIR)/srfi/99
|
||||
-$(RMDIR) $(DESTDIR)$(MODDIR)/srfi/142 $(DESTDIR)$(BINMODDIR)/srfi/142
|
||||
-$(RMDIR) $(DESTDIR)$(MODDIR)/srfi/151 $(DESTDIR)$(BINMODDIR)/srfi/151
|
||||
-$(RMDIR) $(DESTDIR)$(MODDIR)/srfi/144 $(DESTDIR)$(BINMODDIR)/srfi/144
|
||||
-$(RMDIR) $(DESTDIR)$(MODDIR)/srfi $(DESTDIR)$(BINMODDIR)/srfi
|
||||
-$(RMDIR) $(DESTDIR)$(MODDIR) $(DESTDIR)$(BINMODDIR)
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
(import (scheme base)
|
||||
(chibi string))
|
||||
(cond-expand
|
||||
((library (srfi 142))
|
||||
(import (srfi 142)))
|
||||
((library (srfi 151))
|
||||
(import (srfi 151)))
|
||||
((library (srfi 33))
|
||||
(import (srfi 33))
|
||||
(begin
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
(define-library (chibi binary-record)
|
||||
(import (scheme base) (srfi 1))
|
||||
(cond-expand
|
||||
((library (srfi 142)) (import (srfi 142)))
|
||||
((library (srfi 151)) (import (srfi 151)))
|
||||
((library (srfi 33)) (import (srfi 33)))
|
||||
(else (import (srfi 60))))
|
||||
(cond-expand
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
bytevector->hex-string hex-string->bytevector)
|
||||
(import (scheme base))
|
||||
(cond-expand
|
||||
((library (srfi 142)) (import (srfi 142)))
|
||||
((library (srfi 151)) (import (srfi 151)))
|
||||
((library (srfi 33)) (import (srfi 33)))
|
||||
(else (import (srfi 60))))
|
||||
(include "bytevector.scm"))
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
(define-library (chibi crypto md5)
|
||||
(import (scheme base) (chibi bytevector))
|
||||
(cond-expand
|
||||
((library (srfi 142)) (import (srfi 142)))
|
||||
((library (srfi 151)) (import (srfi 151)))
|
||||
((library (srfi 33)) (import (srfi 33)))
|
||||
(else (import (srfi 60))))
|
||||
(export md5)
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
(import (scheme base) (srfi 27)
|
||||
(chibi bytevector) (chibi math prime))
|
||||
(cond-expand
|
||||
((library (srfi 142)) (import (srfi 142)))
|
||||
((library (srfi 151)) (import (srfi 151)))
|
||||
((library (srfi 33)) (import (srfi 33)))
|
||||
(else (import (srfi 60))))
|
||||
(export make-rsa-key rsa-key-gen rsa-key-gen-from-primes rsa-pub-key
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
(include-shared "crypto"))
|
||||
(else
|
||||
(cond-expand
|
||||
((library (srfi 142)) (import (srfi 142)))
|
||||
((library (srfi 151)) (import (srfi 151)))
|
||||
((library (srfi 33)) (import (srfi 33)))
|
||||
(else (import (srfi 60))))
|
||||
(import (chibi bytevector))
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
(import (scheme base) (scheme file) (scheme write)
|
||||
(chibi filesystem) (chibi test))
|
||||
(cond-expand
|
||||
((library (srfi 142)) (import (srfi 142)))
|
||||
((library (srfi 151)) (import (srfi 151)))
|
||||
((library (srfi 33)) (import (srfi 33)))
|
||||
(else (import (srfi 60))))
|
||||
(begin
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
(chibi (import (chibi) (srfi 9)))
|
||||
(else (import (scheme base))))
|
||||
(cond-expand
|
||||
((library (srfi 142)) (import (srfi 142)))
|
||||
((library (srfi 151)) (import (srfi 151)))
|
||||
((library (srfi 33)) (import (srfi 33)))
|
||||
(else (import (srfi 60))))
|
||||
(include "base.scm")
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
(else (import (scheme base))))
|
||||
(import (chibi iset base) (chibi iset iterators))
|
||||
(cond-expand
|
||||
((library (srfi 142)) (import (srfi 142)))
|
||||
((library (srfi 151)) (import (srfi 151)))
|
||||
((library (srfi 33)) (import (srfi 33)))
|
||||
(else (import (srfi 60))))
|
||||
(include "constructors.scm")
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
(else (import (scheme base))))
|
||||
(import (chibi iset base))
|
||||
(cond-expand
|
||||
((library (srfi 142)) (import (srfi 142)))
|
||||
((library (srfi 151)) (import (srfi 151)))
|
||||
((library (srfi 33)) (import (srfi 33)))
|
||||
(else (import (srfi 60))))
|
||||
(include "iterators.scm")
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
(chibi iset iterators)
|
||||
(chibi iset constructors))
|
||||
(cond-expand
|
||||
((library (srfi 142)) (import (srfi 142)))
|
||||
((library (srfi 151)) (import (srfi 151)))
|
||||
((library (srfi 33)) (import (srfi 33)))
|
||||
(else
|
||||
(import (srfi 60))
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
(define-library (chibi math prime)
|
||||
(import (scheme base) (scheme inexact) (srfi 27))
|
||||
(cond-expand
|
||||
((library (srfi 142)) (import (srfi 142)))
|
||||
((library (srfi 151)) (import (srfi 151)))
|
||||
((library (srfi 33)) (import (srfi 33)))
|
||||
(else (import (srfi 60))))
|
||||
(export prime? nth-prime prime-above prime-below factor perfect?
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
sockaddr addrinfo)
|
||||
(import (chibi) (chibi filesystem))
|
||||
(cond-expand
|
||||
((library (srfi 142)) (import (srfi 142)))
|
||||
((library (srfi 151)) (import (srfi 151)))
|
||||
((library (srfi 33)) (import (srfi 33)))
|
||||
(else (import (srfi 60))))
|
||||
(include-shared "net")
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
(import (chibi) (chibi io) (chibi net) (chibi string) (chibi uri)
|
||||
(chibi process) (chibi time) (chibi pathname) (chibi filesystem)
|
||||
(chibi temp-file)
|
||||
(srfi 69) (srfi 142))
|
||||
(srfi 69) (srfi 151))
|
||||
(export line-handler command-handler parse-command
|
||||
get-host file-mime-type)
|
||||
(include "server-util.scm"))
|
||||
|
|
|
@ -18,6 +18,6 @@
|
|||
process->string process->sexp process->string-list
|
||||
process->output+error process->output+error+status)
|
||||
(import (chibi) (chibi io) (chibi string) (chibi filesystem))
|
||||
(cond-expand (threads (import (srfi 18) (srfi 142))) (else #f))
|
||||
(cond-expand (threads (import (srfi 18) (srfi 151))) (else #f))
|
||||
(include-shared "process")
|
||||
(include "process.scm"))
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
quoted-printable-decode-bytevector)
|
||||
(import (scheme base))
|
||||
(cond-expand
|
||||
((library (srfi 142)) (import (srfi 142)))
|
||||
((library (srfi 151)) (import (srfi 151)))
|
||||
((library (srfi 33)) (import (srfi 33)))
|
||||
(else (import (srfi 60))))
|
||||
(cond-expand
|
||||
|
|
|
@ -57,7 +57,7 @@
|
|||
(define %char-set:iso-control
|
||||
(char-set-intersection char-set:ascii char-set:iso-control)))))
|
||||
(cond-expand
|
||||
((library (srfi 142)) (import (srfi 142)))
|
||||
((library (srfi 151)) (import (srfi 151)))
|
||||
((library (srfi 33)) (import (srfi 33)))
|
||||
(else (import (srfi 60))))
|
||||
(import (chibi char-set boundary))
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
(srfi 1)
|
||||
(chibi string) (chibi regexp))
|
||||
(cond-expand
|
||||
((library (srfi 142)) (import (srfi 142)))
|
||||
((library (srfi 151)) (import (srfi 151)))
|
||||
((library (srfi 33)) (import (srfi 33)))
|
||||
(else (import (srfi 60))))
|
||||
(include "pcre.scm"))
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
(chibi uri)
|
||||
(chibi zlib))
|
||||
(cond-expand
|
||||
((library (srfi 142)) (import (srfi 142)))
|
||||
((library (srfi 151)) (import (srfi 151)))
|
||||
((library (srfi 33)) (import (srfi 33)))
|
||||
(else (import (srfi 60))))
|
||||
(include "commands.scm"))
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
(chibi sxml)
|
||||
(chibi tar))
|
||||
(cond-expand
|
||||
((library (srfi 142)) (import (srfi 142)))
|
||||
((library (srfi 151)) (import (srfi 151)))
|
||||
((library (srfi 33)) (import (srfi 33)))
|
||||
(else (import (srfi 60))))
|
||||
(cond-expand
|
||||
|
|
|
@ -3,6 +3,6 @@
|
|||
(export stty with-stty with-raw-io
|
||||
get-terminal-width get-terminal-dimensions
|
||||
TCSANOW TCSADRAIN TCSAFLUSH)
|
||||
(import (chibi) (srfi 69) (srfi 142))
|
||||
(import (chibi) (srfi 69) (srfi 151))
|
||||
(include-shared "stty")
|
||||
(include "stty.scm"))
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
(chibi string) (chibi binary-record) (chibi pathname)
|
||||
(chibi filesystem))
|
||||
(cond-expand
|
||||
((library (srfi 142)) (import (srfi 142)))
|
||||
((library (srfi 151)) (import (srfi 151)))
|
||||
((library (srfi 33)) (import (srfi 33)))
|
||||
(else (import (srfi 60))))
|
||||
(cond-expand
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
(import (scheme base) (scheme time)
|
||||
(chibi filesystem) (chibi pathname))
|
||||
(cond-expand
|
||||
((library (srfi 142)) (import (srfi 142)))
|
||||
((library (srfi 151)) (import (srfi 151)))
|
||||
((library (srfi 33)) (import (srfi 33)))
|
||||
(else (import (srfi 60))))
|
||||
(cond-expand
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
make-keymap make-standard-keymap)
|
||||
(import (scheme base) (scheme char) (scheme write))
|
||||
(cond-expand
|
||||
((library (srfi 142)) (import (srfi 142)))
|
||||
((library (srfi 151)) (import (srfi 151)))
|
||||
((library (srfi 33)) (import (srfi 33)))
|
||||
(else (import (srfi 60))))
|
||||
(cond-expand
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
(define-library (srfi 128)
|
||||
(import (scheme base) (scheme char)
|
||||
(srfi 27) (srfi 69) (srfi 95) (srfi 98) (srfi 142)
|
||||
(srfi 27) (srfi 69) (srfi 95) (srfi 98) (srfi 151)
|
||||
(only (chibi) fixnum? er-macro-transformer))
|
||||
(export
|
||||
;; Predicates:
|
||||
|
|
|
@ -19,6 +19,13 @@
|
|||
bits bit-swap
|
||||
bitwise-fold bitwise-for-each bitwise-unfold
|
||||
make-bitwise-generator)
|
||||
(import (chibi))
|
||||
(include-shared "142/bit")
|
||||
(include "142/bitwise.scm"))
|
||||
(import (chibi)
|
||||
(rename (srfi 151)
|
||||
(bitwise-if srfi-151:bitwise-if)
|
||||
(bits->list integer->list)
|
||||
(list->bits list->integer)
|
||||
(bits->vector integer->vector)
|
||||
(vector->bits vector->integer)))
|
||||
(begin
|
||||
(define (bitwise-if mask n m)
|
||||
(srfi-151:bitwise-if mask m n))))
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
(define-library (srfi 143)
|
||||
(import (scheme base)
|
||||
(srfi 141)
|
||||
(rename (srfi 142)
|
||||
(rename (srfi 151)
|
||||
(bitwise-not fxnot)
|
||||
(bitwise-and fxand)
|
||||
(bitwise-ior fxior)
|
||||
|
|
24
lib/srfi/151.sld
Normal file
24
lib/srfi/151.sld
Normal file
|
@ -0,0 +1,24 @@
|
|||
|
||||
(define-library (srfi 151)
|
||||
(export bitwise-not
|
||||
bitwise-and bitwise-ior
|
||||
bitwise-xor bitwise-eqv
|
||||
bitwise-nand bitwise-nor
|
||||
bitwise-andc1 bitwise-andc2
|
||||
bitwise-orc1 bitwise-orc2
|
||||
arithmetic-shift bit-count integer-length
|
||||
bitwise-if
|
||||
bit-set? any-bit-set? every-bit-set?
|
||||
first-set-bit
|
||||
bit-field bit-field-any? bit-field-every?
|
||||
bit-field-clear bit-field-set
|
||||
bit-field-replace bit-field-replace-same
|
||||
bit-field-rotate bit-field-reverse
|
||||
copy-bit bits->list list->bits
|
||||
bits->vector vector->bits
|
||||
bits bit-swap
|
||||
bitwise-fold bitwise-for-each bitwise-unfold
|
||||
make-bitwise-generator)
|
||||
(import (chibi))
|
||||
(include-shared "151/bit")
|
||||
(include "151/bitwise.scm"))
|
|
@ -44,7 +44,7 @@
|
|||
(define (range start end)
|
||||
(arithmetic-shift (mask (- end start)) start))
|
||||
|
||||
(define (bitwise-if mask n m)
|
||||
(define (bitwise-if mask m n)
|
||||
(bit-ior (bit-and mask n) (bit-and (bitwise-not mask) m)))
|
||||
|
||||
(define (bit-field n start end)
|
||||
|
@ -74,7 +74,7 @@
|
|||
(bit-field-replace-same dst (arithmetic-shift src start) start end))
|
||||
|
||||
(define (bit-field-replace-same dst src start end)
|
||||
(bitwise-if (range start end) src dst))
|
||||
(bitwise-if (range start end) dst src))
|
||||
|
||||
(define (bit-field-rotate n count start end)
|
||||
(let* ((width (- end start))
|
||||
|
@ -98,12 +98,12 @@
|
|||
|
||||
(define (bit-field-reverse i start end)
|
||||
(bitwise-if (range start end)
|
||||
i
|
||||
(arithmetic-shift (bit-reverse (bit-field i start end)
|
||||
(- end start))
|
||||
start)
|
||||
i))
|
||||
start)))
|
||||
|
||||
(define (vector->integer vec)
|
||||
(define (vector->bits vec)
|
||||
(let ((len (vector-length vec)))
|
||||
(let lp ((i 0) (exp 1) (res 0))
|
||||
(cond
|
||||
|
@ -111,7 +111,7 @@
|
|||
((vector-ref vec i) (lp (+ i 1) (* exp 2) (+ res exp)))
|
||||
(else (lp (+ i 1) (* exp 2) res))))))
|
||||
|
||||
(define (integer->vector n . o)
|
||||
(define (bits->vector n . o)
|
||||
(let* ((len (if (pair? o) (car o) (integer-length n)))
|
||||
(res (make-vector len #f)))
|
||||
(let lp ((n n) (i 0))
|
||||
|
@ -123,13 +123,13 @@
|
|||
(vector-set! res i #t))
|
||||
(lp (arithmetic-shift n -1) (+ i 1)))))))
|
||||
|
||||
(define (list->integer ls)
|
||||
(vector->integer (list->vector ls)))
|
||||
(define (list->bits ls)
|
||||
(vector->bits (list->vector ls)))
|
||||
|
||||
(define (integer->list n . o)
|
||||
(vector->list (apply integer->vector n o)))
|
||||
(define (bits->list n . o)
|
||||
(vector->list (apply bits->vector n o)))
|
||||
|
||||
(define (bits . o) (list->integer o))
|
||||
(define (bits . o) (list->bits o))
|
||||
|
||||
(define (bitwise-fold kons knil i)
|
||||
(let lp ((i i) (acc knil))
|
|
@ -1,9 +1,9 @@
|
|||
(define-library (srfi 142 test)
|
||||
(define-library (srfi 151 test)
|
||||
(export run-tests)
|
||||
(import (scheme base) (srfi 142) (chibi test))
|
||||
(import (scheme base) (srfi 151) (chibi test))
|
||||
(begin
|
||||
(define (run-tests)
|
||||
(test-begin "srfi-142: bitwise operations")
|
||||
(test-begin "srfi-151: bitwise operations")
|
||||
|
||||
(test 0 (bitwise-and #b0 #b1))
|
||||
(test 1 (bitwise-and #b1 #b1))
|
||||
|
@ -107,8 +107,8 @@
|
|||
(test #b10110 (bit-field #b1101101010 4 9))
|
||||
(test #b110110 (bit-field #b1101101010 4 10))
|
||||
|
||||
(test 3 (bitwise-if 1 1 2))
|
||||
(test #b00110011 (bitwise-if #b00111100 #b11110000 #b00001111))
|
||||
(test 3 (bitwise-if 1 2 1))
|
||||
(test #b00110011 (bitwise-if #b00111100 #b00001111 #b11110000))
|
||||
|
||||
(test #b1 (copy-bit 0 0 #t))
|
||||
(test #b100 (copy-bit 2 0 #t))
|
||||
|
@ -119,16 +119,16 @@
|
|||
(test #b1011 (bit-swap 2 1 #b1101))
|
||||
(test #b10000000101 (bit-swap 3 10 #b1101))
|
||||
|
||||
(test '(#t #t #t #f #t #f #t) (integer->list #b1010111))
|
||||
(test '(#t #t #t #f #t) (integer->list #b1010111 5))
|
||||
(test '(#t #t #t #f #t #f #t #f #f) (integer->list #b1010111 9))
|
||||
(test '#(#t #t #t #f #t #f #t) (integer->vector #b1010111))
|
||||
(test '#(#t #t #t #f #t #f #t #f #f) (integer->vector #b1010111 9))
|
||||
(test '(#t #t #t #f #t #f #t) (bits->list #b1010111))
|
||||
(test '(#t #t #t #f #t) (bits->list #b1010111 5))
|
||||
(test '(#t #t #t #f #t #f #t #f #f) (bits->list #b1010111 9))
|
||||
(test '#(#t #t #t #f #t #f #t) (bits->vector #b1010111))
|
||||
(test '#(#t #t #t #f #t #f #t #f #f) (bits->vector #b1010111 9))
|
||||
|
||||
(test #b1010111 (list->integer '(#t #t #t #f #t #f #t)))
|
||||
(test #b1010111 (list->integer '(#t #t #t #f #t #f #t #f #f)))
|
||||
(test #b1010111 (vector->integer '#(#t #t #t #f #t #f #t)))
|
||||
(test #b1010111 (vector->integer '#(#t #t #t #f #t #f #t #f #f)))
|
||||
(test #b1010111 (list->bits '(#t #t #t #f #t #f #t)))
|
||||
(test #b1010111 (list->bits '(#t #t #t #f #t #f #t #f #f)))
|
||||
(test #b1010111 (vector->bits '#(#t #t #t #f #t #f #t)))
|
||||
(test #b1010111 (vector->bits '#(#t #t #t #f #t #f #t #f #f)))
|
||||
(test #b1010111 (bits #t #t #t #f #t #f #t))
|
||||
(test #b1010111 (bits #t #t #t #f #t #f #t #f #f))
|
||||
|
|
@ -18,8 +18,8 @@
|
|||
(rename (srfi 130 test) (run-tests run-srfi-130-tests))
|
||||
(rename (srfi 132 test) (run-tests run-srfi-132-tests))
|
||||
(rename (srfi 133 test) (run-tests run-srfi-133-tests))
|
||||
(rename (srfi 139 test) (run-tests run-srfi-139-tests))
|
||||
(rename (srfi 142 test) (run-tests run-srfi-142-tests))
|
||||
(rename (srfi 139 test) (run-tests run-srfi-139-tests))
|
||||
(rename (srfi 151 test) (run-tests run-srfi-151-tests))
|
||||
(rename (chibi base64-test) (run-tests run-base64-tests))
|
||||
(rename (chibi crypto md5-test) (run-tests run-md5-tests))
|
||||
(rename (chibi crypto rsa-test) (run-tests run-rsa-tests))
|
||||
|
@ -69,7 +69,7 @@
|
|||
(run-srfi-132-tests)
|
||||
(run-srfi-133-tests)
|
||||
(run-srfi-139-tests)
|
||||
(run-srfi-142-tests)
|
||||
(run-srfi-151-tests)
|
||||
(run-base64-tests)
|
||||
(run-doc-tests)
|
||||
(run-generic-tests)
|
||||
|
|
Loading…
Add table
Reference in a new issue