C /* $Revision: 1.3 $ */ C Changes for Microsoft fortran compiler on PC. C C Create interface blocks to prototype all subroutines and functions C which use %VAL and are called from this gateway routine. C C Also reset the floating point exception word as it gets initialized when C a Fortran program is called. C C----------------------------------------------------------------------- C Interface blocks used for %VAL. C C INTERFACE SUBROUTINE CAIRY(Z, ID, KODE, AI, NZ, IERR) INTEGER ID, KODE, NZ, IERR COMPLEX*16 Z, AI END SUBROUTINE CAIRY END INTERFACE C INTERFACE SUBROUTINE CBIRY(Z, ID, KODE, BI, IERR) INTEGER ID, KODE,IERR COMPLEX*16 Z, BI END SUBROUTINE CBIRY END INTERFACE C INTERFACE SUBROUTINE CBESJ(Z, FNU, KODE, N, CY, NZ, IERR) INTEGER KODE, N, NZ, IERR COMPLEX*16 Z, CY REAL*8 FNU END SUBROUTINE CBESJ END INTERFACE C INTERFACE SUBROUTINE BESSSET(A,I,B) INTEGER I COMPLEX*16 A, B END SUBROUTINE BESSSET END INTERFACE C INTERFACE FUNCTION BESSGET(A, I) INTEGER I COMPLEX*16 A END FUNCTION BESSGET END INTERFACE C INTERFACE SUBROUTINE CBESY(Z, FNU, KODE, N, CY, NZ, CWRK, IERR) INTEGER KODE,N, NZ, IERR COMPLEX*16 Z, CY, CWRK REAL*8 FNU END SUBROUTINE CBESY END INTERFACE C INTERFACE SUBROUTINE CBESI(Z, FNU, KODE, N, CY, NZ, IERR) INTEGER KODE, N, NZ, IERR COMPLEX*16 Z, CY REAL*8 FNU END SUBROUTINE CBESI END INTERFACE C INTERFACE SUBROUTINE CBESK(Z, FNU, KODE, N, CY, NZ, IERR) INTEGER KODE,IERR, N,NZ COMPLEX*16 Z, CY REAL*8 FNU END SUBROUTINE CBESK END INTERFACE C INTERFACE SUBROUTINE CBESH(Z, FNU, KODE, M, N, CY, NZ, IERR) INTEGER KODE,M, N, NZ, IERR COMPLEX*16 Z, CY REAL*8 FNU END SUBROUTINE CBESH END INTERFACE C C Set the floating point control word to allow divide by zero etc. C INTEGER(2) CONTROL, NEWCONTROL CALL GETCONTROLFPQQ(CONTROL) NEWCONTROL = CONTROL .OR. FPCW$ZERODIVIDE CALL SETCONTROLFPQQ(NEWCONTROL)