The R Project SVN R

Rev

Rev 87938 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 87938 Rev 89004
Line 646... Line 646...
646
	    break;
646
	    break;
647
	case CPLXSXP:
647
	case CPLXSXP:
648
	    R_csort2(COMPLEX(s), n, decreasing);
648
	    R_csort2(COMPLEX(s), n, decreasing);
649
	    break;
649
	    break;
650
	case STRSXP:
650
	case STRSXP:
651
	    ssort2(STRING_PTR(s), n, decreasing);
651
	    ssort2(STRING_PTR(s), n, decreasing); /* STRING_PTR is safe here */
652
	    break;
652
	    break;
653
	default:
653
	default:
654
	    UNIMPLEMENTED_TYPE("sortVector", s);
654
	    UNIMPLEMENTED_TYPE("sortVector", s);
655
	}
655
	}
656
}
656
}
Line 745... Line 745...
745
	break;
745
	break;
746
    case CPLXSXP:
746
    case CPLXSXP:
747
	cPsort2(COMPLEX(x), lo, hi, k);
747
	cPsort2(COMPLEX(x), lo, hi, k);
748
	break;
748
	break;
749
    case STRSXP:
749
    case STRSXP:
750
	sPsort2(STRING_PTR(x), lo, hi, k);
750
	sPsort2(STRING_PTR(x), lo, hi, k); /* STRING_PTR is safe here */
751
	break;
751
	break;
752
    default:
752
    default:
753
	UNIMPLEMENTED_TYPE("Psort", x);
753
	UNIMPLEMENTED_TYPE("Psort", x);
754
    }
754
    }
755
}
755
}
Line 1154... Line 1154...
1154
    int c, i, j, h, t, lo = 0, hi = n-1;
1154
    int c, i, j, h, t, lo = 0, hi = n-1;
1155
    int itmp, *isna = NULL, numna = 0;
1155
    int itmp, *isna = NULL, numna = 0;
1156
    int *ix = NULL /* -Wall */;
1156
    int *ix = NULL /* -Wall */;
1157
    double *x = NULL /* -Wall */;
1157
    double *x = NULL /* -Wall */;
1158
    Rcomplex *cx = NULL /* -Wall */;
1158
    Rcomplex *cx = NULL /* -Wall */;
1159
    SEXP *sx = NULL /* -Wall */;
1159
    const SEXP *sx = NULL /* -Wall */;
1160
 
1160
 
1161
    if (n < 2) return;
1161
    if (n < 2) return;
1162
    switch (TYPEOF(key)) {
1162
    switch (TYPEOF(key)) {
1163
    case LGLSXP:
1163
    case LGLSXP:
1164
    case INTSXP:
1164
    case INTSXP:
Line 1166... Line 1166...
1166
	break;
1166
	break;
1167
    case REALSXP:
1167
    case REALSXP:
1168
	x = REAL(key);
1168
	x = REAL(key);
1169
	break;
1169
	break;
1170
    case STRSXP:
1170
    case STRSXP:
1171
	sx = STRING_PTR(key);
1171
	sx = STRING_PTR_RO(key);
1172
	break;
1172
	break;
1173
    case CPLXSXP:
1173
    case CPLXSXP:
1174
	cx = COMPLEX(key);
1174
	cx = COMPLEX(key);
1175
	break;
1175
	break;
1176
    }
1176
    }
Line 1290... Line 1290...
1290
    R_xlen_t c, i, j, h, t, lo = 0, hi = n-1;
1290
    R_xlen_t c, i, j, h, t, lo = 0, hi = n-1;
1291
    int *isna = NULL, numna = 0;
1291
    int *isna = NULL, numna = 0;
1292
    int *ix = NULL /* -Wall */;
1292
    int *ix = NULL /* -Wall */;
1293
    double *x = NULL /* -Wall */;
1293
    double *x = NULL /* -Wall */;
1294
    Rcomplex *cx = NULL /* -Wall */;
1294
    Rcomplex *cx = NULL /* -Wall */;
1295
    SEXP *sx = NULL /* -Wall */;
1295
    const SEXP *sx = NULL /* -Wall */;
1296
    R_xlen_t itmp;
1296
    R_xlen_t itmp;
1297
 
1297
 
1298
    if (n < 2) return;
1298
    if (n < 2) return;
1299
    switch (TYPEOF(key)) {
1299
    switch (TYPEOF(key)) {
1300
    case LGLSXP:
1300
    case LGLSXP:
Line 1303... Line 1303...
1303
	break;
1303
	break;
1304
    case REALSXP:
1304
    case REALSXP:
1305
	x = REAL(key);
1305
	x = REAL(key);
1306
	break;
1306
	break;
1307
    case STRSXP:
1307
    case STRSXP:
1308
	sx = STRING_PTR(key);
1308
	sx = STRING_PTR_RO(key);
1309
	break;
1309
	break;
1310
    case CPLXSXP:
1310
    case CPLXSXP:
1311
	cx = COMPLEX(key);
1311
	cx = COMPLEX(key);
1312
	break;
1312
	break;
1313
    }
1313
    }