secondary cache feature in vm.
[minix.git] / lib / ack / libfp / fef8.fc
blob1c3b3b0b51f2604cdeee19594a308b4b1b337b52
1 /*
2   (c) copyright 1988 by the Vrije Universiteit, Amsterdam, The Netherlands.
3   See the copyright notice in the ACK home directory, in the file "Copyright".
4 */
6 /* $Header$ */
8 /*
9         SEPERATE DOUBLE INTO EXPONENT AND FRACTION (FEF 8)
12 #include        "FP_types.h"
14 void
15 fef8(r, s1)
16 DOUBLE  s1;
17 struct fef8_returns *r;
19         EXTEND  buf;
20         register struct fef8_returns *p = r;    /* make copy, r might refer
21                                                    to itself (see table)
22                                                 */
24         extend(&s1.d[0],&buf,sizeof(DOUBLE));
25         if (buf.exp == 0 && buf.m1 == 0 && buf.m2 == 0) {
26                 p->e = 0;
27         }
28         else {
29                 p->e = buf.exp + 1;
30                 buf.exp = -1;
31         }
32         compact(&buf,&p->f.d[0],sizeof(DOUBLE));