The R Project SVN R

Rev

Rev 49597 | Rev 50896 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 49597 Rev 49990
Line 452... Line 452...
452
{
452
{
453
    SEXP indx, indexnames;
453
    SEXP indx, indexnames;
454
    int i, j, nnames, sub, extra;
454
    int i, j, nnames, sub, extra;
455
    int canstretch = *stretch;
455
    int canstretch = *stretch;
456
    /* product may overflow, so check factors as well. */
456
    /* product may overflow, so check factors as well. */
457
    Rboolean usehashing = in && ( ((ns > 1000 && nx) || (nx > 1000 && ns)) && (ns * nx > 15*nx + ns) );
457
    Rboolean usehashing = in && ( ((ns > 1000 && nx) || (nx > 1000 && ns)) || (ns * nx > 15*nx + ns) );
458
 
458
 
459
    PROTECT(s);
459
    PROTECT(s);
460
    PROTECT(names);
460
    PROTECT(names);
461
    PROTECT(indexnames = allocVector(STRSXP, ns));
461
    PROTECT(indexnames = allocVector(STRSXP, ns));
462
    nnames = nx;
462
    nnames = nx;