*
* $Id: fzicvfd.inc,v 1.2 1997/03/14 17:19:50 mclareni Exp $
*
* $Log: fzicvfd.inc,v $
* Revision 1.2  1997/03/14 17:19:50  mclareni
* WNT mods
*
* Revision 1.1.1.1.2.1  1997/01/21 11:33:40  mclareni
* All mods for Winnt 96a on winnt branch
*
* Revision 1.1.1.1  1996/03/06 10:47:10  mclareni
* Zebra
*
*
*                cv IEEE -> double
*
* fzicvfd.inc
*
#if defined(CERNLIB_QMDOS) || defined(CERNLIB_WINNT)
#include "fzcvdpc.inc"
#elif defined(CERNLIB_QMLNX)
#include "fzcvdlnx.inc"
#elif defined(CERNLIB_QMTMO)
#include "fzcvdtmo.inc"
#elif defined(CERNLIB_QMVMI)
#include "fzcvdvmi.inc"
#elif defined(CERNLIB_FQIE3TDC)
C--       Default conversion from double IEEE to internal
      CALL IE3TOD (MS(JMS+1),MT(JMT+1),NDPN,JBAD)
      IF (JBAD.NE.0)  THEN
          JBAD = 2*JBAD - 1
          IFOCON(1) = 4
          IFOCON(2) = JMT + JBAD
          IFOCON(3) = MS(JMS+JBAD)
        ENDIF
      JMT = JMT + NWDODB
      JMS = JMS + NWDODB
#elif defined(CERNLIB_FQCVDFF)
C--       Default conversion from double IEEE to internal
      DO 449  JL=1,NWDODB,2
      ITHA = MS(JMS+1)
      IF (ITHA.EQ.0)               GO TO 442
      ITHB  = MS(JMS+2)
      JSIGN = JBIT (ITHA,32)
      JEXP  = JBYT (ITHA,21,11)
      JMANT = JBYT (ITHA, 1,20)
      IF (JEXP.EQ.0)               GO TO 431
      IF (JEXP.EQ.2047)            GO TO 433

      JMANT = JMANT + 1 048 576
      JEXP  = JEXP  - 1023
      IF (JEXP.GT.JEXMAX)          GO TO 432
  424 IF (JEXP.LT.JEXMIN)          GO TO 441

      JMANS = JBYT (ITHB,17,16)
      JMANR = JBYT (ITHB, 1,16)

      JPRE  = ISIGN (48,JEXP)
      THDB  = (  DBLE(JMANT)
     +         + DBLE(FLOAT(JMANS)*2.**(-16))
     +         + DBLE(FLOAT(JMANR)*2.**(-32)) ) * 2.**(JPRE-20)
      THDB  = THDB * 2.**(JEXP-JPRE)
      IF (JSIGN.EQ.0)              GO TO 447
      THDB = -THDB
      GO TO 447

  431 IF (JMANT.EQ.0)              GO TO 441
      JEXP = -1022
      GO TO 424

  432 JMANT = 0
  433 IF (JMANT.EQ.0)    THEN
          IF (JSIGN.EQ.0)  THEN
              ITHB = IOVPMD
            ELSE
              ITHB = IOVNMD
            ENDIF
        ELSE
          ITHB = IBADMD
        ENDIF
      IFOCON(1) = 4
      IFOCON(2) = JMT
      IFOCON(3) = ITHA
      ITHA = ITHB
      ITHB = IBADME
      GO TO 447

  441 ITHA = 0
  442 ITHB = 0
  447 MT(JMT+1) = ITHA
      MT(JMT+2) = ITHB
      JMT = JMT + 2
  449 JMS = JMS + 2
#elif 1
      CALL UCOPY (MS(JMS+1),MT(JMT+1),NWDODB)
      JMT = JMT + NWDODB
      JMS = JMS + NWDODB
#endif