File:  [Power 6/32 Unix Tahoe 4.2BSD] / cci / usr / src / lib / libc / gen / fltpr.c
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Sun Jul 28 12:24:19 2019 UTC (7 years ago) by root
Branches: bsd, MAIN
CVS tags: v12b, v121, HEAD
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);
}

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.