Displaying 1 result from an estimated 1 matches for "applysum".
Did you mean:
applys
2001 Dec 14
2
colSums in C
...ethod 2? Is it stupid code, a bad compiler,
non-optimal optimizer options, or ???
Here's my interface function and simple C code (compiled with gcc via R
SHLIB, no Makevars file):
g.apply.sum <- function(x, MARGIN=1, na.rm=T) {
dx <- dim(x)
if (na.rm) x[is.na(x)] <- 0
.C("applysum", as.real(x), dx, as.integer(MARGIN), z=real(dx[MARGIN]),
DUP=FALSE)$z
}
void applysum(double *x, long *dx, long *mar, double *z) {
long i, j;
if (*mar==1)
for(i=0; i<dx[0]; i++) for(j=0; j<dx[1]; j++) z[i] += x[i + dx[0]*j];
else
for(j=0; j<dx[1]; j++) for(i=0; i&...