Fixing iset<=.

This commit is contained in:
Alex Shinn 2014-05-19 07:14:49 +09:00
parent 184b2aaf9f
commit 0c7a559627
2 changed files with 6 additions and 2 deletions

View file

@ -103,12 +103,13 @@
(else (else
(let ((i1 (iset-ref is1 cur1)) (let ((i1 (iset-ref is1 cur1))
(i2 (iset-ref is1 cur2))) (i2 (iset-ref is1 cur2)))
(cond ((< i1 i2) (cond ((> i1 i2)
(lp (iset-cursor-next is1 cur1) cur2)) (lp cur1 (iset-cursor-next is2 cur2)))
((= i1 i2) ((= i1 i2)
(lp (iset-cursor-next is1 cur1) (lp (iset-cursor-next is1 cur1)
(iset-cursor-next is2 cur2))) (iset-cursor-next is2 cur2)))
(else (else
;; (< i1 i2) - i1 won't occur in is2
#f))))))) #f)))))))
(define (iset= . o) (define (iset= . o)

View file

@ -97,4 +97,7 @@
(test '(2 3 4) (test '(2 3 4)
(iset->list (iset-map (lambda (i) (+ i 1)) (iset 1 2 3)))) (iset->list (iset-map (lambda (i) (+ i 1)) (iset 1 2 3))))
(test-assert (iset<= (iset 97) (iset 97 117)))
(test-assert (iset<= (iset 117) (iset 97 117)))
(test-end) (test-end)