mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-18 21:29:19 +02:00
fix vector*->array
This commit is contained in:
parent
37dda638c3
commit
4677cfb85b
2 changed files with 7 additions and 4 deletions
|
@ -2558,6 +2558,9 @@
|
|||
(array->vector* (make-array (make-interval '#(0 0)) error)))
|
||||
(test '#(#() #())
|
||||
(array->vector* (make-array (make-interval '#(2 0)) error)))
|
||||
|
||||
(test (list->array (make-interval '#(2 3)) '(a b c 1 2 3))
|
||||
(vector*->array 2 '#(#(a b c) #(1 2 3))))
|
||||
)
|
||||
|
||||
(test-group "permutation tests"
|
||||
|
|
|
@ -559,9 +559,9 @@
|
|||
(vector-iota (interval-width domain 0)
|
||||
(interval-lower-bound domain 0)))))))
|
||||
|
||||
(define (flatten-vec vec)
|
||||
(define (flatten-vector->list vec)
|
||||
(if (vector? (vector-ref vec 0))
|
||||
(append-map flatten-vec vec)
|
||||
(append-map flatten-vector->list (vector->list vec))
|
||||
(vector->list vec)))
|
||||
|
||||
(define (vector*->array dimension nested-vec . o)
|
||||
|
@ -571,8 +571,8 @@
|
|||
(lp (vector-ref vec 0) (cons (vector-length vec) lens) (- d 1)))
|
||||
(else
|
||||
(apply list->array
|
||||
(make-interval (list->vector (reverse lens)))
|
||||
(flatten-vec nested-vec)
|
||||
(make-interval (reverse-list->vector lens))
|
||||
(flatten-vector->list nested-vec)
|
||||
o)))))
|
||||
|
||||
(define (dimensions-compatible? a-domain b-domain axis)
|
||||
|
|
Loading…
Add table
Reference in a new issue