fix init value for make-specialized-array

This commit is contained in:
Alex Shinn 2023-06-20 22:19:19 +09:00
parent 44f8c91931
commit 67fdb283b6

View file

@ -475,14 +475,16 @@
adjacent?)) adjacent?))
(define (make-specialized-array domain . o) (define (make-specialized-array domain . o)
;; TODO: init value
(let* ((storage (if (pair? o) (car o) generic-storage-class)) (let* ((storage (if (pair? o) (car o) generic-storage-class))
(safe? (if (and (pair? o) (pair? (cdr o))) (init-value (if (and (pair? o) (pair? (cdr o)))
(cadr o) (cadr o)
(storage-class-default storage)))
(safe? (if (and (pair? o) (pair? (cdr o)) (pair? (cddr o)))
(car (cddr o))
(specialized-array-default-safe?))) (specialized-array-default-safe?)))
(body ((storage-class-maker storage) (body ((storage-class-maker storage)
(interval-volume domain) (interval-volume domain)
(storage-class-default storage))) init-value))
(coeffs (default-coeffs domain)) (coeffs (default-coeffs domain))
(indexer (coeffs->indexer coeffs domain))) (indexer (coeffs->indexer coeffs domain)))
(assert (boolean? safe?)) (assert (boolean? safe?))