Commit | Line | Data |
---|---|---|
22a648b6 KM |
1 | /* Copyright (c) 1979 Regents of the University of California */ |
2 | ||
492cc5d3 | 3 | static char sccsid[] = "@(#)EXPO.c 1.2 %G%"; |
22a648b6 | 4 | |
492cc5d3 | 5 | long |
22a648b6 KM |
6 | EXPO(value) |
7 | ||
492cc5d3 | 8 | double value; |
22a648b6 | 9 | { |
492cc5d3 KM |
10 | register int retval; |
11 | register char *cp; | |
12 | char sign, buf[30]; | |
13 | extern char *index(); | |
14 | ||
15 | if (value == 0.0) | |
22a648b6 | 16 | return 0; |
492cc5d3 KM |
17 | sprintf(buf, "%.1e", value); |
18 | cp = index(buf, 'e') + 1; | |
19 | sign = *cp++; | |
20 | retval = 0; | |
21 | while (*cp) | |
22 | retval = retval * 10 + *cp++ - '0'; | |
23 | return sign == '-' ? -retval : retval; | |
22a648b6 | 24 | } |