minor mods

This commit is contained in:
ceriel
1991-02-26 15:46:18 +00:00
parent 9c0b85db41
commit ee02bfcd82
4 changed files with 36 additions and 34 deletions

View File

@@ -288,23 +288,21 @@ flt_str2flt(s, e)
flt_chk(e);
}
#define NDIGITS 128
#define NDIG 18
static char *
flt_ecvt(e, ndigit, decpt, sign)
flt_ecvt(e, decpt, sign)
register flt_arith *e;
int ndigit, *decpt, *sign;
int *decpt, *sign;
{
/* Like ecvt(), but for extended precision */
static char buf[NDIGITS+1];
static char buf[NDIG+1];
register char *p = buf;
register char *pe;
register int findex = 0;
if (ndigit < 0) ndigit = 0;
if (ndigit > NDIGITS) ndigit = NDIGITS;
pe = &buf[ndigit];
pe = &buf[NDIG];
buf[0] = '\0';
*sign = 0;
@@ -416,6 +414,7 @@ flt_ecvt(e, ndigit, decpt, sign)
}
}
*pe = '\0';
while (--pe > buf && *pe == '0') *pe = '\0';
}
return buf;
}
@@ -425,7 +424,6 @@ flt_flt2str(e, buf, bufsize)
char *buf;
{
#define NDIG 19
int sign, dp;
register int i;
register char *s1;
@@ -435,14 +433,17 @@ flt_flt2str(e, buf, bufsize)
e1 = *e;
flt_status = 0;
s1 = flt_ecvt(&e1,NDIG,&dp,&sign);
s1 = flt_ecvt(&e1,&dp,&sign);
if (sign)
*s++ = '-';
*s++ = *s1++;
*s++ = '.';
for (i = NDIG-1; i > 0; i--) {
if (*s1) *s++ = *s1++;
else *s++ = '0';
else {
if (i == NDIG-1) *s++ = '0';
break;
}
}
if (e->m1 | e->m2) {
--dp ;