`(require 'array-for-each)`

SCM has some extra functions in feature `array-for-each`

:

— Function: **array-fill!**` array fill`

Stores

fillin every element ofarray. The value returned is unspecified.

— Function: **serial-array:copy!**` destination source`

Same as

`array:copy!`

but guaranteed to copy in row-major order.

— Function: **array-equal?**` array0 array1 ...`

Returns

`#t`

iff all arguments are arrays with the same shape, the same type, and have corresponding elements which are either`equal?`

or`array-equal?`

. This function differs from`equal?`

in that a one dimensional shared array may bearray-equal?but notequal?to a vector or uniform vector.

— Function: **array-map!**` array0 proc array1 ...`

If

array1, ... are arrays, they must have the same number of dimensions asarray0and have a range for each index which includes the range for the corresponding index inarray0. If they are scalars, that is, not arrays, vectors, or strings, then they will be converted internally to arrays of the appropriate shape.procis applied to each tuple of elements ofarray1... and the result is stored as the corresponding element inarray0. The value returned is unspecified. The order of application is unspecified.Handling non-array arguments is a SCM extension of array-map!

— Function: **serial-array-map!**` array0 proc array1 ...`

Same as

array-map!, but guaranteed to applyprocin row-major order.

— Function: **array-map**` prototype proc array1 array2 ...`

array2, ... must have the same number of dimensions asarray1and have a range for each index which includes the range for the corresponding index inarray1.procis applied to each tuple of elements ofarray1,array2, ... and the result is stored as the corresponding element in a new array of typeprototype. The new array is returned. The order of application is unspecified.

— Function: **scalar->array**` scalar array prototype`

— Function:**scalar->array**` scalar array`

— Function:

Returns a uniform array of the same shape as

array, having only one shared element, which is`eqv?`

toscalar. If the optional argumentprototypeis supplied it will be used as the prototype for the returned array. Otherwise the returned array will be of the same type as`array`

if that is possible, and a conventional array if it is not. This function is used internally by`array-map!`

and friends to handle scalar arguments.