Vector of strictly positive integers corresponding to
dimensions to be summed over
drop
Boolean, with default TRUE meaning to drop the
summed dimensions, and FALSE meaning to retain them.
…
Further arguments, currently ignored
Value
Returns a spray object.
Details
Function asum.spray() is the method for asum(). This
takes a spray, and a vector of integers corresponding to dimensions to
be summed over.
Function asum_inverted() is the same, but takes a vector of
integers corresponding to dimensions not to sum over. This function is
here because there is nice C++ idiom for it.
Function process_dimensions() ensures that the dims
argument is consistent with the spray S and returns a cleaned
version thereof.
# NOT RUN {S <- spray(matrix(sample(0:2,60,replace=TRUE),ncol=3),addrepeats=TRUE)
S
asum(S,1)
asum(S,1:2)
asum(S,1:2,drop=FALSE)
asum(S,c(1,3)) == asum_inverted(S,2)
# }