1 /*- 2 * Copyright (c) 1979 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * %sccs.include.redist.c% 6 */ 7 8 #ifndef lint 9 static char sccsid[] = "@(#)EXPO.c 1.3 (Berkeley) 04/09/90"; 10 #endif /* not lint */ 11 12 long 13 EXPO(value) 14 15 double value; 16 { 17 register int retval; 18 register char *cp; 19 char sign, buf[30]; 20 extern char *index(); 21 22 if (value == 0.0) 23 return 0; 24 sprintf(buf, "%.1e", value); 25 cp = index(buf, 'e') + 1; 26 sign = *cp++; 27 retval = 0; 28 while (*cp) 29 retval = retval * 10 + *cp++ - '0'; 30 return sign == '-' ? -retval : retval; 31 } 32