11649Smckusick /* Copyright (c) 1979 Regents of the University of California */ 21649Smckusick 3*3003Smckusic static char sccsid[] = "@(#)EXPO.c 1.2 03/07/81"; 41649Smckusick 5*3003Smckusic long 61649Smckusick EXPO(value) 71649Smckusick 8*3003Smckusic double value; 91649Smckusick { 10*3003Smckusic register int retval; 11*3003Smckusic register char *cp; 12*3003Smckusic char sign, buf[30]; 13*3003Smckusic extern char *index(); 14*3003Smckusic 15*3003Smckusic if (value == 0.0) 161649Smckusick return 0; 17*3003Smckusic sprintf(buf, "%.1e", value); 18*3003Smckusic cp = index(buf, 'e') + 1; 19*3003Smckusic sign = *cp++; 20*3003Smckusic retval = 0; 21*3003Smckusic while (*cp) 22*3003Smckusic retval = retval * 10 + *cp++ - '0'; 23*3003Smckusic return sign == '-' ? -retval : retval; 241649Smckusick } 25