mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-24 20:30:28 +02:00
Merge until e0bcda4ad9
from stable-2.2
This commit is contained in:
commit
f85d3c0bd8
21 changed files with 507 additions and 312 deletions
|
@ -7498,10 +7498,6 @@ same type, and have corresponding elements which are either
|
|||
@code{equal?} (@pxref{Equality}) in that all arguments must be arrays.
|
||||
@end deffn
|
||||
|
||||
@c FIXME: array-map! accepts no source arrays at all, and in that
|
||||
@c case makes calls "(proc)". Is that meant to be a documented
|
||||
@c feature?
|
||||
@c
|
||||
@c FIXME: array-for-each doesn't say what happens if the sources have
|
||||
@c different index ranges. The code currently iterates over the
|
||||
@c indices of the first and expects the others to cover those. That
|
||||
|
@ -7509,14 +7505,15 @@ same type, and have corresponding elements which are either
|
|||
@c documented feature?
|
||||
|
||||
@deffn {Scheme Procedure} array-map! dst proc src @dots{}
|
||||
@deffnx {Scheme Procedure} array-map-in-order! dst proc src1 @dots{} srcN
|
||||
@deffnx {Scheme Procedure} array-map-in-order! dst proc src @dots{}
|
||||
@deffnx {C Function} scm_array_map_x (dst, proc, srclist)
|
||||
Set each element of the @var{dst} array to values obtained from calls
|
||||
to @var{proc}. The value returned is unspecified.
|
||||
Set each element of the @var{dst} array to values obtained from calls to
|
||||
@var{proc}. The list of @var{src} arguments may be empty. The value
|
||||
returned is unspecified.
|
||||
|
||||
Each call is @code{(@var{proc} @var{elem1} @dots{} @var{elemN})},
|
||||
where each @var{elem} is from the corresponding @var{src} array, at
|
||||
the @var{dst} index. @code{array-map-in-order!} makes the calls in
|
||||
Each call is @code{(@var{proc} @var{elem} @dots{})}, where each
|
||||
@var{elem} is from the corresponding @var{src} array, at the
|
||||
@var{dst} index. @code{array-map-in-order!} makes the calls in
|
||||
row-major order, @code{array-map!} makes them in an unspecified order.
|
||||
|
||||
The @var{src} arrays must have the same number of dimensions as
|
||||
|
@ -7568,37 +7565,19 @@ $\left(\matrix{%
|
|||
@end example
|
||||
@end deffn
|
||||
|
||||
@deffn {Scheme Procedure} uniform-array-read! ra [port_or_fd [start [end]]]
|
||||
@deffnx {C Function} scm_uniform_array_read_x (ra, port_or_fd, start, end)
|
||||
Attempt to read all elements of array @var{ra}, in lexicographic order, as
|
||||
binary objects from @var{port_or_fd}.
|
||||
If an end of file is encountered,
|
||||
the objects up to that point are put into @var{ra}
|
||||
(starting at the beginning) and the remainder of the array is
|
||||
unchanged.
|
||||
An additional array function is available in the module
|
||||
@code{(ice-9 arrays)}. It can be used with:
|
||||
|
||||
The optional arguments @var{start} and @var{end} allow
|
||||
a specified region of a vector (or linearized array) to be read,
|
||||
leaving the remainder of the vector unchanged.
|
||||
@example
|
||||
(use-modules (ice-9 arrays))
|
||||
@end example
|
||||
|
||||
@code{uniform-array-read!} returns the number of objects read.
|
||||
@var{port_or_fd} may be omitted, in which case it defaults to the value
|
||||
returned by @code{(current-input-port)}.
|
||||
@end deffn
|
||||
|
||||
@deffn {Scheme Procedure} uniform-array-write ra [port_or_fd [start [end]]]
|
||||
@deffnx {C Function} scm_uniform_array_write (ra, port_or_fd, start, end)
|
||||
Writes all elements of @var{ra} as binary objects to
|
||||
@var{port_or_fd}.
|
||||
|
||||
The optional arguments @var{start}
|
||||
and @var{end} allow
|
||||
a specified region of a vector (or linearized array) to be written.
|
||||
|
||||
The number of objects actually written is returned.
|
||||
@var{port_or_fd} may be
|
||||
omitted, in which case it defaults to the value returned by
|
||||
@code{(current-output-port)}.
|
||||
@deffn {Scheme Procedure} array-copy src
|
||||
Return a new array with the same elements, type and shape as
|
||||
@var{src}. However, the array increments may not be the same as those of
|
||||
@var{src}. In the current implementation, the returned array will be in
|
||||
row-major order, but that might change in the future. Use
|
||||
@code{array-copy!} on an array of known order if that is a concern.
|
||||
@end deffn
|
||||
|
||||
@node Shared Arrays
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue