FTN4,L PROGRAM TXPF2(3,89),91711-16102 REV 1926 791113 C C CHANGED 791113. MAKE CPU M,E,OR F CHECK, AND IF M C THEN STOP WITH APPROPRIATE MESSAGE. C DIMENSION IPARM(5) C C********************************************************************* C* C* SCIENTIFIC INSTRUCTION SET DIAGNOSTIC. C* C* :RU,TXPF2,LGLU,#PASSES C* C* WHERE LGLU = LOGICAL UNIT FOR MESSAGES. C* #PASSES = NUMBER OF TIMES TO RUN TEST. C* C********************************************************************* C C* PICK UP RUN TIME PARAMETERS C CALL RMPAR(IPARM) LGLU = IPARM(1) IF(LGLU.LE.0B) LGLU = LOGLU(IPARM(1)) IPASS = IPARM(2) IF(IPASS.LE.0B) IPASS = 1 C C* INITIALISE ERROR COUNTER C IECNT = 0 C C********************************************************************* C C THE FOLLOWING BLOCK OF LINES ADDED 791113 C C FIND OUT IF THE COMPUTER IS AN M OR AN E/F MACHINE C CALL MORFE(ICODE) IF (ICODE.EQ.1) GOTO 5 WRITE (LGLU,850) STOP 12 850 FORMAT(/" TXPF2 - PROGRAM CAN ONLY RUN IN AN E OR F MACHINE"/) 5 CONTINUE C C******************************************************************** C C* FIND OUT IF HARDWARE FLOATING POINT IS PRESENT C* AND IF SCIENTIFIC INSTRUCTION SET IS PRESENT. C* IF ONE OR OTHER ABSENT EXIT WITH SUITABLE ERROR MESSAGE. C CALL SISVF(SISREV) IF(SISREV.NE.0B) GOTO 10 WRITE(LGLU,800) STOP 10 10 CALL HFPVF(HFPREV) IF(HFPREV.NE.0B) GOTO 20 WRITE(LGLU,810) STOP 11 C C* OUTPUT TEST RUNNING MESSAGE. C 20 WRITE(LGLU,820) C C* RUN THE SCIENTIFIC INSTRUCTION SET TEST C DO 30 J=1,IPASS CALL RODTK(IECNT) 30 CONTINUE C C* CHECK FOR ERRORS AND PRINT MESSAGES, IF NECESSARY. C IF(IECNT.GT.0B) WRITE(LGLU,830) C C* PRINT COMPLETION MESSAGE C WRITE(LGLU,840)IPASS,IECNT C 800 FORMAT(/" TXPF2 - SIS NOT INSTALLED AND TEST ABORTED!"/) 810 FORMAT(/" TXPF2 - HFPP NOT INSTALLED AND TEST ABORTED!"/) 820 FORMAT(/" TXPF2 - SIS TEST RUNNING") 830 FORMAT(/" TXPF2 - SIS TEST FAILURE") 840 FORMAT(/" TXPF2 - SIS TEST FINISHED",I5," PASSES",I5," ERRORS") C END END$