__primitive:__**array-map!***array0 proc array1 ...*-
`array1`, ... must have the same number of dimensions as`array0`and have a range for each index which includes the range for the corresponding index in`array0`.`proc`is applied to each tuple of elements of`array1`... and the result is stored as the corresponding element in`array0`. The value returned is unspecified. The order of application is unspecified.

__primitive:__**serial-array-map!***array0 proc array1 ...*-
Same as
`array-map!`, but guaranteed to apply`proc`in row-major order.

__primitive:__**array-for-each***proc array0 ...*-
`proc`is applied to each tuple of elements of`array0`... in row-major order. The value returned is unspecified.

__primitive:__**array-index-map!***array proc*-
applies
`proc`to the indices of each element of`array`in turn, storing the result in the corresponding element. The value returned and the order of application are unspecified.One can implement

`array-indexes`as(define (array-indexes array) (let ((ra (apply make-array #f (array-shape array)))) (array-index-map! ra (lambda x x)) ra))

Another example:

(define (apl:index-generator n) (let ((v (make-uniform-vector n 1))) (array-index-map! v (lambda (i) i)) v))

Go to the first, previous, next, last section, table of contents.