Re: [Rd] 1.6x speedup for requal() function (in R/src/main/unique.c)

2011-12-01 Thread Duncan Murdoch
On 11-12-01 8:40 PM, Hervé Pagès wrote: Hi, FWIW: /* Taken from R/src/main/unique.c */ static int requal(SEXP x, int i, SEXP y, int j) { if (i< 0 || j< 0) return 0; if (!ISNAN(REAL(x)[i])&& !ISNAN(REAL(y)[j])) return (REAL(x)[i] == REAL(y)[j]); else if (R_IsNA(REA

[Rd] 1.6x speedup for requal() function (in R/src/main/unique.c)

2011-12-01 Thread Hervé Pagès
Hi, FWIW: /* Taken from R/src/main/unique.c */ static int requal(SEXP x, int i, SEXP y, int j) { if (i < 0 || j < 0) return 0; if (!ISNAN(REAL(x)[i]) && !ISNAN(REAL(y)[j])) return (REAL(x)[i] == REAL(y)[j]); else if (R_IsNA(REAL(x)[i]) && R_IsNA(REAL(y)[j])) return 1; els