Fix interval-intersect for degenerate axes.

Closes #984.
This commit is contained in:
Alex Shinn 2024-05-29 09:04:46 +09:00
parent 609c78c0ca
commit e737e48955
2 changed files with 5 additions and 2 deletions

View file

@ -218,7 +218,7 @@
(or (null? o) (apply = (map interval-dimension ls)))))
(let ((lower (apply vector-map max (map interval-lb ls)))
(upper (apply vector-map min (map interval-ub ls))))
(and (vector-every < lower upper)
(and (vector-every <= lower upper)
(make-interval lower upper)))))
(define (interval-translate iv translation)

View file

@ -2864,7 +2864,10 @@
(c (make-interval '#(10 10) '#(20 20))))
(test-error (interval-intersect 'a))
(test-error (interval-intersect a 'a))
(test-error (interval-intersect a b)))
(test-error (interval-intersect a b))
(test-assert (interval-intersect a))
(test-assert
(interval-intersect (make-interval '#(6 -9 -6) '#(6 -5 -3)))))
(do ((i 0 (+ i 1)))
((= i tests))