arev: Reverses some dimensions; a generalization of rev
Description
A multidimensional generalization of rev(): given an array
a, and a Boolean vector swap, return an array of the
same shape as a but with dimensions corresponding to TRUE
elements of swap reversed. If swap is not Boolean, it is
interpreted as the dimensions along which to swap.
Usage
arev(a, swap = TRUE)
Arguments
a
Array to be reversed
swap
Vector of Boolean variables. If swap[i] is
TRUE, then dimension i of array a is reversed.
If swap is of length one, recycle to length(dim(a)).
Details
If swap is not Boolean, it is equivalent to 1:n %in%
swap (where n is the number of dimensions). Thus multiple
entries are ignored, as are entries greater than n.
If a is a vector, rev(a) is returned.
Function arev() handles zero-extent dimensions as expected.
Function arev() does not treat singleton dimensions specially,
and is thus different from Octave's flipdim(), which (if
supplied with no second argument) flips the first nonsingleton
dimension. To reproduce this, use arev(a,fnsd(a)).