mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-19 05:39:18 +02:00
Fix zero-dimensional array indexing.
This commit is contained in:
parent
b06c4cca9d
commit
44f8c91931
1 changed files with 5 additions and 1 deletions
|
@ -368,6 +368,9 @@
|
||||||
|
|
||||||
(define (coeffs->indexer coeffs domain)
|
(define (coeffs->indexer coeffs domain)
|
||||||
(case (vector-length coeffs)
|
(case (vector-length coeffs)
|
||||||
|
((1)
|
||||||
|
(let ((a (vector-ref coeffs 0)))
|
||||||
|
(lambda () a)))
|
||||||
((2)
|
((2)
|
||||||
(let ((a (vector-ref coeffs 0))
|
(let ((a (vector-ref coeffs 0))
|
||||||
(b (vector-ref coeffs 1)))
|
(b (vector-ref coeffs 1)))
|
||||||
|
@ -404,8 +407,8 @@
|
||||||
(define (default-coeffs domain)
|
(define (default-coeffs domain)
|
||||||
(let* ((dim (interval-dimension domain))
|
(let* ((dim (interval-dimension domain))
|
||||||
(res (make-vector (+ 1 dim))))
|
(res (make-vector (+ 1 dim))))
|
||||||
(vector-set! res 0 0)
|
|
||||||
(vector-set! res dim 1)
|
(vector-set! res dim 1)
|
||||||
|
(vector-set! res 0 0)
|
||||||
(let lp ((i (- dim 1))
|
(let lp ((i (- dim 1))
|
||||||
(scale 1))
|
(scale 1))
|
||||||
(cond
|
(cond
|
||||||
|
@ -472,6 +475,7 @@
|
||||||
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)))
|
(safe? (if (and (pair? o) (pair? (cdr o)))
|
||||||
(cadr o)
|
(cadr o)
|
||||||
|
|
Loading…
Add table
Reference in a new issue