-- David Brahm (brahm@alum.mit.edu)
############################# Patch file follows #############################
#
# Go into the R-1.7.0 directory and type "patch -p1 < scipen.diff" where
# "scipen.diff" is this file, and "patch" is the GNU patch utility.
#
diff -cr R-1.7.0/src/include/Print.h R-1.7.0.mod/src/include/Print.h
*** R-1.7.0/src/include/Print.h 2003-01-31 10:00:34.000000000 -0500
--- R-1.7.0.mod/src/include/Print.h 2003-05-05 12:34:56.614703522 -0400
***************
*** 38,43 ****
--- 38,44 ----
int na_width;
int na_width_noquote;
int digits;
+ int scipen;
int gap;
int quote;
int right;
diff -cr R-1.7.0/src/main/format.c R-1.7.0.mod/src/main/format.c
*** R-1.7.0/src/main/format.c 2003-01-24 11:44:50.000000000 -0500
--- R-1.7.0.mod/src/main/format.c 2003-05-05 12:38:51.181370171 -0400
***************
*** 283,289 ****
*n = mxns - 1;
*m = neg + (*n > 0) + *n + 4 + *e; /* width m for E format */
! if (mF <= *m) { /* IFF it needs less space : "F" (Fixpoint) format */
*e = 0;
*n = rgt;
*m = mF;
--- 283,289 ----
*n = mxns - 1;
*m = neg + (*n > 0) + *n + 4 + *e; /* width m for E format */
! if (mF <= *m + R_print.scipen) { /* Fixpoint if it needs less space */
*e = 0;
*n = rgt;
*m = mF;
***************
*** 392,398 ****
else *er = 1;
*nr = mxns - 1;
*mr = neg + (*nr > 0) + *nr + 4 + *er;
! if (mF <= *mr) { /* IFF it needs less space : "F" (Fixpoint) format */
*er = 0;
*nr = rt;
*mr = mF;
--- 392,398 ----
else *er = 1;
*nr = mxns - 1;
*mr = neg + (*nr > 0) + *nr + 4 + *er;
! if (mF <= *mr + R_print.scipen) { /* Fixpoint if it needs less space */
*er = 0;
*nr = rt;
*mr = mF;
***************
*** 418,424 ****
else *ei = 1;
*ni = i_mxns - 1;
*mi = (*ni > 0) + *ni + 4 + *ei;
! if (mF <= *mi) { /* IFF it needs less space : "F" (Fixpoint) format */
*ei = 0;
*ni = i_rt;
*mi = mF;
--- 418,424 ----
else *ei = 1;
*ni = i_mxns - 1;
*mi = (*ni > 0) + *ni + 4 + *ei;
! if (mF <= *mi + R_print.scipen) { /* Fixpoint if it needs less space */
*ei = 0;
*ni = i_rt;
*mi = mF;
diff -cr R-1.7.0/src/main/print.c R-1.7.0.mod/src/main/print.c
*** R-1.7.0/src/main/print.c 2003-03-04 05:51:24.000000000 -0500
--- R-1.7.0.mod/src/main/print.c 2003-05-05 12:37:06.998036850 -0400
***************
*** 86,91 ****
--- 86,93 ----
R_print.quote = 1;
R_print.right = 0;
R_print.digits = GetOptionDigits(rho);
+ R_print.scipen = asInteger(GetOption(install("scipen"), rho));
+ if (R_print.scipen == NA_INTEGER) R_print.scipen = 0;
R_print.gap = 1;
R_print.width = GetOptionWidth(rho);
}
#
############################# End of patch file #############################