.
original commit: 5dd46a3ae88b76f222635d5e92f18fc3ba981625
This commit is contained in:
parent
54cd3da8a4
commit
6695ee87f5
|
@ -251,18 +251,20 @@
|
||||||
(if print-vec-length?
|
(if print-vec-length?
|
||||||
(lambda (v)
|
(lambda (v)
|
||||||
(let ([len (vector-length v)])
|
(let ([len (vector-length v)])
|
||||||
(let ([last (vector-ref v (sub1 len))])
|
(if (zero? len)
|
||||||
(let loop ([i (- len 2)])
|
null
|
||||||
(if (i . < . 0)
|
(let ([last (vector-ref v (sub1 len))])
|
||||||
(list last)
|
(let loop ([i (- len 2)])
|
||||||
(let ([e (vector-ref v i)])
|
(if (i . < . 0)
|
||||||
(if (eq? e last)
|
(list last)
|
||||||
(loop (sub1 i))
|
(let ([e (vector-ref v i)])
|
||||||
(let loop ([i (sub1 i)][r (list e last)])
|
(if (eq? e last)
|
||||||
(if (i . < . 0)
|
(loop (sub1 i))
|
||||||
r
|
(let loop ([i (sub1 i)][r (list e last)])
|
||||||
(loop (sub1 i) (cons (vector-ref v i) r)))))))))))
|
(if (i . < . 0)
|
||||||
vector->list))
|
r
|
||||||
|
(loop (sub1 i) (cons (vector-ref v i) r))))))))))))
|
||||||
|
vector->list))
|
||||||
|
|
||||||
(define found-cycle
|
(define found-cycle
|
||||||
(or print-graph?
|
(or print-graph?
|
||||||
|
@ -279,10 +281,10 @@
|
||||||
[(vector? obj)
|
[(vector? obj)
|
||||||
(let ([len (vector-length obj)])
|
(let ([len (vector-length obj)])
|
||||||
(let loop ([i 0])
|
(let loop ([i 0])
|
||||||
(if
|
(if (= i len)
|
||||||
(= i len)
|
#f
|
||||||
(or (vector-ref obj i)
|
(or (vector-ref obj i)
|
||||||
(loop (add1 i))))))]
|
(loop (add1 i))))))]
|
||||||
[(pair? obj)
|
[(pair? obj)
|
||||||
(or (loop (car obj))
|
(or (loop (car obj))
|
||||||
(loop (cdr obj)))]
|
(loop (cdr obj)))]
|
||||||
|
@ -309,12 +311,10 @@
|
||||||
(cond
|
(cond
|
||||||
[(vector? obj)
|
[(vector? obj)
|
||||||
(let ([len (vector-length obj)])
|
(let ([len (vector-length obj)])
|
||||||
(let loop ([i 0])
|
(let vloop ([i 0])
|
||||||
(if
|
(unless (= i len)
|
||||||
(= i len)
|
(loop (vector-ref obj i))
|
||||||
(begin
|
(vloop (add1 i)))))]
|
||||||
(loop (vector-ref obj i))
|
|
||||||
(loop (add1 i))))))]
|
|
||||||
[(pair? obj)
|
[(pair? obj)
|
||||||
(loop (car obj))
|
(loop (car obj))
|
||||||
(loop (cdr obj))]
|
(loop (cdr obj))]
|
||||||
|
|
Loading…
Reference in New Issue
Block a user