The R Project SVN R

Rev

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

Rev 62639 Rev 63181
Line 189... Line 189...
189
 
189
 
190
static Rboolean smin(SEXP x, SEXP *value, Rboolean narm)
190
static Rboolean smin(SEXP x, SEXP *value, Rboolean narm)
191
{
191
{
192
    SEXP s = NA_STRING; /* -Wall */
192
    SEXP s = NA_STRING; /* -Wall */
193
    Rboolean updated = FALSE;
193
    Rboolean updated = FALSE;
-
 
194
    const void *vmax = vmaxget(); // precautionary for Scollate
194
 
195
 
195
    for (R_xlen_t i = 0; i < XLENGTH(x); i++) {
196
    for (R_xlen_t i = 0; i < XLENGTH(x); i++) {
196
	if (STRING_ELT(x, i) != NA_STRING) {
197
	if (STRING_ELT(x, i) != NA_STRING) {
197
	    if (!updated ||
198
	    if (!updated ||
198
		(s != STRING_ELT(x, i) && Scollate(s, STRING_ELT(x, i)) > 0)) {
199
		(s != STRING_ELT(x, i) && Scollate(s, STRING_ELT(x, i)) > 0)) {
Line 205... Line 206...
205
	    return(TRUE);
206
	    return(TRUE);
206
	}
207
	}
207
    }
208
    }
208
    *value = s;
209
    *value = s;
209
 
210
 
-
 
211
    vmaxset(vmax);
210
    return updated;
212
    return updated;
211
}
213
}
212
 
214
 
213
static Rboolean imax(int *x, R_xlen_t n, int *value, Rboolean narm)
215
static Rboolean imax(int *x, R_xlen_t n, int *value, Rboolean narm)
214
{
216
{
Line 255... Line 257...
255
 
257
 
256
static Rboolean smax(SEXP x, SEXP *value, Rboolean narm)
258
static Rboolean smax(SEXP x, SEXP *value, Rboolean narm)
257
{
259
{
258
    SEXP s = NA_STRING; /* -Wall */
260
    SEXP s = NA_STRING; /* -Wall */
259
    Rboolean updated = FALSE;
261
    Rboolean updated = FALSE;
-
 
262
    const void *vmax = vmaxget(); // precautionary for Scollate
260
 
263
 
261
    for (R_xlen_t i = 0; i < XLENGTH(x); i++) {
264
    for (R_xlen_t i = 0; i < XLENGTH(x); i++) {
262
	if (STRING_ELT(x, i) != NA_STRING) {
265
	if (STRING_ELT(x, i) != NA_STRING) {
263
	    if (!updated ||
266
	    if (!updated ||
264
		(s != STRING_ELT(x, i) && Scollate(s, STRING_ELT(x, i)) < 0)) {
267
		(s != STRING_ELT(x, i) && Scollate(s, STRING_ELT(x, i)) < 0)) {
Line 271... Line 274...
271
	    return(TRUE);
274
	    return(TRUE);
272
	}
275
	}
273
    }
276
    }
274
    *value = s;
277
    *value = s;
275
 
278
 
-
 
279
    vmaxset(vmax);
276
    return updated;
280
    return updated;
277
}
281
}
278

282

279
static Rboolean iprod(int *x, R_xlen_t n, double *value, Rboolean narm)
283
static Rboolean iprod(int *x, R_xlen_t n, double *value, Rboolean narm)
280
{
284
{