Displaying 1 result from an estimated 1 matches for "requal2".
Did you mean:
equal2
2011 Dec 02
1
1.6x speedup for requal() function (in R/src/main/unique.c)
...y)[j]))
return (REAL(x)[i] == REAL(y)[j]);
else if (R_IsNA(REAL(x)[i]) && R_IsNA(REAL(y)[j])) return 1;
else if (R_IsNaN(REAL(x)[i]) && R_IsNaN(REAL(y)[j])) return 1;
else return 0;
}
/* Between 1.34x and 1.37x faster on my 64-bit Ubuntu laptop */
static int requal2(SEXP x, int i, SEXP y, int j)
{
double xi, yj;
if (i < 0 || j < 0) return 0;
xi = REAL(x)[i];
yj = REAL(y)[j];
if (!ISNAN(xi) && !ISNAN(yj)) return xi == yj;
if (R_IsNA(xi) && R_IsNA(yj)) return 1;
if (R_IsNaN(xi) && R_IsNaN(yj)) ret...