The R Project SVN R

Rev

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

Rev 59170 Rev 60268
Line 70... Line 70...
70
 
70
 
71
double fround(double x, double digits) {
71
double fround(double x, double digits) {
72
#define MAX_DIGITS DBL_MAX_10_EXP
72
#define MAX_DIGITS DBL_MAX_10_EXP
73
    /* = 308 (IEEE); was till R 0.99: (DBL_DIG - 1) */
73
    /* = 308 (IEEE); was till R 0.99: (DBL_DIG - 1) */
74
    /* Note that large digits make sense for very small numbers */
74
    /* Note that large digits make sense for very small numbers */
75
    long double pow10, sgn, intx;
75
    LDOUBLE pow10, sgn, intx;
76
    int dig;
76
    int dig;
77
 
77
 
78
    if (ISNAN(x) || ISNAN(digits))
78
    if (ISNAN(x) || ISNAN(digits))
79
	return x + digits;
79
	return x + digits;
80
    if(!R_FINITE(x)) return x;
80
    if(!R_FINITE(x)) return x;