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)))
|
(array->vector* (make-array (make-interval '#(0 0)) error)))
|
||||||
(test '#(#() #())
|
(test '#(#() #())
|
||||||
(array->vector* (make-array (make-interval '#(2 0)) error)))
|
(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"
|
(test-group "permutation tests"
|
||||||
|
|
|
@ -559,9 +559,9 @@
|
||||||
(vector-iota (interval-width domain 0)
|
(vector-iota (interval-width domain 0)
|
||||||
(interval-lower-bound domain 0)))))))
|
(interval-lower-bound domain 0)))))))
|
||||||
|
|
||||||
(define (flatten-vec vec)
|
(define (flatten-vector->list vec)
|
||||||
(if (vector? (vector-ref vec 0))
|
(if (vector? (vector-ref vec 0))
|
||||||
(append-map flatten-vec vec)
|
(append-map flatten-vector->list (vector->list vec))
|
||||||
(vector->list vec)))
|
(vector->list vec)))
|
||||||
|
|
||||||
(define (vector*->array dimension nested-vec . o)
|
(define (vector*->array dimension nested-vec . o)
|
||||||
|
@ -571,8 +571,8 @@
|
||||||
(lp (vector-ref vec 0) (cons (vector-length vec) lens) (- d 1)))
|
(lp (vector-ref vec 0) (cons (vector-length vec) lens) (- d 1)))
|
||||||
(else
|
(else
|
||||||
(apply list->array
|
(apply list->array
|
||||||
(make-interval (list->vector (reverse lens)))
|
(make-interval (reverse-list->vector lens))
|
||||||
(flatten-vec nested-vec)
|
(flatten-vector->list nested-vec)
|
||||||
o)))))
|
o)))))
|
||||||
|
|
||||||
(define (dimensions-compatible? a-domain b-domain axis)
|
(define (dimensions-compatible? a-domain b-domain axis)
|
||||||
|
|
Loading…
Add table
Reference in a new issue