Revision: | 1.1 |
Committed: | Thu May 11 21:24:16 1989 UTC (36 years ago) by greg |
Content type: | text/plain |
Branch: | MAIN |
Log Message: | Initial revision |
# | Content |
---|---|
1 | #ifndef lint |
2 | static char SCCSid[] = "$SunId$ LBL"; |
3 | #endif |
4 | |
5 | double |
6 | frexp(x, ip) /* call it paranoia, I've seen the lib version */ |
7 | register double x; |
8 | int *ip; |
9 | { |
10 | int neg; |
11 | register int i; |
12 | |
13 | if (neg = (x < 0.0)) |
14 | x = -x; |
15 | else if (x == 0.0) { |
16 | *ip = 0; |
17 | return(0.0); |
18 | } |
19 | if (x < 0.5) |
20 | for (i = 0; x < 0.5; i--) |
21 | x *= 2.0; |
22 | else |
23 | for (i = 0; x >= 1.0; i++) |
24 | x /= 2.0; |
25 | *ip = i; |
26 | if (neg) |
27 | return(-x); |
28 | else |
29 | return(x); |
30 | } |