|
|
Power 6/32 Unix version 1.2b
/* fltpr.c Tahoe version 1/21/83 */
char *fcvt(), *ecvt();
char *
_pfloat(number, ndigit, p)
double number;
register int ndigit;
register char *p;
{
register decpt;
register char *s;
int pdecpt, sign;
s = fcvt(number, ndigit, &pdecpt, &sign);
decpt = pdecpt;
if(sign)
*p++ = '-';
if(decpt <= 0)
*p++ = '0';
while(decpt > 0) {
*p++ = *s++;
decpt--;
}
if(ndigit)
*p++ = '.';
while(ndigit>0 && decpt<0) {
*p++ = '0';
decpt++;
ndigit--;
}
while(ndigit > 0) {
*p++ = *s++;
ndigit--;
}
return(p);
}
char *
_pscien(number, ndigit, p)
double number;
register int ndigit;
register char *p;
{
register decpt;
register char *s;
int pdecpt, sign;
s = ecvt(number, ndigit, &pdecpt, &sign);
decpt = pdecpt;
if(sign)
*p++ = '-';
if(*s == '0')
decpt++;
*p++ = *s++;
*p++ = '.';
while(--ndigit > 0)
*p++ = *s++;
*p++ = 'e';
if(--decpt < 0) {
decpt = -decpt;
*p++ = '-';
}
else
*p++ = '+';
*p++ = decpt/10+'0';
*p++ = decpt%10+'0';
return(p);
}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.