mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-19 05:39:18 +02:00
Merge pull request #633 from ar-nelson/srfi-133-vector-every-fix
Fix SRFI 133 vector-every crash on empty vector
This commit is contained in:
commit
fe7ae7ca48
1 changed files with 7 additions and 6 deletions
|
@ -163,12 +163,13 @@
|
||||||
|
|
||||||
(define (vector-every pred? vec1 . o)
|
(define (vector-every pred? vec1 . o)
|
||||||
(let ((len (apply min (vector-length vec1) (map vector-length o))))
|
(let ((len (apply min (vector-length vec1) (map vector-length o))))
|
||||||
(let lp ((i 0))
|
(or (zero? len)
|
||||||
(let ((x (apply pred? (vector-ref vec1 i)
|
(let lp ((i 0))
|
||||||
(map (lambda (v) (vector-ref v i)) o))))
|
(let ((x (apply pred? (vector-ref vec1 i)
|
||||||
(if (= i (- len 1))
|
(map (lambda (v) (vector-ref v i)) o))))
|
||||||
x
|
(if (= i (- len 1))
|
||||||
(and x (lp (+ i 1))))))))
|
x
|
||||||
|
(and x (lp (+ i 1)))))))))
|
||||||
|
|
||||||
(define (vector-swap! vec i j)
|
(define (vector-swap! vec i j)
|
||||||
(let ((tmp (vector-ref vec i)))
|
(let ((tmp (vector-ref vec i)))
|
||||||
|
|
Loading…
Add table
Reference in a new issue