HELP ARRAY_TRANSPOSE David Young, March 2001 revised Oct 2001 LIB *array_transpose provides a procedure for obtaining the transpose of a region of a two-dimensional array. array_transpose(_____arrin, ________regionin, ______arrout) -> ______arrout The first argument, _____arrin, must be a 2-D array. Arrays of packed floats (as returned by *newsfloatarray) and packed bytes (as returned by *newbytearray) are handled more efficiently than other types, provided that they are arrayed "by row". ________regionin may be , in which case data is taken from the whole of _____arrin. Otherwise, ________regionin must specify, in *boundslist form, the region of _____array from which data are to be taken. Suppose ________regionin (or the boundslist of _____arrin if ________regionin is false) has the form [x0 x1 y0 y1]. If ______arrout is an array on entry, it must contain the region [y0 y1 x0 x1], and data is written to this region. If _____arrin is one of the special types of array mentioned above, then for efficiency ______arrout should be the same type. ______arrout and _____arrin may not be the same array or have the same arrayvector. If ______arrout is on entry, a new array of the same type as _____arrin and with bounds [y0 y1 x0 x1] is created and returned. If ______arrout is not an array and not on entry, a recyclable array, as produced by oldanyarray (see *oldarray) is created and returned, using ______arrout as the tag. This can reduce garbage creation when temporary arrays are used in a procedure. The output array has the same type as _____arrin and the bounds [y0 y1 x0 x1]. On exit from the procedure, ______arrout(_y, _x) = _____arrin(_x, _y) for all _x and _y such that __x0 <= _x <= __x1 and __y0 <= _y <= __y1. --- _______________________________$popvision/help/array_transpose --- _________Copyright __________University __of ______Sussex _____2001. ___All ______rights _________reserved.