SRFI 231: Declare char-storage-class, fix interval-projections

This commit is contained in:
Bradley Lucier 2023-08-27 23:22:14 -04:00
parent 67fdb283b6
commit e390668961
2 changed files with 7 additions and 4 deletions

View file

@ -33,6 +33,7 @@
u64-storage-class f8-storage-class f16-storage-class u64-storage-class f8-storage-class f16-storage-class
f32-storage-class f64-storage-class f32-storage-class f64-storage-class
c64-storage-class c128-storage-class c64-storage-class c128-storage-class
char-storage-class
storage-class-data? storage-class-data->body storage-class-data? storage-class-data->body
;; Arrays ;; Arrays
make-array array? array-domain array-getter array-dimension make-array array? array-domain array-getter array-dimension

View file

@ -117,10 +117,12 @@
(vector-every < i (interval-ub iv))))) (vector-every < i (interval-ub iv)))))
(define (interval-projections iv rd) (define (interval-projections iv rd)
(values (make-interval (vector-copy (interval-lb iv) 0 rd) (assert (interval? iv))
(vector-copy (interval-ub iv) 0 rd)) (let ((n (vector-length (interval-lb iv))))
(make-interval (vector-copy (interval-lb iv) rd) (values (make-interval (vector-copy (interval-lb iv) 0 (- n rd))
(vector-copy (interval-ub iv) rd)))) (vector-copy (interval-ub iv) 0 (- n rd)))
(make-interval (vector-copy (interval-lb iv) (- n rd))
(vector-copy (interval-ub iv) (- n rd))))))
(define (rev-index-next! rev-index rev-lowers rev-uppers) (define (rev-index-next! rev-index rev-lowers rev-uppers)
(cond (cond