projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
merge in onyx changes
[unix-history]
/
usr
/
src
/
usr.bin
/
pascal
/
libpc
/
EXPO.c
diff --git
a/usr/src/usr.bin/pascal/libpc/EXPO.c
b/usr/src/usr.bin/pascal/libpc/EXPO.c
index
48c81d7
..
46f2988
100644
(file)
--- a/
usr/src/usr.bin/pascal/libpc/EXPO.c
+++ b/
usr/src/usr.bin/pascal/libpc/EXPO.c
@@
-1,12
+1,24
@@
/* Copyright (c) 1979 Regents of the University of California */
/* Copyright (c) 1979 Regents of the University of California */
-static char sccsid[] = "@(#)EXPO.c 1.
1
%G%";
+static char sccsid[] = "@(#)EXPO.c 1.
2
%G%";
+long
EXPO(value)
EXPO(value)
-
long
value;
+
double
value;
{
{
- if (value == 0)
+ register int retval;
+ register char *cp;
+ char sign, buf[30];
+ extern char *index();
+
+ if (value == 0.0)
return 0;
return 0;
- return ((value & ~0xffff8000) >> 7) - 128;
+ sprintf(buf, "%.1e", value);
+ cp = index(buf, 'e') + 1;
+ sign = *cp++;
+ retval = 0;
+ while (*cp)
+ retval = retval * 10 + *cp++ - '0';
+ return sign == '-' ? -retval : retval;
}
}