|
|
1.1 root 1: /* fltpr.c Tahoe version 1/21/83 */
2: char *fcvt(), *ecvt();
3: char *
4: _pfloat(number, ndigit, p)
5: double number;
6: register int ndigit;
7: register char *p;
8: {
9: register decpt;
10: register char *s;
11: int pdecpt, sign;
12:
13: s = fcvt(number, ndigit, &pdecpt, &sign);
14: decpt = pdecpt;
15: if(sign)
16: *p++ = '-';
17: if(decpt <= 0)
18: *p++ = '0';
19: while(decpt > 0) {
20: *p++ = *s++;
21: decpt--;
22: }
23: if(ndigit)
24: *p++ = '.';
25: while(ndigit>0 && decpt<0) {
26: *p++ = '0';
27: decpt++;
28: ndigit--;
29: }
30: while(ndigit > 0) {
31: *p++ = *s++;
32: ndigit--;
33: }
34: return(p);
35: }
36: char *
37: _pscien(number, ndigit, p)
38: double number;
39: register int ndigit;
40: register char *p;
41: {
42: register decpt;
43: register char *s;
44: int pdecpt, sign;
45:
46: s = ecvt(number, ndigit, &pdecpt, &sign);
47: decpt = pdecpt;
48: if(sign)
49: *p++ = '-';
50: if(*s == '0')
51: decpt++;
52: *p++ = *s++;
53: *p++ = '.';
54: while(--ndigit > 0)
55: *p++ = *s++;
56: *p++ = 'e';
57: if(--decpt < 0) {
58: decpt = -decpt;
59: *p++ = '-';
60: }
61: else
62: *p++ = '+';
63: *p++ = decpt/10+'0';
64: *p++ = decpt%10+'0';
65: return(p);
66: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.