]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MINICERN/packlib/zebra/fq/fzicvfd.inc
This commit was generated by cvs2svn to compensate for changes in r2,
[u/mrichter/AliRoot.git] / MINICERN / packlib / zebra / fq / fzicvfd.inc
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.2  1997/03/14 17:19:50  mclareni
6 * WNT mods
7 *
8 * Revision 1.1.1.1.2.1  1997/01/21 11:33:40  mclareni
9 * All mods for Winnt 96a on winnt branch
10 *
11 * Revision 1.1.1.1  1996/03/06 10:47:10  mclareni
12 * Zebra
13 *
14 *
15 *                cv IEEE -> double
16 *
17 * fzicvfd.inc
18 *
19 #if defined(CERNLIB_QMDOS) || defined(CERNLIB_WINNT)
20 #include "fzcvdpc.inc"
21 #elif defined(CERNLIB_QMLNX)
22 #include "fzcvdlnx.inc"
23 #elif defined(CERNLIB_QMTMO)
24 #include "fzcvdtmo.inc"
25 #elif defined(CERNLIB_QMVMI)
26 #include "fzcvdvmi.inc"
27 #elif defined(CERNLIB_FQIE3TDC)
28 C--       Default conversion from double IEEE to internal
29       CALL IE3TOD (MS(JMS+1),MT(JMT+1),NDPN,JBAD)
30       IF (JBAD.NE.0)  THEN
31           JBAD = 2*JBAD - 1
32           IFOCON(1) = 4
33           IFOCON(2) = JMT + JBAD
34           IFOCON(3) = MS(JMS+JBAD)
35         ENDIF
36       JMT = JMT + NWDODB
37       JMS = JMS + NWDODB
38 #elif defined(CERNLIB_FQCVDFF)
39 C--       Default conversion from double IEEE to internal
40       DO 449  JL=1,NWDODB,2
41       ITHA = MS(JMS+1)
42       IF (ITHA.EQ.0)               GO TO 442
43       ITHB  = MS(JMS+2)
44       JSIGN = JBIT (ITHA,32)
45       JEXP  = JBYT (ITHA,21,11)
46       JMANT = JBYT (ITHA, 1,20)
47       IF (JEXP.EQ.0)               GO TO 431
48       IF (JEXP.EQ.2047)            GO TO 433
49
50       JMANT = JMANT + 1 048 576
51       JEXP  = JEXP  - 1023
52       IF (JEXP.GT.JEXMAX)          GO TO 432
53   424 IF (JEXP.LT.JEXMIN)          GO TO 441
54
55       JMANS = JBYT (ITHB,17,16)
56       JMANR = JBYT (ITHB, 1,16)
57
58       JPRE  = ISIGN (48,JEXP)
59       THDB  = (  DBLE(JMANT)
60      +         + DBLE(FLOAT(JMANS)*2.**(-16))
61      +         + DBLE(FLOAT(JMANR)*2.**(-32)) ) * 2.**(JPRE-20)
62       THDB  = THDB * 2.**(JEXP-JPRE)
63       IF (JSIGN.EQ.0)              GO TO 447
64       THDB = -THDB
65       GO TO 447
66
67   431 IF (JMANT.EQ.0)              GO TO 441
68       JEXP = -1022
69       GO TO 424
70
71   432 JMANT = 0
72   433 IF (JMANT.EQ.0)    THEN
73           IF (JSIGN.EQ.0)  THEN
74               ITHB = IOVPMD
75             ELSE
76               ITHB = IOVNMD
77             ENDIF
78         ELSE
79           ITHB = IBADMD
80         ENDIF
81       IFOCON(1) = 4
82       IFOCON(2) = JMT
83       IFOCON(3) = ITHA
84       ITHA = ITHB
85       ITHB = IBADME
86       GO TO 447
87
88   441 ITHA = 0
89   442 ITHB = 0
90   447 MT(JMT+1) = ITHA
91       MT(JMT+2) = ITHB
92       JMT = JMT + 2
93   449 JMS = JMS + 2
94 #elif 1
95       CALL UCOPY (MS(JMS+1),MT(JMT+1),NWDODB)
96       JMT = JMT + NWDODB
97       JMS = JMS + NWDODB
98 #endif