removing redundant uvector definitions

This commit is contained in:
Alex Shinn 2021-04-14 17:06:34 +09:00
parent cfbd64f085
commit e74614d4b3
15 changed files with 158 additions and 65 deletions

View file

@ -121,24 +121,92 @@
(define (c128vector . ls) (list->c128vector ls)) (define (c128vector . ls) (list->c128vector ls))
(define (make-u1vector len) (make-uvector SEXP_U1 len)) (define (make-u1vector len) (make-uvector SEXP_U1 len))
(define make-u8vector make-bytevector) (define make-u8vector make-bytevector)
(define (make-s8vector len) (make-uvector SEXP_S8 len)) (define (make-s8vector len . o)
(define (make-u16vector len) (make-uvector SEXP_U16 len)) (let ((res (make-uvector SEXP_S8 len)))
(define (make-s16vector len) (make-uvector SEXP_S16 len)) (if (and (pair? o) (not (zero? (car o))))
(define (make-u32vector len) (make-uvector SEXP_U32 len)) (do ((i 0 (+ i 1)))
(define (make-s32vector len) (make-uvector SEXP_S32 len)) ((>= i len))
(define (make-u64vector len) (make-uvector SEXP_U64 len)) (s8vector-set! res i (car o))))
(define (make-s64vector len) (make-uvector SEXP_S64 len)) res))
(define (make-f32vector len) (make-uvector SEXP_F32 len)) (define (make-u16vector len . o)
(define (make-f64vector len) (make-uvector SEXP_F64 len)) (let ((res (make-uvector SEXP_U16 len)))
(define (make-c64vector len) (make-uvector SEXP_C64 len)) (if (and (pair? o) (not (zero? (car o))))
(define (make-c128vector len) (make-uvector SEXP_C128 len)) (do ((i 0 (+ i 1)))
((>= i len))
(u16vector-set! res i (car o))))
res))
(define (make-s16vector len . o)
(let ((res (make-uvector SEXP_S16 len)))
(if (and (pair? o) (not (zero? (car o))))
(do ((i 0 (+ i 1)))
((>= i len))
(s16vector-set! res i (car o))))
res))
(define (make-u32vector len . o)
(let ((res (make-uvector SEXP_U32 len)))
(if (and (pair? o) (not (zero? (car o))))
(do ((i 0 (+ i 1)))
((>= i len))
(u32vector-set! res i (car o))))
res))
(define (make-s32vector len . o)
(let ((res (make-uvector SEXP_S32 len)))
(if (and (pair? o) (not (zero? (car o))))
(do ((i 0 (+ i 1)))
((>= i len))
(s32vector-set! res i (car o))))
res))
(define (make-u64vector len . o)
(let ((res (make-uvector SEXP_U64 len)))
(if (and (pair? o) (not (zero? (car o))))
(do ((i 0 (+ i 1)))
((>= i len))
(u64vector-set! res i (car o))))
res))
(define (make-s64vector len . o)
(let ((res (make-uvector SEXP_S64 len)))
(if (and (pair? o) (not (zero? (car o))))
(do ((i 0 (+ i 1)))
((>= i len))
(s64vector-set! res i (car o))))
res))
(define (make-f32vector len . o)
(let ((res (make-uvector SEXP_F32 len)))
(if (and (pair? o) (not (zero? (car o))))
(do ((i 0 (+ i 1)))
((>= i len))
(f32vector-set! res i (car o))))
res))
(define (make-f64vector len . o)
(let ((res (make-uvector SEXP_F64 len)))
(if (and (pair? o) (not (zero? (car o))))
(do ((i 0 (+ i 1)))
((>= i len))
(f64vector-set! res i (car o))))
res))
(define (make-c64vector len . o)
(let ((res (make-uvector SEXP_C64 len)))
(if (and (pair? o) (not (zero? (car o))))
(do ((i 0 (+ i 1)))
((>= i len))
(c64vector-set! res i (car o))))
res))
(define (make-c128vector len . o)
(let ((res (make-uvector SEXP_C128 len)))
(if (and (pair? o) (not (zero? (car o))))
(do ((i 0 (+ i 1)))
((>= i len))
(c128vector-set! res i (car o))))
res))
(define-syntax define-uvector->list (define-syntax define-uvector->list
(syntax-rules () (syntax-rules ()
((define-uvector->list uv->list len ref) ((define-uvector->list uv->list len ref)
(define (uv->list uv) (define (uv->list uv . o)
(do ((i (- (len uv) 1) (- i 1)) (let ((start (if (pair? o) (car o) 0))
(res '() (cons (ref uv i) res))) (end (if (and (pair? o) (pair? (cdr o))) (cadr o) (len uv))))
((< i 0) res)))))) (do ((i (- end 1) (- i 1))
(res '() (cons (ref uv i) res)))
((< i start) res)))))))
(define-uvector->list u1vector->list u1vector-length u1vector-ref) (define-uvector->list u1vector->list u1vector-length u1vector-ref)
(define-uvector->list u8vector->list bytevector-length bytevector-u8-ref) (define-uvector->list u8vector->list bytevector-length bytevector-u8-ref)
(define-uvector->list s8vector->list s8vector-length s8vector-ref) (define-uvector->list s8vector->list s8vector-length s8vector-ref)

View file

@ -7,7 +7,6 @@
c128vector-ref c128vector-ref
c128vector-set! c128vector-set!
c128vector-length c128vector-length
(rename vector c128vector)
(rename uvector-unfold c128vector-unfold) (rename uvector-unfold c128vector-unfold)
(rename uvector-unfold-right c128vector-unfold-right) (rename uvector-unfold-right c128vector-unfold-right)
(rename vector-copy c128vector-copy) (rename vector-copy c128vector-copy)
@ -48,9 +47,7 @@
(rename vector-reverse! c128vector-reverse!) (rename vector-reverse! c128vector-reverse!)
(rename vector-copy! c128vector-copy!) (rename vector-copy! c128vector-copy!)
(rename vector-reverse-copy! c128vector-reverse-copy!) (rename vector-reverse-copy! c128vector-reverse-copy!)
(rename uvector->list c128vector->list)
(rename reverse-vector->list reverse-c128vector->list) (rename reverse-vector->list reverse-c128vector->list)
(rename list->uvector list->c128vector)
(rename reverse-list->vector reverse-list->c128vector) (rename reverse-list->vector reverse-list->c128vector)
(rename uvector->vector c128vector->vector) (rename uvector->vector c128vector->vector)
(rename vector->uvector vector->c128vector) (rename vector->uvector vector->c128vector)
@ -64,6 +61,9 @@
(begin (begin
(define uvector? c128vector?) (define uvector? c128vector?)
(define make-uvector make-c128vector) (define make-uvector make-c128vector)
(define vector c128vector)
(define uvector->list c128vector->list)
(define list->uvector list->c128vector)
(define uvector-length c128vector-length) (define uvector-length c128vector-length)
(define uvector-ref c128vector-ref) (define uvector-ref c128vector-ref)
(define uvector-set! c128vector-set!)) (define uvector-set! c128vector-set!))

View file

@ -7,7 +7,6 @@
c64vector-ref c64vector-ref
c64vector-set! c64vector-set!
c64vector-length c64vector-length
(rename vector c64vector)
(rename uvector-unfold c64vector-unfold) (rename uvector-unfold c64vector-unfold)
(rename uvector-unfold-right c64vector-unfold-right) (rename uvector-unfold-right c64vector-unfold-right)
(rename vector-copy c64vector-copy) (rename vector-copy c64vector-copy)
@ -48,9 +47,7 @@
(rename vector-reverse! c64vector-reverse!) (rename vector-reverse! c64vector-reverse!)
(rename vector-copy! c64vector-copy!) (rename vector-copy! c64vector-copy!)
(rename vector-reverse-copy! c64vector-reverse-copy!) (rename vector-reverse-copy! c64vector-reverse-copy!)
(rename uvector->list c64vector->list)
(rename reverse-vector->list reverse-c64vector->list) (rename reverse-vector->list reverse-c64vector->list)
(rename list->uvector list->c64vector)
(rename reverse-list->vector reverse-list->c64vector) (rename reverse-list->vector reverse-list->c64vector)
(rename uvector->vector c64vector->vector) (rename uvector->vector c64vector->vector)
(rename vector->uvector vector->c64vector) (rename vector->uvector vector->c64vector)
@ -64,6 +61,9 @@
(begin (begin
(define uvector? c64vector?) (define uvector? c64vector?)
(define make-uvector make-c64vector) (define make-uvector make-c64vector)
(define vector c64vector)
(define uvector->list c64vector->list)
(define list->uvector list->c64vector)
(define uvector-length c64vector-length) (define uvector-length c64vector-length)
(define uvector-ref c64vector-ref) (define uvector-ref c64vector-ref)
(define uvector-set! c64vector-set!)) (define uvector-set! c64vector-set!))

View file

@ -7,7 +7,6 @@
f32vector-ref f32vector-ref
f32vector-set! f32vector-set!
f32vector-length f32vector-length
(rename vector f32vector)
(rename uvector-unfold f32vector-unfold) (rename uvector-unfold f32vector-unfold)
(rename uvector-unfold-right f32vector-unfold-right) (rename uvector-unfold-right f32vector-unfold-right)
(rename vector-copy f32vector-copy) (rename vector-copy f32vector-copy)
@ -48,9 +47,7 @@
(rename vector-reverse! f32vector-reverse!) (rename vector-reverse! f32vector-reverse!)
(rename vector-copy! f32vector-copy!) (rename vector-copy! f32vector-copy!)
(rename vector-reverse-copy! f32vector-reverse-copy!) (rename vector-reverse-copy! f32vector-reverse-copy!)
(rename uvector->list f32vector->list)
(rename reverse-vector->list reverse-f32vector->list) (rename reverse-vector->list reverse-f32vector->list)
(rename list->uvector list->f32vector)
(rename reverse-list->vector reverse-list->f32vector) (rename reverse-list->vector reverse-list->f32vector)
(rename uvector->vector f32vector->vector) (rename uvector->vector f32vector->vector)
(rename vector->uvector vector->f32vector) (rename vector->uvector vector->f32vector)
@ -64,6 +61,9 @@
(begin (begin
(define uvector? f32vector?) (define uvector? f32vector?)
(define make-uvector make-f32vector) (define make-uvector make-f32vector)
(define vector f32vector)
(define uvector->list f32vector->list)
(define list->uvector list->f32vector)
(define uvector-length f32vector-length) (define uvector-length f32vector-length)
(define uvector-ref f32vector-ref) (define uvector-ref f32vector-ref)
(define uvector-set! f32vector-set!)) (define uvector-set! f32vector-set!))

View file

@ -7,7 +7,6 @@
f64vector-ref f64vector-ref
f64vector-set! f64vector-set!
f64vector-length f64vector-length
(rename vector f64vector)
(rename uvector-unfold f64vector-unfold) (rename uvector-unfold f64vector-unfold)
(rename uvector-unfold-right f64vector-unfold-right) (rename uvector-unfold-right f64vector-unfold-right)
(rename vector-copy f64vector-copy) (rename vector-copy f64vector-copy)
@ -48,9 +47,7 @@
(rename vector-reverse! f64vector-reverse!) (rename vector-reverse! f64vector-reverse!)
(rename vector-copy! f64vector-copy!) (rename vector-copy! f64vector-copy!)
(rename vector-reverse-copy! f64vector-reverse-copy!) (rename vector-reverse-copy! f64vector-reverse-copy!)
(rename uvector->list f64vector->list)
(rename reverse-vector->list reverse-f64vector->list) (rename reverse-vector->list reverse-f64vector->list)
(rename list->uvector list->f64vector)
(rename reverse-list->vector reverse-list->f64vector) (rename reverse-list->vector reverse-list->f64vector)
(rename uvector->vector f64vector->vector) (rename uvector->vector f64vector->vector)
(rename vector->uvector vector->f64vector) (rename vector->uvector vector->f64vector)
@ -64,6 +61,9 @@
(begin (begin
(define uvector? f64vector?) (define uvector? f64vector?)
(define make-uvector make-f64vector) (define make-uvector make-f64vector)
(define vector f64vector)
(define uvector->list f64vector->list)
(define list->uvector list->f64vector)
(define uvector-length f64vector-length) (define uvector-length f64vector-length)
(define uvector-ref f64vector-ref) (define uvector-ref f64vector-ref)
(define uvector-set! f64vector-set!)) (define uvector-set! f64vector-set!))

View file

@ -7,7 +7,6 @@
s16vector-ref s16vector-ref
s16vector-set! s16vector-set!
s16vector-length s16vector-length
(rename vector s16vector)
(rename uvector-unfold s16vector-unfold) (rename uvector-unfold s16vector-unfold)
(rename uvector-unfold-right s16vector-unfold-right) (rename uvector-unfold-right s16vector-unfold-right)
(rename vector-copy s16vector-copy) (rename vector-copy s16vector-copy)
@ -48,9 +47,7 @@
(rename vector-reverse! s16vector-reverse!) (rename vector-reverse! s16vector-reverse!)
(rename vector-copy! s16vector-copy!) (rename vector-copy! s16vector-copy!)
(rename vector-reverse-copy! s16vector-reverse-copy!) (rename vector-reverse-copy! s16vector-reverse-copy!)
(rename uvector->list s16vector->list)
(rename reverse-vector->list reverse-s16vector->list) (rename reverse-vector->list reverse-s16vector->list)
(rename list->uvector list->s16vector)
(rename reverse-list->vector reverse-list->s16vector) (rename reverse-list->vector reverse-list->s16vector)
(rename uvector->vector s16vector->vector) (rename uvector->vector s16vector->vector)
(rename vector->uvector vector->s16vector) (rename vector->uvector vector->s16vector)
@ -64,6 +61,9 @@
(begin (begin
(define uvector? s16vector?) (define uvector? s16vector?)
(define make-uvector make-s16vector) (define make-uvector make-s16vector)
(define vector s16vector)
(define uvector->list s16vector->list)
(define list->uvector list->s16vector)
(define uvector-length s16vector-length) (define uvector-length s16vector-length)
(define uvector-ref s16vector-ref) (define uvector-ref s16vector-ref)
(define uvector-set! s16vector-set!)) (define uvector-set! s16vector-set!))

View file

@ -7,7 +7,6 @@
s32vector-ref s32vector-ref
s32vector-set! s32vector-set!
s32vector-length s32vector-length
(rename vector s32vector)
(rename uvector-unfold s32vector-unfold) (rename uvector-unfold s32vector-unfold)
(rename uvector-unfold-right s32vector-unfold-right) (rename uvector-unfold-right s32vector-unfold-right)
(rename vector-copy s32vector-copy) (rename vector-copy s32vector-copy)
@ -48,9 +47,7 @@
(rename vector-reverse! s32vector-reverse!) (rename vector-reverse! s32vector-reverse!)
(rename vector-copy! s32vector-copy!) (rename vector-copy! s32vector-copy!)
(rename vector-reverse-copy! s32vector-reverse-copy!) (rename vector-reverse-copy! s32vector-reverse-copy!)
(rename uvector->list s32vector->list)
(rename reverse-vector->list reverse-s32vector->list) (rename reverse-vector->list reverse-s32vector->list)
(rename list->uvector list->s32vector)
(rename reverse-list->vector reverse-list->s32vector) (rename reverse-list->vector reverse-list->s32vector)
(rename uvector->vector s32vector->vector) (rename uvector->vector s32vector->vector)
(rename vector->uvector vector->s32vector) (rename vector->uvector vector->s32vector)
@ -64,6 +61,9 @@
(begin (begin
(define uvector? s32vector?) (define uvector? s32vector?)
(define make-uvector make-s32vector) (define make-uvector make-s32vector)
(define vector s32vector)
(define uvector->list s32vector->list)
(define list->uvector list->s32vector)
(define uvector-length s32vector-length) (define uvector-length s32vector-length)
(define uvector-ref s32vector-ref) (define uvector-ref s32vector-ref)
(define uvector-set! s32vector-set!)) (define uvector-set! s32vector-set!))

View file

@ -7,7 +7,6 @@
s64vector-ref s64vector-ref
s64vector-set! s64vector-set!
s64vector-length s64vector-length
(rename vector s64vector)
(rename uvector-unfold s64vector-unfold) (rename uvector-unfold s64vector-unfold)
(rename uvector-unfold-right s64vector-unfold-right) (rename uvector-unfold-right s64vector-unfold-right)
(rename vector-copy s64vector-copy) (rename vector-copy s64vector-copy)
@ -48,9 +47,7 @@
(rename vector-reverse! s64vector-reverse!) (rename vector-reverse! s64vector-reverse!)
(rename vector-copy! s64vector-copy!) (rename vector-copy! s64vector-copy!)
(rename vector-reverse-copy! s64vector-reverse-copy!) (rename vector-reverse-copy! s64vector-reverse-copy!)
(rename uvector->list s64vector->list)
(rename reverse-vector->list reverse-s64vector->list) (rename reverse-vector->list reverse-s64vector->list)
(rename list->uvector list->s64vector)
(rename reverse-list->vector reverse-list->s64vector) (rename reverse-list->vector reverse-list->s64vector)
(rename uvector->vector s64vector->vector) (rename uvector->vector s64vector->vector)
(rename vector->uvector vector->s64vector) (rename vector->uvector vector->s64vector)
@ -64,6 +61,10 @@
(begin (begin
(define uvector? s64vector?) (define uvector? s64vector?)
(define make-uvector make-s64vector) (define make-uvector make-s64vector)
(define vector s64vector)
(define uvector->list s64vector->list)
(define list->uvector list->s64vector)
(define uvector->list s64vector->list)
(define uvector-length s64vector-length) (define uvector-length s64vector-length)
(define uvector-ref s64vector-ref) (define uvector-ref s64vector-ref)
(define uvector-set! s64vector-set!)) (define uvector-set! s64vector-set!))

View file

@ -7,7 +7,6 @@
s8vector-ref s8vector-ref
s8vector-set! s8vector-set!
s8vector-length s8vector-length
(rename vector s8vector)
(rename uvector-unfold s8vector-unfold) (rename uvector-unfold s8vector-unfold)
(rename uvector-unfold-right s8vector-unfold-right) (rename uvector-unfold-right s8vector-unfold-right)
(rename vector-copy s8vector-copy) (rename vector-copy s8vector-copy)
@ -48,9 +47,7 @@
(rename vector-reverse! s8vector-reverse!) (rename vector-reverse! s8vector-reverse!)
(rename vector-copy! s8vector-copy!) (rename vector-copy! s8vector-copy!)
(rename vector-reverse-copy! s8vector-reverse-copy!) (rename vector-reverse-copy! s8vector-reverse-copy!)
(rename uvector->list s8vector->list)
(rename reverse-vector->list reverse-s8vector->list) (rename reverse-vector->list reverse-s8vector->list)
(rename list->uvector list->s8vector)
(rename reverse-list->vector reverse-list->s8vector) (rename reverse-list->vector reverse-list->s8vector)
(rename uvector->vector s8vector->vector) (rename uvector->vector s8vector->vector)
(rename vector->uvector vector->s8vector) (rename vector->uvector vector->s8vector)
@ -64,6 +61,9 @@
(begin (begin
(define uvector? s8vector?) (define uvector? s8vector?)
(define make-uvector make-s8vector) (define make-uvector make-s8vector)
(define vector s8vector)
(define uvector->list s8vector->list)
(define list->uvector list->s8vector)
(define uvector-length s8vector-length) (define uvector-length s8vector-length)
(define uvector-ref s8vector-ref) (define uvector-ref s8vector-ref)
(define uvector-set! s8vector-set!)) (define uvector-set! s8vector-set!))

View file

@ -1,6 +1,6 @@
(define-library (srfi 160 test) (define-library (srfi 160 test)
(import (scheme base) (import (scheme base)
(srfi 160 u32) (srfi 160 u64) (srfi 160 s64) (srfi 160 base) (srfi 160 u32) (srfi 160 u64) (srfi 160 s64)
(chibi test)) (chibi test))
(export run-tests) (export run-tests)
(begin (begin
@ -154,4 +154,40 @@
(test '#u32(3 2 1) (reverse-list->u32vector '(1 2 3))) (test '#u32(3 2 1) (reverse-list->u32vector '(1 2 3)))
) )
(test-group "bitvectors"
(let ((uv #u1(0 1 0 1 0 1 0)))
(test 0 (u1vector-ref uv 0))
(test 1 (u1vector-ref uv 1))
(test 0 (u1vector-ref uv 2))
(test 1 (u1vector-ref uv 3))
(test 0 (u1vector-ref uv 4))
(test 1 (u1vector-ref uv 5))
(test 0 (u1vector-ref uv 6))
(test-error (u1vector-ref uv -1))
(test-error (u1vector-ref uv 7)))
(let ((uv #u1(1 0 1 0 1 0 1 0)))
(test 1 (u1vector-ref uv 0))
(test 0 (u1vector-ref uv 1))
(test 1 (u1vector-ref uv 2))
(test 0 (u1vector-ref uv 3))
(test 1 (u1vector-ref uv 4))
(test 0 (u1vector-ref uv 5))
(test 1 (u1vector-ref uv 6))
(test 0 (u1vector-ref uv 7))
(test-error (u1vector-ref uv -1))
(test-error (u1vector-ref uv 8)))
(let ((uv #u1(0 1 0 1 0 1 0 1 0)))
(test 0 (u1vector-ref uv 0))
(test 1 (u1vector-ref uv 1))
(test 0 (u1vector-ref uv 2))
(test 1 (u1vector-ref uv 3))
(test 0 (u1vector-ref uv 4))
(test 1 (u1vector-ref uv 5))
(test 0 (u1vector-ref uv 6))
(test 1 (u1vector-ref uv 7))
(test 0 (u1vector-ref uv 8))
(test-error (u1vector-ref uv -1))
(test-error (u1vector-ref uv 9)))
)
(test-end)))) (test-end))))

View file

@ -7,7 +7,6 @@
u16vector-ref u16vector-ref
u16vector-set! u16vector-set!
u16vector-length u16vector-length
(rename vector u16vector)
(rename uvector-unfold u16vector-unfold) (rename uvector-unfold u16vector-unfold)
(rename uvector-unfold-right u16vector-unfold-right) (rename uvector-unfold-right u16vector-unfold-right)
(rename vector-copy u16vector-copy) (rename vector-copy u16vector-copy)
@ -48,9 +47,7 @@
(rename vector-reverse! u16vector-reverse!) (rename vector-reverse! u16vector-reverse!)
(rename vector-copy! u16vector-copy!) (rename vector-copy! u16vector-copy!)
(rename vector-reverse-copy! u16vector-reverse-copy!) (rename vector-reverse-copy! u16vector-reverse-copy!)
(rename uvector->list u16vector->list)
(rename reverse-vector->list reverse-u16vector->list) (rename reverse-vector->list reverse-u16vector->list)
(rename list->uvector list->u16vector)
(rename reverse-list->vector reverse-list->u16vector) (rename reverse-list->vector reverse-list->u16vector)
(rename uvector->vector u16vector->vector) (rename uvector->vector u16vector->vector)
(rename vector->uvector vector->u16vector) (rename vector->uvector vector->u16vector)
@ -64,6 +61,9 @@
(begin (begin
(define uvector? u16vector?) (define uvector? u16vector?)
(define make-uvector make-u16vector) (define make-uvector make-u16vector)
(define vector u16vector)
(define uvector->list u16vector->list)
(define list->uvector list->u16vector)
(define uvector-length u16vector-length) (define uvector-length u16vector-length)
(define uvector-ref u16vector-ref) (define uvector-ref u16vector-ref)
(define uvector-set! u16vector-set!)) (define uvector-set! u16vector-set!))

View file

@ -7,7 +7,6 @@
u32vector-ref u32vector-ref
u32vector-set! u32vector-set!
u32vector-length u32vector-length
(rename vector u32vector)
(rename uvector-unfold u32vector-unfold) (rename uvector-unfold u32vector-unfold)
(rename uvector-unfold-right u32vector-unfold-right) (rename uvector-unfold-right u32vector-unfold-right)
(rename vector-copy u32vector-copy) (rename vector-copy u32vector-copy)
@ -48,9 +47,7 @@
(rename vector-reverse! u32vector-reverse!) (rename vector-reverse! u32vector-reverse!)
(rename vector-copy! u32vector-copy!) (rename vector-copy! u32vector-copy!)
(rename vector-reverse-copy! u32vector-reverse-copy!) (rename vector-reverse-copy! u32vector-reverse-copy!)
(rename uvector->list u32vector->list)
(rename reverse-vector->list reverse-u32vector->list) (rename reverse-vector->list reverse-u32vector->list)
(rename list->uvector list->u32vector)
(rename reverse-list->vector reverse-list->u32vector) (rename reverse-list->vector reverse-list->u32vector)
(rename uvector->vector u32vector->vector) (rename uvector->vector u32vector->vector)
(rename vector->uvector vector->u32vector) (rename vector->uvector vector->u32vector)
@ -64,6 +61,9 @@
(begin (begin
(define uvector? u32vector?) (define uvector? u32vector?)
(define make-uvector make-u32vector) (define make-uvector make-u32vector)
(define vector u32vector)
(define uvector->list u32vector->list)
(define list->uvector list->u32vector)
(define uvector-length u32vector-length) (define uvector-length u32vector-length)
(define uvector-ref u32vector-ref) (define uvector-ref u32vector-ref)
(define uvector-set! u32vector-set!)) (define uvector-set! u32vector-set!))

View file

@ -7,7 +7,6 @@
u64vector-ref u64vector-ref
u64vector-set! u64vector-set!
u64vector-length u64vector-length
(rename vector u64vector)
(rename uvector-unfold u64vector-unfold) (rename uvector-unfold u64vector-unfold)
(rename uvector-unfold-right u64vector-unfold-right) (rename uvector-unfold-right u64vector-unfold-right)
(rename vector-copy u64vector-copy) (rename vector-copy u64vector-copy)
@ -48,9 +47,7 @@
(rename vector-reverse! u64vector-reverse!) (rename vector-reverse! u64vector-reverse!)
(rename vector-copy! u64vector-copy!) (rename vector-copy! u64vector-copy!)
(rename vector-reverse-copy! u64vector-reverse-copy!) (rename vector-reverse-copy! u64vector-reverse-copy!)
(rename uvector->list u64vector->list)
(rename reverse-vector->list reverse-u64vector->list) (rename reverse-vector->list reverse-u64vector->list)
(rename list->uvector list->u64vector)
(rename reverse-list->vector reverse-list->u64vector) (rename reverse-list->vector reverse-list->u64vector)
(rename uvector->vector u64vector->vector) (rename uvector->vector u64vector->vector)
(rename vector->uvector vector->u64vector) (rename vector->uvector vector->u64vector)
@ -64,6 +61,10 @@
(begin (begin
(define uvector? u64vector?) (define uvector? u64vector?)
(define make-uvector make-u64vector) (define make-uvector make-u64vector)
(define vector u64vector)
(define uvector->list u64vector->list)
(define list->uvector list->u64vector)
(define uvector->list u64vector->list)
(define uvector-length u64vector-length) (define uvector-length u64vector-length)
(define uvector-ref u64vector-ref) (define uvector-ref u64vector-ref)
(define uvector-set! u64vector-set!)) (define uvector-set! u64vector-set!))

View file

@ -7,7 +7,6 @@
u8vector-ref u8vector-ref
u8vector-set! u8vector-set!
u8vector-length u8vector-length
(rename vector u8vector)
(rename uvector-unfold u8vector-unfold) (rename uvector-unfold u8vector-unfold)
(rename uvector-unfold-right u8vector-unfold-right) (rename uvector-unfold-right u8vector-unfold-right)
(rename vector-copy u8vector-copy) (rename vector-copy u8vector-copy)
@ -48,9 +47,7 @@
(rename vector-reverse! u8vector-reverse!) (rename vector-reverse! u8vector-reverse!)
(rename vector-copy! u8vector-copy!) (rename vector-copy! u8vector-copy!)
(rename vector-reverse-copy! u8vector-reverse-copy!) (rename vector-reverse-copy! u8vector-reverse-copy!)
(rename uvector->list u8vector->list)
(rename reverse-vector->list reverse-u8vector->list) (rename reverse-vector->list reverse-u8vector->list)
(rename list->uvector list->u8vector)
(rename reverse-list->vector reverse-list->u8vector) (rename reverse-list->vector reverse-list->u8vector)
(rename uvector->vector u8vector->vector) (rename uvector->vector u8vector->vector)
(rename vector->uvector vector->u8vector) (rename vector->uvector vector->u8vector)
@ -64,6 +61,9 @@
(begin (begin
(define uvector? u8vector?) (define uvector? u8vector?)
(define make-uvector make-u8vector) (define make-uvector make-u8vector)
(define vector u8vector)
(define uvector->list u8vector->list)
(define list->uvector list->u8vector)
(define uvector-length u8vector-length) (define uvector-length u8vector-length)
(define uvector-ref u8vector-ref) (define uvector-ref u8vector-ref)
(define uvector-set! u8vector-set!)) (define uvector-set! u8vector-set!))

View file

@ -17,19 +17,9 @@
(lp2 (+ i 1))))) (lp2 (+ i 1)))))
(lp1 (cdr ls))))))) (lp1 (cdr ls)))))))
(define (list->uvector ls)
(let ((res (make-uvector (length ls))))
(do ((ls ls (cdr ls))
(i 0 (+ i 1)))
((null? ls) res)
(uvector-set! res i (car ls)))))
(define (reverse-list->uvector ls) (define (reverse-list->uvector ls)
(list->uvector (reverse ls))) (list->uvector (reverse ls)))
(define (vector . ls)
(list->uvector ls))
(define (uvector-unfold f len seed) (define (uvector-unfold f len seed)
(let ((res (make-uvector len))) (let ((res (make-uvector len)))
(let lp ((i 0) (seed seed)) (let lp ((i 0) (seed seed))
@ -315,9 +305,6 @@
(define (reverse-list->vector ls) (define (reverse-list->vector ls)
(list->uvector (reverse ls))) (list->uvector (reverse ls)))
(define (uvector->list vec . o)
(reverse (apply reverse-vector->list vec o)))
(define (uvector->vector vec . o) (define (uvector->vector vec . o)
(list->vector (apply uvector->list vec o))) (list->vector (apply uvector->list vec o)))