The R Project SVN R

Rev

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

Rev 9615 Rev 9642
Line 46... Line 46...
46
    int *x, *w;
46
    int *x, *w;
47
    int width, rlabw, clabw, rnw;
47
    int width, rlabw, clabw, rnw;
48
    int i, j, jmin, jmax, lbloff = 0;
48
    int i, j, jmin, jmax, lbloff = 0;
49
 
49
 
50
    if (!isNull(rl))
50
    if (!isNull(rl))
51
	formatString(STRING(rl), r, &rlabw, 0);
51
	formatString(STRING_PTR(rl), r, &rlabw, 0);
52
    else
52
    else
53
	rlabw = IndexWidth(r + 1) + 3;
53
	rlabw = IndexWidth(r + 1) + 3;
54
 
54
 
55
    if (rn) {
55
    if (rn) {
56
	rnw = strlen(rn);
56
	rnw = strlen(rn);
Line 67... Line 67...
67
    w = INTEGER(sw);
67
    w = INTEGER(sw);
68
 
68
 
69
    for (j = 0; j < c; j++) {
69
    for (j = 0; j < c; j++) {
70
	formatLogical(&x[j * r], r, &w[j]);
70
	formatLogical(&x[j * r], r, &w[j]);
71
	if (!isNull(cl))
71
	if (!isNull(cl))
72
	    clabw = strlen(CHAR(STRING(cl)[j]));
72
	    clabw = strlen(CHAR(STRING_ELT(cl, j)));
73
	else
73
	else
74
	    clabw = IndexWidth(j + 1) + 3;
74
	    clabw = IndexWidth(j + 1) + 3;
75
	if (w[j] < clabw)
75
	if (w[j] < clabw)
76
	    w[j] = clabw;
76
	    w[j] = clabw;
77
	w[j] += R_print.gap;
77
	w[j] += R_print.gap;
Line 114... Line 114...
114
    int *x, *w;
114
    int *x, *w;
115
    int width, rlabw, clabw, rnw;
115
    int width, rlabw, clabw, rnw;
116
    int i, j, jmin, jmax, lbloff = 0;
116
    int i, j, jmin, jmax, lbloff = 0;
117
 
117
 
118
    if (!isNull(rl))
118
    if (!isNull(rl))
119
	formatString(STRING(rl), r, &rlabw, 0);
119
	formatString(STRING_PTR(rl), r, &rlabw, 0);
120
    else
120
    else
121
	rlabw = IndexWidth(r + 1) + 3;
121
	rlabw = IndexWidth(r + 1) + 3;
122
 
122
 
123
    if (rn) {
123
    if (rn) {
124
	rnw = strlen(rn);
124
	rnw = strlen(rn);
Line 134... Line 134...
134
    x = INTEGER(sx) + offset;
134
    x = INTEGER(sx) + offset;
135
    w = INTEGER(sw);
135
    w = INTEGER(sw);
136
    for (j = 0; j < c; j++) {
136
    for (j = 0; j < c; j++) {
137
	formatInteger(&x[j * r], r, &w[j]);
137
	formatInteger(&x[j * r], r, &w[j]);
138
	if (!isNull(cl))
138
	if (!isNull(cl))
139
	    clabw = strlen(CHAR(STRING(cl)[j]));
139
	    clabw = strlen(CHAR(STRING_ELT(cl, j)));
140
	else
140
	else
141
	    clabw = IndexWidth(j + 1) + 3;
141
	    clabw = IndexWidth(j + 1) + 3;
142
	if (w[j] < clabw)
142
	if (w[j] < clabw)
143
	    w[j] = clabw;
143
	    w[j] = clabw;
144
	w[j] += R_print.gap;
144
	w[j] += R_print.gap;
Line 182... Line 182...
182
    int *d, *e, *w;
182
    int *d, *e, *w;
183
    int width, rlabw, clabw, rnw;
183
    int width, rlabw, clabw, rnw;
184
    int i, j, jmin, jmax, lbloff = 0;
184
    int i, j, jmin, jmax, lbloff = 0;
185
 
185
 
186
    if (!isNull(rl))
186
    if (!isNull(rl))
187
	formatString(STRING(rl), r, &rlabw, 0);
187
	formatString(STRING_PTR(rl), r, &rlabw, 0);
188
    else
188
    else
189
	rlabw = IndexWidth(r + 1) + 3;
189
	rlabw = IndexWidth(r + 1) + 3;
190
 
190
 
191
    if (rn) {
191
    if (rn) {
192
	rnw = strlen(rn);
192
	rnw = strlen(rn);
Line 208... Line 208...
208
    w = INTEGER(sw);
208
    w = INTEGER(sw);
209
 
209
 
210
    for (j = 0; j < c; j++) {
210
    for (j = 0; j < c; j++) {
211
	formatReal(&x[j * r], r, &w[j], &d[j], &e[j]);
211
	formatReal(&x[j * r], r, &w[j], &d[j], &e[j]);
212
	if (!isNull(cl))
212
	if (!isNull(cl))
213
	    clabw = strlen(CHAR(STRING(cl)[j]));
213
	    clabw = strlen(CHAR(STRING_ELT(cl, j)));
214
	else
214
	else
215
	    clabw = IndexWidth(j + 1) + 3;
215
	    clabw = IndexWidth(j + 1) + 3;
216
	if (w[j] < clabw)
216
	if (w[j] < clabw)
217
	    w[j] = clabw;
217
	    w[j] = clabw;
218
	w[j] += R_print.gap;
218
	w[j] += R_print.gap;
Line 256... Line 256...
256
    int *dr, *er, *wr, *di, *ei, *wi, *w;
256
    int *dr, *er, *wr, *di, *ei, *wi, *w;
257
    int width, rlabw, clabw, rnw;
257
    int width, rlabw, clabw, rnw;
258
    int i, j, jmin, jmax, lbloff = 0;
258
    int i, j, jmin, jmax, lbloff = 0;
259
 
259
 
260
    if (!isNull(rl))
260
    if (!isNull(rl))
261
	formatString(STRING(rl), r, &rlabw, 0);
261
	formatString(STRING_PTR(rl), r, &rlabw, 0);
262
    else
262
    else
263
	rlabw = IndexWidth(r + 1) + 3;
263
	rlabw = IndexWidth(r + 1) + 3;
264
 
264
 
265
    if (rn) {
265
    if (rn) {
266
	rnw = strlen(rn);
266
	rnw = strlen(rn);
Line 294... Line 294...
294
    for (j = 0; j < c; j++) {
294
    for (j = 0; j < c; j++) {
295
	formatComplex(&x[j * r], r,
295
	formatComplex(&x[j * r], r,
296
		      &wr[j], &dr[j], &er[j],
296
		      &wr[j], &dr[j], &er[j],
297
		      &wi[j], &di[j], &ei[j]);
297
		      &wi[j], &di[j], &ei[j]);
298
	if (!isNull(cl))
298
	if (!isNull(cl))
299
	    clabw = strlen(CHAR(STRING(cl)[j]));
299
	    clabw = strlen(CHAR(STRING_ELT(cl, j)));
300
	else
300
	else
301
	    clabw = IndexWidth(j + 1) + 3;
301
	    clabw = IndexWidth(j + 1) + 3;
302
	w[j] = wr[j] + wi[j] + 2;
302
	w[j] = wr[j] + wi[j] + 2;
303
	if (w[j] < clabw)
303
	if (w[j] < clabw)
304
	    w[j] = clabw;
304
	    w[j] = clabw;
Line 351... Line 351...
351
    int *w;
351
    int *w;
352
    int width, rlabw, clabw, rnw;
352
    int width, rlabw, clabw, rnw;
353
    int i, j, jmin, jmax, lbloff = 0;
353
    int i, j, jmin, jmax, lbloff = 0;
354
 
354
 
355
    if (!isNull(rl))
355
    if (!isNull(rl))
356
	formatString(STRING(rl), r, &rlabw, 0);
356
	formatString(STRING_PTR(rl), r, &rlabw, 0);
357
    else
357
    else
358
	rlabw = IndexWidth(r + 1) + 3;
358
	rlabw = IndexWidth(r + 1) + 3;
359
 
359
 
360
    if (rn) {
360
    if (rn) {
361
	rnw = strlen(rn);
361
	rnw = strlen(rn);
Line 366... Line 366...
366
 
366
 
367
	rlabw += lbloff;
367
	rlabw += lbloff;
368
    }
368
    }
369
 
369
 
370
    sw = allocVector(INTSXP, c);
370
    sw = allocVector(INTSXP, c);
371
    x = STRING(sx)+offset;
371
    x = STRING_PTR(sx)+offset;
372
    w = INTEGER(sw);
372
    w = INTEGER(sw);
373
    for (j = 0; j < c; j++) {
373
    for (j = 0; j < c; j++) {
374
	formatString(&x[j * r], r, &w[j], quote);
374
	formatString(&x[j * r], r, &w[j], quote);
375
	if (!isNull(cl)) clabw = strlen(CHAR(STRING(cl)[j]));
375
	if (!isNull(cl)) clabw = strlen(CHAR(STRING_ELT(cl, j)));
376
	else clabw = IndexWidth(j + 1) + 3;
376
	else clabw = IndexWidth(j + 1) + 3;
377
	if (w[j] < clabw)
377
	if (w[j] < clabw)
378
	    w[j] = clabw;
378
	    w[j] = clabw;
379
    }
379
    }
380
    jmin = 0;
380
    jmin = 0;
Line 473... Line 473...
473
	if (dimnames == R_NilValue) {
473
	if (dimnames == R_NilValue) {
474
	    dn0 = R_NilValue;
474
	    dn0 = R_NilValue;
475
	    dn1 = R_NilValue;
475
	    dn1 = R_NilValue;
476
	}
476
	}
477
	else {
477
	else {
478
	    dn0 = VECTOR(dimnames)[0];
478
	    dn0 = VECTOR_ELT(dimnames, 0);
479
	    dn1 = VECTOR(dimnames)[1];
479
	    dn1 = VECTOR_ELT(dimnames, 1);
480
	    has_dimnames = 1;
480
	    has_dimnames = 1;
481
	    dnn = getAttrib(dimnames, R_NamesSymbol);
481
	    dnn = getAttrib(dimnames, R_NamesSymbol);
482
	    has_dnn = !isNull(dnn);
482
	    has_dnn = !isNull(dnn);
483
	    if ( has_dnn ) {
483
	    if ( has_dnn ) {
484
		rn = CHAR(STRING(dnn)[0]);
484
		rn = CHAR(STRING_ELT(dnn, 0));
485
		cn = CHAR(STRING(dnn)[1]);
485
		cn = CHAR(STRING_ELT(dnn, 1));
486
	    }
486
	    }
487
	}
487
	}
488
	for (i = 0; i < nb; i++) {
488
	for (i = 0; i < nb; i++) {
489
	    Rprintf(", ");
489
	    Rprintf(", ");
490
	    k = 1;
490
	    k = 1;
491
	    for (j = 2 ; j < ndim; j++) {
491
	    for (j = 2 ; j < ndim; j++) {
492
		l = (i / k) % INTEGER(dim)[j] + 1;
492
		l = (i / k) % INTEGER(dim)[j] + 1;
493
		if (has_dimnames &&
493
		if (has_dimnames &&
494
		    ((dn = VECTOR(dimnames)[j]) != R_NilValue)) {
494
		    ((dn = VECTOR_ELT(dimnames, j)) != R_NilValue)) {
495
		    if ( has_dnn )
495
		    if ( has_dnn )
496
			Rprintf(", %s = %s",
496
			Rprintf(", %s = %s",
497
				CHAR(STRING(dnn)[j]),
497
				CHAR(STRING_ELT(dnn, j)),
498
				CHAR(STRING(dn)[l - 1]));
498
				CHAR(STRING_ELT(dn, l - 1)));
499
		    else
499
		    else
500
			Rprintf(", %s", CHAR(STRING(dn)[l - 1]));
500
			Rprintf(", %s", CHAR(STRING_ELT(dn, l - 1)));
501
		} else
501
		} else
502
		    Rprintf(", %d", l);
502
		    Rprintf(", %d", l);
503
		k = k * INTEGER(dim)[j];
503
		k = k * INTEGER(dim)[j];
504
	    }
504
	    }
505
	    Rprintf("\n\n");
505
	    Rprintf("\n\n");