mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-18 01:30:27 +02:00
Preallocate index list in scm_array_index_map_x
* libguile/array-map.c - (scm_array_index_map_x): preallocate the index list instead of constructing it on each rank-1 iteration. - (ramap, rafe): use SCM_I_ARRAY_V just once.
This commit is contained in:
parent
1e2a55e42a
commit
b98e2f47aa
2 changed files with 24 additions and 16 deletions
|
@ -62,7 +62,15 @@
|
|||
(array-index-map! (make-typed-array 'f64 0 0 2) (const 0))
|
||||
(array-index-map! (make-typed-array 'b #t 0 2) (const #t))
|
||||
(array-index-map! (make-typed-array #t 0 0 2) (const 0))
|
||||
#t)))
|
||||
#t))
|
||||
|
||||
(pass-if "rank 2"
|
||||
(let ((a (make-array 0 2 2))
|
||||
(b (make-array 0 2 2)))
|
||||
(array-index-map! a (lambda (i j) i))
|
||||
(array-index-map! b (lambda (i j) j))
|
||||
(and (array-equal? a #2((0 0) (1 1)))
|
||||
(array-equal? b #2((0 1) (0 1)))))))
|
||||
|
||||
;;;
|
||||
;;; array-copy!
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue