void printRealVector(double *x, int n, int indx) { int i, w, d, e, labwidth=0, width; DO_first_lab; formatReal(x, n, &w, &d, &e, 0); w += R_print.gap; for (i = 0; i < n; i++) { if (i > 0 && width + w > R_print.width) { DO_newline; } Rprintf("%s", EncodeReal(x[i], w, d, e, OutDec)); width += w; } Rprintf("\n"); }
static void printRealMatrix(SEXP sx, int offset, int r_pr, int r, int c, SEXP rl, SEXP cl, const char *rn, const char *cn) { _PRINT_INIT_rl_rn; double *x = REAL(sx) + offset; int *d = (int *) R_alloc(c, sizeof(int)), *e = (int *) R_alloc(c, sizeof(int)); for (j = 0; j < c; j++) { formatReal(&x[j * r], (R_xlen_t) r, &w[j], &d[j], &e[j], 0); _PRINT_SET_clabw; if (w[j] < clabw) w[j] = clabw; w[j] += R_print.gap; } _PRINT_DEAL_c_eq_0; while (jmin < c) { width = rlabw; do { width += w[jmax]; jmax++; } while (jmax < c && width + w[jmax] < R_print.width); _PRINT_ROW_LAB; for (j = jmin; j < jmax ; j++) MatrixColumnLabel(cl, j, w[j]); for (i = 0; i < r_pr; i++) { MatrixRowLabel(rl, i, rlabw, lbloff); for (j = jmin; j < jmax; j++) { Rprintf("%s", EncodeReal(x[i + j * r], w[j], d[j], e[j], OutDec)); } } Rprintf("\n"); jmin = jmax; } }
void printComplexVector(Rcomplex *x, int n, int indx) { int i, w, wr, dr, er, wi, di, ei, labwidth=0, width; DO_first_lab; formatComplex(x, n, &wr, &dr, &er, &wi, &di, &ei, 0); w = wr + wi + 2; /* +2 for "+" and "i" */ w += R_print.gap; for (i = 0; i < n; i++) { if (i > 0 && width + w > R_print.width) { DO_newline; } if (ISNA(x[i].r) || ISNA(x[i].i)) Rprintf("%s", EncodeReal(NA_REAL, w, 0, 0, OutDec)); else Rprintf("%s", EncodeComplex(x[i], wr + R_print.gap , dr, er, wi, di, ei, OutDec)); width += w; } Rprintf("\n"); }
static void printNamedLogicalVector(int * x, int n, SEXP * names) PRINT_N_VECTOR(formatLogical(x, n, &w), Rprintf("%s%*s", EncodeLogical(x[k],w), R_print.gap,"")) static void printNamedIntegerVector(int * x, int n, SEXP * names) PRINT_N_VECTOR(formatInteger(x, n, &w), Rprintf("%s%*s", EncodeInteger(x[k],w), R_print.gap,"")) #undef INI_F_REAL #define INI_F_REAL int d, e; formatReal(x, n, &w, &d, &e, 0) static void printNamedRealVector(double * x, int n, SEXP * names) PRINT_N_VECTOR(INI_F_REAL, Rprintf("%s%*s", EncodeReal(x[k],w,d,e, OutDec),R_print.gap,"")) #undef INI_F_CPLX #define INI_F_CPLX \ int wr, dr, er, wi, di, ei; \ formatComplex(x, n, &wr, &dr, &er, &wi, &di, &ei, 0); \ w = wr + wi + 2 #undef P_IMAG_NA #define P_IMAG_NA \ if(ISNAN(x[k].i)) \ Rprintf("+%si", "NaN"); \ else static void printNamedComplexVector(Rcomplex * x, int n, SEXP * names) PRINT_N_VECTOR(INI_F_CPLX,