C***** PART5 *****************************************************H0001800 C***** H0001805 C***** ANSI FORTRAN (X3.9-1966) TEST PROGRAMS H0001810 C***** H0001815 C***** PREPARED BY THE NATIONAL BUREAU OF STANDARDS VERSION 3 H0001820 C***** H0001825 C***** JUNE 1974 H0001830 C***** H0001835 C***** PART 5 OF 14 PARTS H0001840 C***** H0001845 C***** SEGMENTS INCLUDED H0001850 C***** H0001855 C***** SIMIF - 054 ARITHMETIC IF, LOGICAL IF FOLLOWED BY GO TO H0001860 C***** H0001865 C***** IFABS - 055 ABS,IABS(ABSOLUTE VALUE) H0001870 C***** H0001875 C***** IFFLT - 056 FLOAT(CONVERT FROM INTEGER TO REAL) H0001880 C***** H0001885 C***** IFFIX - 057 IFIX(CONVERT FROM REAL TO INTEGER) H0001890 C***** H0001895 C***** IFSGN - 058 SIGN,ISIGN(TRANSFER OF SIGN) H0001900 C***** H0001905 C***** IFDAB - 059 DABS(ABSOLUTE VALUE) H0001910 C***** H0001915 C***** IFTRN - 060 AINT,INT,IDINT(TRUNCATION) H0001920 C***** H0001925 C***** IFMOD - 061 AMOD,MOD(REMAINDERING) H0001930 C***** H0001935 C***** IFMAX - 062 AMAXO,AMAX1,MAX0,MAX1,DMAX1(CHOOSE LARGEST VALUE)H0001940 C***** H0001945 C***** IFMIN - 063 AMIN0,AMIN1,MIN0,MIN1,DMIN1(CHOOSE SMALLEST VALUEH0001950 C***** H0001955 C***** IFDSG - 064 DSIGN(TRANSFER OF SIGN) H0001960 C***** H0011800 C***** THE FOLLOWING SPECIFICATIONS ARE TO BE USED ONLY WHEN SEGMENTS H0011805 C***** 054, 055, 056, 057, 058, 059, 060, 061, 062, 063, 064 H0011810 C***** ARE RUN AS ONE MAIN PROGRAM. H0011815 C***** H0011820 DOUBLE PRECISION DPAVD, DPBVD, DPCVD, DPEVD, DPFVD, DPGVD, DPDVD H0011825 1 ,MCAVD, MCBVD, MCCVD, MCDVD, MCEVD, MCFVD H0011830 LOGICAL LVB, L1B(10), LNVB H0011835 C***** H0011840 C***** END OF SPECIFICATIONS FOR SEGMENTS H0011845 C***** 054,055, 056, 057, 058, 059, 060, 061, 062, 063, 064 H0011850 C***** H0011855 C***********************************************************************H0540010 C***** H0540020 C***** SIMIF - (054) H0540030 C***** H0540040 C***********************************************************************H0540050 C***** GENERAL PURPOSE ASA REFSH0540060 C***** TO TEST ARITHMETIC IF STATEMENT 7.1.2.2 H0540070 C***** AND LOGICAL IF FOLLOWED BY GO TO 7.1.2.3 H0540080 C***** SO THAT THESE STATEMENTS MAY BE USED 4.2 H0540090 C***** IN SUBSEQUENT TEST SEGMENTS. H0540100 C***** H0540110 C***** ARITHMETIC EXPRESSIONS ARE - H0540120 C***** INTEGER VARIABLE H0540130 C***** INTEGER VARIABLE + OR - A CONSTANT H0540140 C***** LOGICAL EXPRESSIONS ARE - H0540150 C***** LOGICAL VARIABLE H0540160 C***** .NOT. LOGICAL VARIABLE H0540170 C***** H0540180 C***** S P E C I F I C A T I O N S SEGMENT 054 H0540190 C***** H0011860 C***** WHEN EXECUTING ONLY SEGMENT 054, REMOVE THE PRECEDING H0011865 C***** SPECIFICATIONS. THE FOLLOWING SPECIFICATIONS WHICH APPEAR H0011870 C***** AS COMMENTS MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED. H0011875 C***** H0011880 C= LOGICAL LVB, L1B(10), LNVB H0011885 C***** H0011890 C***** I N P U T - O U T P U T T A P E ASSIGNMENT STATEMENTS. H0540200 IRVI = 5 H0071800 NUVI = 6 H0071805 C***** IDENTIFY THE SOURCE OF THE TEST PROGRAMS H0071810 WRITE(NUVI,0071) H0071815 0071 FORMAT (41H1 F O R T R A N T E S T P R O G R A M S// H0071820 1 42H PREPARED BY NATIONAL BUREAU OF STANDARDS// H0071825 3 37H FOR USE ON LARGE FORTRAN PROCESSORS // H0071830 4 42H IN ACCORDANCE WITH ASA FORTRAN X3.9-1966// H0071835 5 23H VERSION 3 PART 5 ///) H0071840 C***** 3 OF 6 INPUT CARDS IDENTIFY THE USERS SYSTEM AND COMPILER H0071845 C PREPARED BY USER H0071850 C READ, NO LIST H0071855 C PREPARED BY USER H0071860 C READ, NO LIST H0071865 C PREPARED BY USER H0071870 C READ, NO LIST H0071875 C READ(IRVI,0070) H0071880 C READ(IRVI,0072) H0071885 C READ(IRVI,0073) H0071890 0070 FORMAT(40H BASED ON ASA FORTRAN X3.9-1966 /) H0071895 0072 FORMAT(40H TEST PROGRAMS /) H0071900 0073 FORMAT(40H FORTRAN COMPILER /) H0071905 WRITE(NUVI,0070) H0071910 WRITE(NUVI,0072) H0071915 WRITE(NUVI,0073) H0071920 WRITE(NUVI,7540) H0540210 IVI = -8 H0540220 JVI = 0 H0540230 KVI = 2 H0540240 MVI = -4 H0540250 LVB = .TRUE. H0540260 LNVB = .FALSE. H0540270 C***** LOGICAL ARRAY L1B SHOULD CONTAIN ALL .TRUE. IF TEST IS CORRECT. H0540280 NVI = 1 H0540290 IF (IVI) 541, 542, 542 H0540300 544 IF (JVI) 542, 541, 542 H0540310 545 IF (KVI) 542,542, 541 H0540320 C***** ZERO IS NEITHER POSITIVE NOR NEGATIVE H0540330 546 NAVI = IVI * JVI H0540340 IF (NAVI) 542, 541, 542 H0540350 547 NAVI = JVI * MVI H0540360 IF (NAVI) 542, 541, 542 H0540370 548 NAVI = JVI / MVI H0540380 IF (NAVI) 542, 541, 542 H0540390 549 IF (MVI + 4) 542, 541, 542 H0540400 7543 IF (KVI - 2) 542, 541, 542 H0540410 C***** LOGICAL IF FOLLOWED BY GO TO H0540420 7544 IF (LVB) GO TO 541 H0540430 GO TO 542 H0540440 7545 IF (.NOT.LNVB) GO TO 541 H0540450 542 L1B(NVI) = .FALSE. H0540460 GO TO 543 H0540470 541 L1B(NVI) = .TRUE. H0540480 543 NVI = NVI + 1 H0540490 GO TO (544,544,545,546,547,548,549,7543,7544,7545,7546), NVI H0540500 7546 WRITE (NUVI,7541) L1B H0540510 WRITE (NUVI,7542) H0540520 7540 FORMAT (2H1 ,30HSIMIF - (054) SIMPLE ARITH. IF/19X,14HAND LOGICAL H0540530 -IF//20H ASA REF. - 7.1.2.2/ 13X, 7H7.1.2.3 //9H RESULTS) H0540540 7541 FORMAT (/L4) H0540550 7542 FORMAT (/36H THE TEN ANSWERS ABOVE MUST BE TRUE) H0540560 C***** END OF TEST SEGMENT 054 H0540570 C***** WHEN EXECUTING ONLY SEGMENT 054, THE STOP AND END CARDS H0540580 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0540590 C***** IN COLUMNS 1 AND 2 REMOVED. H0540600 C= STOP H0540610 C= END H0540620 C***********************************************************************H0550010 C***** H0550020 C***** IFABS - (055) H0550030 C***** H0550040 C***********************************************************************H0550050 C***** GENERAL PURPOSE ASA REF H0550060 C***** TEST INTRINSIC FUNCTION ABS,IABS (ABSOLUTE VALUE) 8.2 H0550070 C***** H0550080 C***** O U T P U T T A P E ASSIGNMENT STATEMENT. NO INPUT TAPE. H0550090 C***** H0071925 C***** WHEN EXECUTING ONLY SEGMENT 055, THE FOLLOWING STATEMENT H0071930 C***** NUVI = 6 MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED. H0071935 C***** H0071940 C= NUVI = 6 H0071945 C***** H0071950 WRITE(NUVI,0550) H0550100 0550 FORMAT(37H1 IFABS - (055) INTRINSIC FUNCTIONS--/10X,26HABS, IABS (H0550110 1ABSOLUTE VALUE)//17H ASA REFS. - 8.2//9H RESULTS) H0550120 C***** HEADER FOR SEGMENT 055 WRITTEN H0550130 C***** SINGLE PRECISION REAL ARGUMENT H0550140 MCGVI = 1 H0550150 CMAVS = 1.000789 H0550160 CMBVS = -0.2E2 H0550170 CMCVS = -2.0 H0550180 CMDVS = 2.0 H0550190 CMFVS = -4.0 H0550200 CMEVS = ABS(CMAVS) H0550210 CMEVS = CMEVS - 1.000789 H0550220 WRITE (NUVI,0557) CMEVS H0550230 CMBVS = ABS(CMBVS) H0550240 CMEVS = CMBVS - 0.2E2 H0550250 WRITE (NUVI,0557) CMEVS H0550260 CMEVS = 2.0*CMCVS+ABS(2.0*CMFVS+ABS(CMCVS*CMDVS**MCGVI)) H0550270 WRITE (NUVI,0557) CMEVS H0550280 CMEVS = CMFVS+CMDVS+ABS(CMCVS+ABS(CMFVS)-ABS(CMDVS-CMCVS)) H0550290 WRITE (NUVI,0557) CMEVS H0550300 0557 FORMAT (/2X,F15.1) H0550310 0558 FORMAT (/2X,37HTHE ABOVE ANSWERS SHOULD ALL BE 0 FOR/2X, H0550320 1 35HTHIS TEST SEGMENT TO BE SUCCESSFUL.) H0550330 C***** INTEGER ARGUMENT H0550340 MCAVI = 25 H0550350 MCBVI = 4 H0550360 MCCVI = -129 H0550370 MCDVI = -2 H0550380 MCEVI = 2 H0550390 MCFVI = IABS(MCAVI) H0550400 MCFVI = MCFVI -25 H0550410 WRITE (NUVI,0551) MCFVI H0550420 MCFVI = IABS(MCDVI+IABS(MCBVI/MCDVI)-IABS(MCEVI**2))-MCBVI H0550430 WRITE (NUVI,0551) MCFVI H0550440 MCCVI = IABS(MCCVI) H0550450 MCFVI = MCCVI - 129 H0550460 WRITE (NUVI,0551) MCFVI H0550470 0551 FORMAT (/10X,I5) H0550480 WRITE (NUVI,0558) H0550490 C***** END OF TEST SEGMENT 055 H0550500 C***** WHEN EXECUTING ONLY SEGMENT 055, THE STOP AND END CARDS H0550510 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0550520 C***** IN COLUMNS 1 AND 2 REMOVED. H0550530 C= STOP H0550540 C= END H0550550 C***********************************************************************H0560010 C***** H0560020 C***** IFFLT - (056) H0560030 C***** H0560040 C***********************************************************************H0560050 C***** GENERAL PURPOSE ASA REF H0560060 C***** TEST INTRINSIC FUNCTION FLOAT (CONVERSION FROM 8.2 H0560070 C***** INTEGER TO REAL) (TABLE 3)H0560080 C***** H0560090 C***** O U T P U T T A P E ASSIGNMENT STATEMENT. NO INPUT TAPE. H0560100 C***** H0071955 C***** WHEN EXECUTING ONLY SEGMENT 056, THE FOLLOWING STATEMENT H0071960 C***** NUVI = 6 MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED. H0071965 C***** H0071970 C= NUVI = 6 H0071975 C***** H0071980 WRITE (NUVI,0560) H0560110 0560 FORMAT (1H1,1X,34HIFFLT - (056) INTRINSIC FUNCTION--/16X, H0560120 15HFLOAT/ 2X,14HASA REF. - 8.2/2X,7HRESULTS) H0560130 C***** HEADER FOR SEGMENT 056 H0560140 C***** ARGUMENT IS INTEGER, FUNCTION IS REAL H0560150 MCAVI = 64 H0560160 MCBVI = -512 H0560170 MCCVI = 2 H0560180 MCDVI = 4 H0560190 MCEVI = 8 H0560200 CMAVS = FLOAT(MCAVI) H0560210 CMBVS = CMAVS - 64.0 H0560220 WRITE (NUVI,0561) CMBVS H0560230 CMAVS = FLOAT(MCBVI) H0560240 CMBVS = CMAVS + 512.0 H0560250 WRITE (NUVI,0561) CMBVS H0560260 CMBVS= FLOAT(-2*MCEVI)+FLOAT(MCCVI*MCDVI)*FLOAT(MCEVI/MCDVI)- H0560270 - FLOAT(MCDVI**MCCVI) + 16.0 H0560280 WRITE (NUVI,0561) CMBVS H0560290 WRITE (NUVI,0562) H0560300 WRITE (NUVI,0563) H0560310 0561 FORMAT (/2X,F15.1) H0560320 0562 FORMAT (/2X,37HTHE ABOVE ANSWERS SHOULD ALL BE 0 FOR) H0560330 0563 FORMAT (2X,35HTHIS TEST SEGMENT TO BE SUCCESSFUL.) H0560340 C***** END OF TEST SEGMENT 056 H0560350 C***** WHEN EXECUTING ONLY SEGMENT 056, THE STOP AND END CARDS H0560360 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0560370 C***** IN COLUMNS 1 AND 2 REMOVED. H0560380 C= STOP H0560390 C= END H0560400 C***********************************************************************H0570010 C***** H0570020 C***** IFFIX - (057) H0570030 C***** H0570040 C***********************************************************************H0570050 C***** GENERAL PURPOSE ASA REF H0570060 C***** TEST INTRINSIC FUNCTION - IFIX - (CONVERSION FROM 8.2 H0570070 C***** REAL TO INTEGER) (TABLE 3)H0570080 C***** H0570090 C***** O U T P U T T A P E ASSIGNMENT STATEMENT. NO INPUT TAPE. H0570100 C***** H0071985 C***** WHEN EXECUTING ONLY SEGMENT 057, THE FOLLOWING STATEMENT H0071990 C***** NUVI = 6 MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED. H0071995 C***** H0072000 C= NUVI = 6 H0072005 C***** H0072010 WRITE (NUVI,0570) H0570110 0570 FORMAT (1H1,1X,34HIFFIX - (057) INTRINSIC FUNCTION--/16X, 4H0570120 1HIFIX//2X,14HASA REF. - 8.2//2X,7HRESULTS) H0570130 C***** HEADER FOR SEGMENT 057 H0570140 C***** SINGLE PRECISION ARGUMENT, INTEGER FUNCTION H0570150 CMAVS = 2.4567 H0570160 CMBVS = -0.2001E2 H0570170 CMCVS = +5.61E-1 H0570180 CMDVS = -123.456E0 H0570190 CMEVS = 789.9876E-2 H0570200 CMFVS = 2.0 H0570210 CMGVS = -0.5 H0570220 MCAVI = IFIX(CMAVS) H0570230 MCBVI = MCAVI -2 H0570240 WRITE (NUVI,0571) MCBVI H0570250 MCAVI = IFIX(CMBVS) H0570260 MCBVI = MCAVI + 20 H0570270 WRITE (NUVI,0571) MCBVI H0570280 MCAVI = IFIX(CMCVS) H0570290 WRITE (NUVI,0571) MCAVI H0570300 MCAVI = IFIX(CMDVS) H0570310 MCBVI = MCAVI + 123 H0570320 WRITE (NUVI,0571) MCBVI H0570330 MCAVI = IFIX(CMEVS) H0570340 MCBVI = MCAVI - 7 H0570350 WRITE (NUVI,0571) MCBVI H0570360 MCBVI = IFIX(CMBVS*CMGVS)*IFIX(CMDVS/CMFVS)- H0570370 - IFIX(CMBVS**IFIX(CMFVS))+1010 H0570380 WRITE(NUVI,0571) MCBVI H0570390 WRITE (NUVI,0572) H0570400 WRITE (NUVI,0573) H0570410 0571 FORMAT (/10X,I6) H0570420 0572 FORMAT (/2X,37HTHE ABOVE ANSWERS SHOULD ALL BE 0 FOR) H0570430 0573 FORMAT (2X,35HTHIS TEST SEGMENT TO BE SUCCESSFUL.) H0570440 C***** END OF TEST SEGMENT 057 H0570450 C***** WHEN EXECUTING ONLY SEGMENT 057, THE STOP AND END CARDS H0570460 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0570470 C***** IN COLUMNS 1 AND 2 REMOVED. H0570480 C= STOP H0570490 C= END H0570500 C***********************************************************************H0580010 C***** H0580020 C***** IFSGN - (058) H0580030 C***** H0580040 C***********************************************************************H0580050 C***** GENERAL PURPOSE ASA REF H0580060 C***** TEST INTRINSIC FUNCTION - SIGN, ISIGN - (TRANSFER 8.2/31-32H0580070 C***** OF SIGN - SIGN OF A2 TIMES ABS(A1) ) (TABLE 3)H0580080 C***** H0580090 C***** O U T P U T T A P E ASSIGNMENT STATEMENT. NO INPUT TAPE. H0580100 C***** H0072015 C***** WHEN EXECUTING ONLY SEGMENT 058, THE FOLLOWING STATEMENT H0072020 C***** NUVI = 6 MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED. H0072025 C***** H0072030 C= NUVI = 6 H0072035 C***** H0072040 WRITE (NUVI,0580) H0580110 0580 FORMAT (1H1 ,1X,35HIFSGN - (058) INTRINSIC FUNCTIONS--/16X, 24 H0580120 1 HSIGN, ISIGN (TRANSFER OF/16X,14HARGUMENT SIGN)//2X,14HASA REF. H0580130 2- 8.2//2X,7HRESULTS) H0580140 C***** HEADER FOR SEGMENT 058 H0580150 C***** ARGUMENTS AND FUNCTION ARE ALL REAL-TYPE (SIGN) H0580160 CMAVS = 1.078 H0580170 CMBVS = -23.0E1 H0580180 CMCVS = -5.4567 H0580190 CMDVS = 7.567E-1 H0580200 CMGVS = +2.0 H0580210 CMHVS = -4.0 H0580220 CMIVS = +8.0 H0580230 CMEVS = SIGN(CMAVS,CMBVS) H0580240 CMFVS = CMEVS + 1.078 H0580250 WRITE (NUVI,0581) CMFVS H0580260 CMEVS = SIGN(CMAVS,CMDVS) H0580270 CMFVS = CMEVS - 1.078 H0580280 WRITE (NUVI,0581) CMFVS H0580290 CMEVS = SIGN(CMBVS,CMCVS) H0580300 CMFVS = CMEVS + 23.0E1 H0580310 WRITE (NUVI,0581) CMFVS H0580320 CMEVS = SIGN(CMBVS,CMDVS) H0580330 CMFVS = CMEVS - 23.0E1 H0580340 WRITE (NUVI,0581) CMFVS H0580350 CMFVS = SIGN(CMGVS,CMHVS)*SIGN(CMHVS,CMIVS)+ H0580360 - SIGN(SIGN(CMIVS,CMBVS),SIGN(CMHVS,CMGVS)) H0580370 WRITE(NUVI,0581) CMFVS H0580380 C***** ARGUMENTS AND FUNCTION ARE ALL INTEGER-TYPE (ISIGN) H0580390 MCAVI = 24 H0580400 MCBVI = +167 H0580410 MCCVI = -5980 H0580420 MCDVI = -12345 H0580430 MCGVI = 2 H0580440 MCHVI = -4 H0580450 MCIVI = 8 H0580460 MCEVI = ISIGN(MCAVI,MCBVI) H0580470 MCFVI = MCEVI - 24 H0580480 WRITE (NUVI,0582) MCFVI H0580490 MCEVI = ISIGN(MCBVI,MCCVI) H0580500 MCFVI = MCEVI + 167 H0580510 WRITE (NUVI,0582) MCFVI H0580520 MCEVI = ISIGN(MCCVI,MCDVI) H0580530 MCFVI = MCEVI + 5980 H0580540 WRITE (NUVI,0582) MCFVI H0580550 MCEVI = ISIGN(MCDVI,MCAVI) H0580560 MCFVI = MCEVI - 12345 H0580570 WRITE (NUVI,0582) MCFVI H0580580 MCFVI = ISIGN(ISIGN(MCGVI*MCHVI+(2*MCIVI),MCIVI/MCGVI+MCCVI)+ H0580590 1 ISIGN(+8,MCHVI/MCGVI+MCCVI),MCIVI) - MCHVI **2 H0580600 WRITE(NUVI,0582)MCFVI H0580610 WRITE (NUVI,0583) H0580620 WRITE(NUVI,0584) H0580630 0581 FORMAT (/2X,F15.1) H0580640 0582 FORMAT (/10X,I5) H0580650 0583 FORMAT (/2X,37HTHE ABOVE ANSWERS SHOULD ALL BE 0 FOR) H0580660 0584 FORMAT (2X,35HTHIS TEST SEGMENT TO BE SUCCESSFUL.) H0580670 C***** END OF TEST SEGMENT 058 H0580680 C***** WHEN EXECUTING ONLY SEGMENT 058, THE STOP AND END CARDS H0580690 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0580700 C***** IN COLUMNS 1 AND 2 REMOVED. H0580710 C= STOP H0580720 C= END H0580730 C***********************************************************************H0590010 C***** H0590020 C***** IFDAB - (059) H0590030 C***** H0590040 C***********************************************************************H0590050 C***** GENERAL PURPOSE ASA REF H0590060 C***** TEST INTRINSIC FUNCTION DABS (ABSOLUTE VALUE OF 8.2 H0590070 C***** A DOUBLE PRECISION ARGUMENT) (TABLE 3)H0590080 C***** H0590090 C***** S P E C I F I C A T I O N S SEGMENT 059 H0590100 C***** H0011895 C***** WHEN EXECUTING ONLY SEGMENT 059, THE SPECIFICATION STATEMENTS H0011900 C***** WHICH APPEAR AS COMMENT CARDS, MUST HAVE THE C= H0011905 C***** IN COLUMNS 1 AND 2 REMOVED. H0011910 C***** H0011915 C= DOUBLE PRECISION DPAVD,DPBVD,DPCVD,DPDVD,DPEVD,DPFVD,DPGVD H0011920 C***** H0011925 C***** O U T P U T T A P E ASSIGNMENT STATEMENT. NO INPUT TAPE. H0590110 C***** H0072045 C***** WHEN EXECUTING ONLY SEGMENT 059, THE FOLLOWING STATEMENT H0072050 C***** NUVI = 6 MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED. H0072055 C***** H0072060 C= NUVI = 6 H0072065 C***** H0072070 WRITE (NUVI,0590) H0590120 0590 FORMAT (1H1,1X,34HIFDAB - (059) INTRINSIC FUNCTION--/16X, H0590130 123HDABS (ABSOLUTE VALUE OF/16X,16HA D.P. ARGUMENT)/ 2X, H0590140 214HASA REF. - 8.2// H0590150 32X,7HRESULTS) H0590160 C***** HEADER FOR SEGMENT 059 WRITTEN H0590170 C***** ARGUMENT AND FUNCTION ARE DOUBLE PRECISION H0590180 DPAVD = 1.2345678901234D0 H0590190 DPBVD = -2.0D0 H0590200 DPCVD = -39.468024681357D-1 H0590210 DPDVD = 2.0D0 H0590220 DPGVD = -4.0D0 H0590230 DPEVD = 1.0D0 H0590240 DPEVD = DABS(DPAVD) H0590250 DPFVD = DPEVD - 1.2345678901234D0 H0590260 WRITE (NUVI,0591) DPFVD H0590270 DPEVD = 2.0D0*DPBVD+DABS(DPDVD*DPGVD+DABS(DPGVD/(2.0D0*DPDVD) H0590280 - *DPDVD**2)) H0590290 WRITE (NUVI,0591) DPEVD H0590300 DPEVD = 3.0D0 H0590310 DPEVD = DABS(DPCVD) H0590320 DPFVD = DPEVD - 39.468024681357D-1 H0590330 WRITE (NUVI,0591) DPFVD H0590340 DPEVD = 4.0D0 H0590350 DPEVD = DPGVD +DPDVD+DABS(DPBVD+DABS(DPGVD)-DABS(DPDVD-DPBVD)) H0590360 WRITE (NUVI,0591) DPEVD H0590370 WRITE (NUVI,0592) H0590380 WRITE (NUVI,0593) H0590390 0591 FORMAT (/ D22.10) H0590400 0592 FORMAT (/ 39H THE ABOVE ANSWERS SHOULD ALL BE 0 FOR) H0590410 0593 FORMAT (36H THIS TEST SEGMENT TO BE SUCCESSFUL) H0590420 C***** END OF TEST SEGMENT 059 H0590430 C***** WHEN EXECUTING ONLY SEGMENT 059, THE STOP AND END CARDS H0590440 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0590450 C***** IN COLUMNS 1 AND 2 REMOVED. H0590460 C= STOP H0590470 C= END H0590480 C***********************************************************************H0600010 C***** H0600020 C***** IFTRN - (060) H0600030 C***** H0600040 C***********************************************************************H0600050 C***** GENERAL PURPOSE ASA REF H0600060 C***** TEST INTRINSIC FUNCTIONS AINT,INT, AND IDINT -- 8.2 H0600070 C***** TRUNCATION (SIGN OF A * LARGEST INTEGER LE ABS(A) ) (TABLE 3)H0600080 C***** H0600090 C***** S P E C I F I C A T I O N S SEGMENT 060 H0600100 C***** H0011930 C***** WHEN EXECUTING ONLY SEGMENT 060, THE SPECIFICATION STATEMENTS H0011935 C***** WHICH APPEAR AS COMMENT CARDS, MUST HAVE THE C= H0011940 C***** IN COLUMNS 1 AND 2 REMOVED. H0011945 C***** H0011950 C= DOUBLE PRECISION DPAVD,DPBVD,DPCVD,DPDVD H0011955 C***** H0011960 C***** O U T P U T T A P E ASSIGNMENT STATEMENT. NO INPUT TAPE. H0600110 C***** H0072075 C***** WHEN EXECUTING ONLY SEGMENT 060, THE FOLLOWING STATEMENT H0072080 C***** NUVI = 6 MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED. H0072085 C***** H0072090 C= NUVI = 6 H0072095 C***** H0072100 WRITE (NUVI,0600) H0600120 0600 FORMAT (1H1, 1X,34HIFTRN - (060) INTRINSIC FUNCTION--/10X,29HAINT,H0600130 1 INT, IDINT (TRUNCATION)//16H ASA REF. - 8.2//2X,7HRESULTS) H0600140 C***** HEADER FOR SEGMENT 060 WRITTEN H0600150 C***** TEST OF AINT - REAL ARGUMENT AND REAL FUNCTION H0600160 CMAVS = 1.999 H0600170 CMBVS = 999.001 H0600180 CMCVS = -0.45678 H0600190 CMDVS = -9876.0 H0600200 CMEVS = 1.0 H0600210 CMEVS = AINT(CMAVS) H0600220 CMFVS = CMEVS - 1.0 H0600230 WRITE (NUVI,0601) CMFVS H0600240 CMEVS = 2.0 H0600250 CMEVS = AINT(CMBVS) H0600260 CMFVS = CMEVS - 999.0 H0600270 WRITE (NUVI,0601) CMFVS H0600280 CMEVS = 3.0 H0600290 CMEVS = AINT(CMCVS) H0600300 CMFVS = CMEVS H0600310 WRITE (NUVI,0601) CMFVS H0600320 CMEVS = 4.0 H0600330 CMEVS = AINT(CMDVS) H0600340 CMFVS = CMEVS + 9876.0 H0600350 WRITE (NUVI,0601) CMFVS H0600360 WRITE (NUVI,0603) H0600370 C***** TEST OF INT - REAL ARGUMENT BUT INTEGER FUNCTION H0600380 MCAVI = 5 H0600390 MCAVI = INT(CMAVS) H0600400 MCBVI = MCAVI - 1 H0600410 WRITE (NUVI,0604) MCBVI H0600420 MCAVI = 6 H0600430 MCAVI = INT(CMBVS) H0600440 MCBVI = MCAVI - 999 H0600450 WRITE (NUVI,0604) MCBVI H0600460 MCAVI = 7 H0600470 MCAVI = INT(CMCVS) H0600480 WRITE (NUVI,0604) MCAVI H0600490 MCAVI = 8 H0600500 MCAVI = INT(CMDVS) H0600510 MCBVI = MCAVI + 9876 H0600520 WRITE (NUVI,0604) MCBVI H0600530 WRITE (NUVI,0605) H0600540 C***** TEST OF IDINT - DOUBLE PRECISION ARGUMENT AND FUNCTION H0600550 DPAVD = 1.9999999999999D1 H0600560 DPBVD = +99.000500189123D0 H0600570 DPCVD = -0.9876543210198D0 H0600580 DPDVD = -456.78909876514D1 H0600590 MCAVI = 9 H0600600 MCAVI = IDINT(DPAVD) H0600610 MCBVI = MCAVI - 19 H0600620 WRITE (NUVI,0606) MCBVI H0600630 MCAVI = 10 H0600640 MCAVI = IDINT(DPBVD) H0600650 MCBVI = MCAVI - 99 H0600660 WRITE (NUVI,0606) MCBVI H0600670 MCAVI = 11 H0600680 MCAVI = IDINT(DPCVD) H0600690 WRITE (NUVI,0606) MCAVI H0600700 MCAVI = 12 H0600710 MCAVI = IDINT(DPDVD) H0600720 MCBVI = MCAVI + 4567 H0600730 WRITE (NUVI,0606) MCBVI H0600740 WRITE (NUVI,0607) H0600750 WRITE (NUVI,0608) H0600760 0601 FORMAT (/F11.1) H0600770 0603 FORMAT ( 2X,16HEND OF AINT TEST) H0600780 0604 FORMAT (/I10) H0600790 0605 FORMAT ( 2X,15HEND OF INT TEST) H0600800 0606 FORMAT (/I10) H0600810 0607 FORMAT ( 2X,17HEND OF IDINT TEST) H0600820 0608 FORMAT ( 40H ALL ABOVE ANSWERS SHOULD BE 0 FOR THIS/ H0600830 1 31H TEST SEGMENT TO BE SUCCESSFUL) H0600840 C***** END OF TEST SEGMENT 060 H0600850 C***** WHEN EXECUTING ONLY SEGMENT 060, THE STOP AND END CARDS H0600860 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0600870 C***** IN COLUMNS 1 AND 2 REMOVED. H0600880 C= STOP H0600890 C= END H0600900 C***********************************************************************H0610010 C***** H0610020 C***** IFMOD - (061) H0610030 C***** H0610040 C***********************************************************************H0610050 C***** GENERAL PURPOSE ASA REF H0610060 C***** TEST INTRINSIC FUNCTION AMOD AND MOD - REMAINDERING, 8.2 H0610070 C***** WHICH IS DEFINED AS A1-(A1/A2)A2 WHERE (X) IS AN (TABLE 3)H0610080 C***** INTEGER WHOSE MAGNITUDE IS LE ABS(X) AND WHOSE SIGN H0610090 C***** IS THE SAME AS X. H0610100 C***** H0610110 C***** O U T P U T T A P E ASSIGNMENT STATEMENT. NO INPUT TAPE. H0610120 C***** H0072105 C***** WHEN EXECUTING ONLY SEGMENT 061, THE FOLLOWING STATEMENT H0072110 C***** NUVI = 6 MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED. H0072115 C***** H0072120 C= NUVI = 6 H0072125 C***** H0072130 WRITE (NUVI,0610) H0610130 0610 FORMAT (1H1, 1X,34HIFMOD - (061) INTRINSIC FUNCTION--/16X,24HAMOD,H0610140 1 MOD (REMAINDERING)//16H ASA REF. - 8.2//2X, H0610150 2 7HRESULTS) H0610160 C***** HEADER FOR SEGMENT 061 WRITTEN H0610170 C***** TEST OF AMOD - REAL ARGUMENTS AND REAL FUNCTION H0610180 CMAVS = 16.0625 H0610190 CMBVS = -4.0 H0610200 CMCVS = -8.125 H0610210 CMDVS = 2.5 H0610220 CMEVS = -1.0 H0610230 CMFVS = 1.0 H0610240 CMFVS = AMOD(CMAVS,CMBVS) H0610250 CMGVS = CMFVS - 0.0625 H0610260 WRITE (NUVI,0611) CMGVS H0610270 CMFVS = 2.0 H0610280 CMFVS = AMOD(CMCVS,CMDVS) H0610290 CMGVS = CMFVS + 0.625 H0610300 WRITE (NUVI,0611) CMGVS H0610310 CMFVS = 3.0 H0610320 CMFVS = AMOD(CMBVS,CMEVS) H0610330 CMGVS = CMFVS + 0.0 H0610340 WRITE (NUVI,0611) CMGVS H0610350 CMFVS = 4.0 H0610360 CMFVS = AMOD(CMBVS,CMAVS) H0610370 CMGVS = CMFVS + 4.0 H0610380 WRITE (NUVI,0611) CMGVS H0610390 WRITE (NUVI,0612) H0610400 C***** TEST OF MOD - INTEGER ARGUMENTS AND INTEGER FUNCTION H0610410 MCAVI = 35 H0610420 MCBVI = -5 H0610430 MCCVI = -998 H0610440 MCDVI = 9 H0610450 MCEVI = 10 H0610460 MCFVI = 1 H0610470 MCFVI = MOD(MCAVI,MCBVI) H0610480 MCGVI = MCFVI + 0 H0610490 WRITE (NUVI,0613) MCGVI H0610500 MCFVI = 2 H0610510 MCFVI = MOD(MCCVI,MCDVI) H0610520 MCGVI = MCFVI + 8 H0610530 WRITE (NUVI,0613) MCGVI H0610540 MCFVI = 3 H0610550 MCFVI = MOD(MCAVI,MCDVI) H0610560 MCGVI = MCFVI - 8 H0610570 WRITE (NUVI,0613) MCGVI H0610580 MCFVI = 4 H0610590 MCFVI = MOD(MCBVI,MCEVI) H0610600 MCGVI = MCFVI + 5 H0610610 WRITE (NUVI,0613) MCGVI H0610620 WRITE (NUVI,0614) H0610630 0611 FORMAT (/F11.1) H0610640 0612 FORMAT (//2X,17HEND OF AMOD TEST.) H0610650 0613 FORMAT (/I10) H0610660 0614 FORMAT (//2X,16HEND OF MOD TEST.//2X, H0610670 138HALL ABOVE ANSWERS SHOULD BE 0 FOR THIS/2X, H0610680 230HTEST SEGMENT TO BE SUCCESSFUL.) H0610690 C***** END OF TEST SEGMENT 061 H0610700 C***** WHEN EXECUTING ONLY SEGMENT 061, THE STOP AND END CARDS H0610710 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0610720 C***** IN COLUMNS 1 AND 2 REMOVED. H0610730 C= STOP H0610740 C= END H0610750 C***********************************************************************H0620010 C***** H0620020 C***** IFMAX - (062) H0620030 C***** H0620040 C***********************************************************************H0620050 C***** GENERAL PURPOSE ASA REF H0620060 C***** TEST OF INTRINSIC FUNCTION AMAX0,AMAX1,MAX0,MAX1 AND 8.2 H0620070 C***** DMAX1 -- CHOOSING LARGEST VALUE (TABLE 3)H0620080 C***** H0620090 C***** S P E C I F I C A T I O N S SEGMENT 062 H0620100 C***** H0011965 C***** WHEN EXECUTING ONLY SEGMENT 062, THE SPECIFICATION STATEMENTS H0011970 C***** WHICH APPEAR AS COMMENT CARDS, MUST HAVE THE C= H0011975 C***** IN COLUMNS 1 AND 2 REMOVED. H0011980 C***** H0011985 C= DOUBLE PRECISION MCAVD,MCBVD,MCCVD,MCDVD,MCEVD,MCFVD H0011990 C***** H0011995 C***** O U T P U T T A P E ASSIGNMENT STATEMENT. NO INPUT TAPE. H0620110 C***** H0072135 C***** WHEN EXECUTING ONLY SEGMENT 062, THE FOLLOWING STATEMENT H0072140 C***** NUVI = 6 MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED. H0072145 C***** H0072150 C= NUVI = 6 H0072155 C***** H0072160 WRITE (NUVI,0620) H0620120 0620 FORMAT (1H1, 1X,35HIFMAX - (062) INTRINSIC FUNCTIONS--/13X,28HAMAXH0620130 10,AMAX1,MAX0, MAX1,DMAX1 / 2X,14HASA REF. - 8.2//2X,7HRESULTS) H0620140 C***** TEST OF AMAX0 - INTEGER ARGUMENTS, REAL FUNCTION 8.2/19H0620150 C***** TWO ARGUMENTS FOR AMAX0 H0620160 WRITE (NUVI,0625) H0620170 MCAVI = 128 H0620180 MCBVI = 64 H0620190 MCCVI = -8 H0620200 MCDVI = -4096 H0620210 CMEVS = 1.0 H0620220 CMEVS = AMAX0(MCAVI,MCBVI) H0620230 CMFVS = CMEVS - 128.0 H0620240 WRITE (NUVI,0621) CMFVS H0620250 CMEVS = 2.0 H0620260 CMEVS = AMAX0(MCCVI,MCCVI) H0620270 CMFVS = CMEVS + 8.0 H0620280 WRITE (NUVI,0621) CMFVS H0620290 CMEVS = 3.0 H0620300 CMEVS = AMAX0(MCAVI,MCCVI) H0620310 CMFVS = CMEVS - 128.0 H0620320 WRITE (NUVI,0621) CMFVS H0620330 CMEVS = 4.0 H0620340 CMEVS = AMAX0(MCCVI,MCDVI) H0620350 CMFVS = CMEVS + 8.0 H0620360 WRITE (NUVI,0621) CMFVS H0620370 CMEVS = 5.0 H0620380 CMEVS = AMAX0(MCDVI,MCBVI) H0620390 CMFVS = CMEVS - 64.0 H0620400 WRITE (NUVI,0621) CMFVS H0620410 MCGVI = 2 H0620420 WRITE (NUVI,0622) MCGVI H0620430 C***** THREE ARGUMENTS FOR AMAX0 H0620440 CMEVS = 6.0 H0620450 CMEVS = AMAX0(MCCVI,MCBVI,MCAVI) H0620460 CMFVS = CMEVS - 128.0 H0620470 WRITE (NUVI,0621) CMFVS H0620480 CMEVS = 7.0 H0620490 CMEVS = AMAX0(MCDVI,MCBVI,MCCVI) H0620500 CMFVS = CMEVS - 64.0 H0620510 WRITE (NUVI,0621) CMFVS H0620520 CMEVS = 8.0 H0620530 CMEVS = AMAX0(MCDVI,MCCVI,MCCVI) H0620540 CMFVS = CMEVS + 8.0 H0620550 WRITE (NUVI,0621) CMFVS H0620560 MCGVI = 3 H0620570 WRITE (NUVI,0622) MCGVI H0620580 C***** FOUR OR FIVE ARGUMENTS FOR AMAX0 H0620590 CMEVS = 9.0 H0620600 CMEVS = AMAX0(MCAVI,MCBVI,MCCVI,MCDVI) H0620610 CMFVS = CMEVS - 128.0 H0620620 WRITE (NUVI,0621) CMFVS H0620630 CMEVS = 10.0 H0620640 CMEVS = AMAX0(MCAVI,MCBVI,MCCVI,MCDVI,MCAVI) H0620650 CMFVS = CMEVS - 128.0 H0620660 WRITE (NUVI,0621) CMFVS H0620670 WRITE (NUVI,0623) H0620680 C***** TEST OF AMAX1 - REAL ARGUMENTS AND FUNCTION 8.2/20H0620690 C***** TWO ARGUMENTS FOR AMAX1 H0620700 WRITE (NUVI,0624) H0620710 CMAVS = 102.0E0 H0620720 CMBVS = +76.12 H0620730 CMCVS = -85.43E1 H0620740 CMDVS = -0.986 H0620750 CMEVS = AMAX1(CMAVS,CMBVS) H0620760 CMFVS = CMEVS - 102.0E0 H0620770 WRITE (NUVI,0621) CMFVS H0620780 CMEVS = AMAX1(CMBVS,CMCVS) H0620790 CMFVS = CMEVS - 76.12 H0620800 WRITE (NUVI,0621) CMFVS H0620810 CMEVS = AMAX1(CMDVS,CMCVS) H0620820 CMFVS = CMEVS + 0.986 H0620830 WRITE (NUVI,0621) CMFVS H0620840 MCGVI = 2 H0620850 WRITE (NUVI,0622) MCGVI H0620860 C***** THREE ARGUMENTS FOR AMAX1 H0620870 CMEVS = AMAX1(CMCVS,CMBVS,CMAVS) H0620880 CMFVS = CMEVS - 102.0E0 H0620890 WRITE (NUVI,0621) CMFVS H0620900 CMEVS = AMAX1(CMDVS,CMBVS,CMCVS) H0620910 CMFVS = CMEVS - 76.12 H0620920 WRITE (NUVI,0621) CMFVS H0620930 CMEVS = AMAX1(CMCVS,CMCVS,CMCVS) H0620940 CMFVS = CMEVS - CMCVS H0620950 WRITE (NUVI,0621) CMFVS H0620960 MCGVI = 3 H0620970 WRITE (NUVI,0622) MCGVI H0620980 C***** FOUR OR FIVE ARGUMENTS FOR AMAX1 H0620990 CMEVS = AMAX1(CMAVS,CMBVS,CMCVS,CMDVS) H0621000 CMFVS = CMEVS - 102.0E0 H0621010 WRITE (NUVI,0621) CMFVS H0621020 CMEVS = AMAX1(CMAVS,CMCVS,CMDVS,CMBVS,CMAVS) H0621030 CMFVS = CMEVS - 102.0E0 H0621040 WRITE (NUVI,0621) CMFVS H0621050 WRITE (NUVI,0623) H0621060 C***** TEST OF MAX0 - INTEGER ARGUMENTS AND FUNCTION 8.2/21H0621070 C***** TWO ARGUMENTS FOR MAX0 H0621080 WRITE (NUVI,0628) H0621090 MCEVI = MAX0(MCAVI,MCBVI) H0621100 MCFVI = MCEVI - 128 H0621110 WRITE (NUVI,0626) MCFVI H0621120 MCEVI = MAX0(MCCVI,MCDVI) H0621130 MCFVI = MCEVI + 8 H0621140 WRITE (NUVI,0626) MCFVI H0621150 MCEVI = MAX0(MCBVI,MCCVI) H0621160 MCFVI = MCEVI - 64 H0621170 WRITE (NUVI,0626) MCFVI H0621180 MCEVI = MAX0(MCCVI,MCCVI) H0621190 MCFVI = MCEVI - MCCVI H0621200 WRITE (NUVI,0626) MCFVI H0621210 MCGVI = 2 H0621220 WRITE (NUVI,0622) MCGVI H0621230 C***** THREE ARGUMENTS FOR MAX0 H0621240 MCEVI = MAX0(MCCVI,MCBVI,MCAVI) H0621250 MCFVI = MCEVI - 128 H0621260 WRITE (NUVI,0626) MCFVI H0621270 MCEVI = MAX0(MCDVI,MCDVI,MCCVI) H0621280 MCFVI = MCEVI + 8 H0621290 WRITE (NUVI,0626) MCFVI H0621300 MCGVI = 3 H0621310 WRITE (NUVI,0622) MCGVI H0621320 C***** FOUR OR FIVE ARGUMENTS FOR MAX0 H0621330 MCEVI = MAX0(MCDVI,MCCVI,MCBVI,MCAVI) H0621340 MCFVI = MCEVI - 128 H0621350 WRITE (NUVI,0626) MCFVI H0621360 MCEVI = MAX0(MCAVI,MCCVI,MCBVI,MCDVI,MCBVI) H0621370 MCFVI = MCEVI - 128 H0621380 WRITE (NUVI,0626) MCFVI H0621390 WRITE (NUVI,0623) H0621400 C***** TEST OF MAX1 - REAL ARGUMENTS AND INTEGER FUNCTION 8.2/22H0621410 C***** TWO ARGUMENTS FOR MAX1 H0621420 WRITE (NUVI,0629) H0621430 MCEVI = MAX1(CMAVS,CMBVS) H0621440 MCFVI = MCEVI - 102 H0621450 WRITE (NUVI,0626) MCFVI H0621460 MCEVI = MAX1(CMBVS,CMCVS) H0621470 MCFVI = MCEVI - 76 H0621480 WRITE (NUVI,0626) MCFVI H0621490 MCEVI = MAX1(CMDVS,CMCVS) H0621500 MCFVI = MCEVI + 0 H0621510 WRITE (NUVI,0626) MCFVI H0621520 MCGVI = 2 H0621530 WRITE (NUVI,0622) MCGVI H0621540 C***** THREE ARGUMENTS FOR MAX1 H0621550 MCEVI = MAX1(CMCVS,CMBVS,CMAVS) H0621560 MCFVI = MCEVI - 102 H0621570 WRITE (NUVI,0626) MCFVI H0621580 MCEVI = MAX1(CMDVS,CMCVS,CMBVS) H0621590 MCFVI = MCEVI - 76 H0621600 WRITE (NUVI,0626) MCFVI H0621610 MCGVI = 3 H0621620 WRITE (NUVI,0622) MCGVI H0621630 C***** FOUR OR FIVE ARGUMENTS FOR MAX1 H0621640 MCEVI = MAX1(CMAVS,CMBVS,CMCVS,CMDVS) H0621650 MCFVI = MCEVI - 102 H0621660 WRITE (NUVI,0626) MCFVI H0621670 MCEVI = MAX1(CMAVS,CMCVS,CMBVS,CMAVS,CMDVS) H0621680 MCFVI = MCEVI - 102 H0621690 WRITE (NUVI,0626) MCFVI H0621700 WRITE (NUVI,0623) H0621710 C***** TEST OF DMAX1 - DOUBLE PRECISION ARGUMENTS AND FUNCTION 8.2/23H0621720 C***** TWO ARGUMENTS FOR DMAX1 H0621730 WRITE (NUVI,9999) H0621740 MCAVD = 23.0D-1 H0621750 MCBVD = 111.789789D0 H0621760 MCCVD = -99.66D-1 H0621770 MCDVD = -456.123D0 H0621780 MCEVD = DMAX1(MCAVD,MCBVD) H0621790 MCFVD = MCEVD - 111.789789D0 H0621800 WRITE (NUVI,0627) MCFVD H0621810 MCEVD = DMAX1(MCAVD,MCCVD) H0621820 MCFVD = MCEVD - 23.0D-1 H0621830 WRITE (NUVI,0627) MCFVD H0621840 MCEVD = DMAX1(MCDVD,MCCVD) H0621850 MCFVD = MCEVD + 99.66D-1 H0621860 WRITE (NUVI,0627) MCFVD H0621870 MCEVD = DMAX1(MCDVD,MCDVD) H0621880 MCFVD = MCEVD - MCDVD H0621890 WRITE (NUVI,0627) MCFVD H0621900 MCGVI = 2 H0621910 WRITE (NUVI,0622) MCGVI H0621920 C***** THREE ARGUMENTS FOR DMAX1 H0621930 MCEVD = DMAX1(MCAVD,MCCVD,MCBVD) H0621940 MCFVD = MCEVD - 111.789789D0 H0621950 WRITE (NUVI,0627) MCFVD H0621960 MCEVD = DMAX1(MCCVD,MCDVD,MCAVD) H0621970 MCFVD = MCEVD - 23.0D-1 H0621980 WRITE (NUVI,0627) MCFVD H0621990 MCEVD = DMAX1(MCCVD,MCCVD,MCDVD) H0622000 MCFVD = MCEVD + 99.66D-1 H0622010 WRITE (NUVI,0627) MCFVD H0622020 MCGVI = 3 H0622030 WRITE (NUVI,0622) MCGVI H0622040 C***** FOUR OR FIVE ARGUMENTS FOR DMAX1 H0622050 MCEVD = DMAX1(MCAVD,MCCVD,MCBVD,MCDVD) H0622060 MCFVD = MCEVD - 111.789789D0 H0622070 WRITE (NUVI,0627) MCFVD H0622080 MCEVD = DMAX1(MCCVD,MCCVD,MCDVD,MCBVD,MCAVD) H0622090 MCFVD = MCEVD - 111.789789D0 H0622100 WRITE (NUVI,0627) MCFVD H0622110 WRITE (NUVI,0623) H0622120 WRITE (NUVI,9998) H0622130 0621 FORMAT ( F11.1) H0622140 0622 FORMAT ( 15X,9H END OF ,I2,15H-ARGUMENT TEST.) H0622150 0623 FORMAT ( 15X,31H END OF 4- OR 5-ARGUMENT TEST.) H0622160 0624 FORMAT ( /2X,15HTEST OF AMAX1--) H0622170 0625 FORMAT ( /2X,15HTEST OF AMAX0--) H0622180 0626 FORMAT ( I10) H0622190 0627 FORMAT ( D22.10) H0622200 0628 FORMAT (2H1 ,14HTEST OF MAX0--) H0622210 0629 FORMAT ( /2X,14HTEST OF MAX1--) H0622220 9998 FORMAT (/ 39H THE ABOVE ANSWERS SHOULD ALL BE 0 FOR/2X, H0622230 135HTHIS TEST SEGMENT TO BE SUCCESSFUL.) H0622240 9999 FORMAT ( /2X,15HTEST OF DMAX1--) H0622250 C***** END OF TEST SEGMENT 062 H0622260 C***** WHEN EXECUTING ONLY SEGMENT 062, THE STOP AND END CARDS H0622270 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0622280 C***** IN COLUMNS 1 AND 2 REMOVED. H0622290 C= STOP H0622300 C= END H0622310 C***********************************************************************H0630010 C***** H0630020 C***** IFMIN - (063) H0630030 C***** H0630040 C***********************************************************************H0630050 C***** GENERAL PURPOSE ASA REF H0630060 C***** TEST INTRINSIC FUNCTIONS AMIN0,AMIN1,MIN0,MIN1 AND 8.2 H0630070 C***** DMIN1 -- CHOOSING SMALLEST VALUE. (TABLE 3)H0630080 C***** H0630090 C***** S P E C I F I C A T I O N S SEGMENT 063 H0630100 C***** H0012000 C***** WHEN EXECUTING ONLY SEGMENT 063, THE SPECIFICATION STATEMENTS H0012005 C***** WHICH APPEAR AS COMMENT CARDS, MUST HAVE THE C= H0012010 C***** IN COLUMNS 1 AND 2 REMOVED. H0012015 C***** H0012020 C= DOUBLE PRECISION MCAVD,MCBVD,MCCVD,MCDVD,MCEVD,MCFVD H0012025 C***** H0012030 C***** O U T P U T T A P E ASSIGNMENT STATEMENT. NO INPUT TAPE. H0630110 C***** H0072165 C***** WHEN EXECUTING ONLY SEGMENT 063, THE FOLLOWING STATEMENT H0072170 C***** NUVI = 6 MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED. H0072175 C***** H0072180 C= NUVI = 6 H0072185 C***** H0072190 WRITE (NUVI,0630) H0630120 0630 FORMAT (1H1,1X,35HIFMIN - (063) INTRINSIC FUNCTIONS--/13X,27HAMIN0H0630130 1,AMIN1,MIN0,MIN1,DMIN1/ 2X,14HASA REF. - 8.2//2X,7HRESULTS) H0630140 C***** TEST OF AMIN0 - INTEGER ARGUMENTS, REAL FUNCTION 8.2/24H0630150 C***** TWO ARGUMENTS FOR AMIN0 H0630160 WRITE (NUVI,0635) H0630170 MCAVI = 128 H0630180 MCBVI = 64 H0630190 MCCVI = -8 H0630200 MCDVI = -4096 H0630210 CMEVS = AMIN0(MCAVI,MCBVI) H0630220 CMFVS = CMEVS - 64.0 H0630230 WRITE (NUVI,0631) CMFVS H0630240 CMEVS = AMIN0(MCDVI,MCCVI) H0630250 CMFVS = CMEVS + 4096.0 H0630260 WRITE (NUVI,0631) CMFVS H0630270 CMEVS = AMIN0(MCBVI,MCCVI) H0630280 CMFVS = CMEVS + 8.0 H0630290 WRITE (NUVI,0631) CMFVS H0630300 MCGVI = 2 H0630310 WRITE (NUVI,0632) MCGVI H0630320 C***** THREE-ARGUMENT TEST FOR AMIN0 H0630330 CMEVS = AMIN0(MCAVI,MCCVI,MCBVI) H0630340 CMFVS = CMEVS + 8.0 H0630350 WRITE (NUVI,0631) CMFVS H0630360 CMEVS = AMIN0(MCBVI,MCBVI,MCDVI) H0630370 CMFVS = CMEVS + 4096.0 H0630380 WRITE (NUVI,0631) CMFVS H0630390 MCGVI = 3 H0630400 WRITE (NUVI,0632) MCGVI H0630410 C***** FOUR OR FIVE ARGUMENTS FOR AMIN0 H0630420 CMEVS = AMIN0(MCAVI,MCCVI,MCDVI,MCBVI) H0630430 CMFVS = CMEVS + 4096.0 H0630440 WRITE (NUVI,0631) CMFVS H0630450 CMEVS = AMIN0(MCCVI,MCBVI,MCCVI,MCAVI,MCDVI) H0630460 CMFVS = CMEVS + 4096.0 H0630470 WRITE (NUVI,0631) CMFVS H0630480 WRITE (NUVI,0633) H0630490 C***** TEST OF AMIN1 - REAL ARGUMENTS, REAL FUNCTION 8.2/25H0630500 C***** TWO ARGUMENTS TEST FOR AMIN1 H0630510 WRITE (NUVI,0634) H0630520 CMAVS = 26.5 H0630530 CMBVS = 9.6666 H0630540 CMCVS = -1.65 H0630550 CMDVS = -10.001 H0630560 CMEVS = AMIN1(CMBVS,CMDVS) H0630570 CMFVS = CMEVS + 10.001 H0630580 WRITE (NUVI,0631) CMFVS H0630590 CMEVS = AMIN1(CMAVS,CMBVS) H0630600 CMFVS = CMEVS - 9.6666 H0630610 WRITE (NUVI,0631) CMFVS H0630620 CMEVS = AMIN1(CMCVS,CMDVS) H0630630 CMFVS = CMEVS + 10.001 H0630640 WRITE (NUVI,0631) CMFVS H0630650 CMEVS = AMIN1(CMCVS,CMCVS) H0630660 CMFVS = CMEVS + 1.65 H0630670 WRITE (NUVI,0631) CMFVS H0630680 MCGVI = 2 H0630690 WRITE (NUVI,0632) MCGVI H0630700 C***** THREE-ARGUMENT TEST FOR AMIN1 H0630710 CMEVS = AMIN1(CMBVS,CMCVS,CMDVS) H0630720 CMFVS = CMEVS + 10.001 H0630730 WRITE (NUVI,0631) CMFVS H0630740 CMEVS = AMIN1(CMBVS,CMBVS,CMBVS) H0630750 CMFVS = CMEVS - 9.6666 H0630760 WRITE (NUVI,0631) CMFVS H0630770 CMEVS = AMIN1(CMAVS,CMBVS,CMCVS) H0630780 CMFVS = CMEVS + 1.65 H0630790 WRITE (NUVI,0631) CMFVS H0630800 MCGVI = 3 H0630810 WRITE (NUVI,0632) MCGVI H0630820 C***** FOUR OR FIVE-ARGUMENT TEST FOR AMIN1 H0630830 CMEVS = AMIN1(CMAVS,CMBVS,CMCVS,CMDVS) H0630840 CMFVS = CMEVS + 10.001 H0630850 WRITE (NUVI,0631) CMFVS H0630860 CMEVS = AMIN1(CMAVS,CMCVS,CMBVS,CMCVS,CMDVS) H0630870 CMFVS = CMEVS + 10.001 H0630880 WRITE (NUVI,0631) CMFVS H0630890 WRITE (NUVI,0633) H0630900 C***** TEST OF MIN0 - INTEGER ARGUMENTS, INTEGER FUNCTION 8.2/26H0630910 C***** TWO-ARGUMENT TEST FOR MIN0 H0630920 WRITE (NUVI,0636) H0630930 MCEVI = MIN0(MCBVI,MCAVI) H0630940 MCFVI = MCEVI - 64 H0630950 WRITE (NUVI,0639) MCFVI H0630960 MCEVI = MIN0(MCBVI,MCCVI) H0630970 MCFVI = MCEVI + 8 H0630980 WRITE (NUVI,0639) MCFVI H0630990 MCEVI = MIN0(MCCVI,MCDVI) H0631000 MCFVI = MCEVI + 4096 H0631010 WRITE (NUVI,0639) MCFVI H0631020 MCEVI = MIN0(MCAVI,0) H0631030 WRITE (NUVI,0639) MCEVI H0631040 MCGVI = 2 H0631050 WRITE (NUVI,0632) MCGVI H0631060 C***** THREE-ARGUMENT TEST FOR MIN0 H0631070 MCEVI = MIN0(MCAVI,MCCVI,MCBVI) H0631080 MCFVI = MCEVI + 8 H0631090 WRITE (NUVI,0639) MCFVI H0631100 MCEVI = MIN0(MCCVI,MCAVI,MCDVI) H0631110 MCFVI = MCEVI + 4096 H0631120 WRITE (NUVI,0639) MCFVI H0631130 MCGVI = 3 H0631140 WRITE (NUVI,0632) MCGVI H0631150 C***** FOUR OR FIVE-ARGUMENT TEST FOR MIN0 H0631160 MCEVI = MIN0(MCBVI,MCAVI,MCCVI,MCDVI) H0631170 MCFVI = MCEVI + 4096 H0631180 WRITE (NUVI,0639) MCFVI H0631190 MCEVI = MIN0(MCAVI,MCBVI,MCAVI,MCCVI,MCDVI) H0631200 MCFVI = MCEVI + 4096 H0631210 WRITE (NUVI,0639) MCFVI H0631220 WRITE (NUVI,0633) H0631230 C***** TEST OF MIN1 - REAL ARGUMENTS, INTEGER FUNCTION 8.2/27H0631240 C***** TWO-ARGUMENT TEST FOR MIN1 H0631250 WRITE (NUVI,0637) H0631260 MCEVI = MIN1(CMAVS,CMBVS) H0631270 MCFVI = MCEVI - 9 H0631280 WRITE (NUVI,0639) MCFVI H0631290 MCEVI = MIN1(CMCVS,CMDVS) H0631300 MCFVI = MCEVI + 10 H0631310 WRITE (NUVI,0639) MCFVI H0631320 MCEVI = MIN1(CMAVS,CMCVS) H0631330 MCFVI = MCEVI + 1 H0631340 WRITE (NUVI,0639) MCFVI H0631350 MCGVI = 2 H0631360 WRITE (NUVI,0632) MCGVI H0631370 C***** THREE-ARGUMENT TEST FOR MIN1 H0631380 MCEVI = MIN1(CMAVS,CMCVS,CMBVS) H0631390 MCFVI = MCEVI + 1 H0631400 WRITE (NUVI,0639) MCFVI H0631410 MCEVI = MIN1(CMAVS,CMCVS,CMDVS) H0631420 MCFVI = MCEVI + 10 H0631430 WRITE (NUVI,0639) MCFVI H0631440 MCGVI = 3 H0631450 WRITE (NUVI,0632) MCGVI H0631460 C***** FOUR OR FIVE-ARGUMENT TEST FOR MIN1 H0631470 MCEVI = MIN1(CMAVS,CMBVS,CMDVS,CMCVS) H0631480 MCFVI = MCEVI + 10 H0631490 WRITE (NUVI,0639) MCFVI H0631500 MCEVI = MIN1(CMAVS,CMBVS,CMCVS,CMCVS,CMDVS) H0631510 MCFVI = MCEVI + 10 H0631520 WRITE (NUVI,0639) MCFVI H0631530 WRITE (NUVI,0633) H0631540 C***** TEST OF DMIN1 - DOUBLE PRECISION ARGUMENTS, FUNCTION 8.2/28H0631550 C***** TWO-ARGUMENT TEST FOR DMIN1 H0631560 WRITE (NUVI,0638) H0631570 MCAVD = 61.1234D0 H0631580 MCBVD = 2.0D1 H0631590 MCCVD = -999.009D-1 H0631600 MCDVD = -1.9D0 H0631610 MCEVD = DMIN1(MCAVD,MCBVD) H0631620 MCFVD = MCEVD - 2.0D1 H0631630 WRITE (NUVI,9996) MCFVD H0631640 MCEVD = DMIN1(MCCVD,MCDVD) H0631650 MCFVD = MCEVD + 999.009D-1 H0631660 WRITE (NUVI,9996) MCFVD H0631670 MCEVD = DMIN1(MCAVD,MCDVD) H0631680 MCFVD = MCEVD + 1.9D0 H0631690 WRITE (NUVI,9996) MCFVD H0631700 MCGVI = 2 H0631710 WRITE (NUVI,0632) MCGVI H0631720 C***** THREE-ARGUMENT TEST FOR DMIN1 H0631730 MCEVD = DMIN1(MCAVD,MCBVD,MCDVD) H0631740 MCFVD = MCEVD + 1.9D0 H0631750 WRITE (NUVI,9996) MCFVD H0631760 MCEVD = DMIN1(MCAVD,MCCVD,MCBVD) H0631770 MCFVD = MCEVD + 999.009D-1 H0631780 WRITE (NUVI,9996) MCFVD H0631790 MCGVI = 3 H0631800 WRITE (NUVI,0632) MCGVI H0631810 C***** FOUR OR FIVE-ARGUMENT TEST FOR DMIN1 H0631820 MCEVD = DMIN1(MCAVD,MCCVD,MCBVD,MCDVD) H0631830 MCFVD = MCEVD + 999.009D-1 H0631840 WRITE (NUVI,9996) MCFVD H0631850 MCEVD = DMIN1(MCBVD,MCAVD,MCBVD,MCDVD,MCCVD) H0631860 MCFVD = MCEVD + 999.009D-1 H0631870 WRITE (NUVI,9996) MCFVD H0631880 WRITE (NUVI,0633) H0631890 WRITE (NUVI,9997) H0631900 0631 FORMAT ( F11.1) H0631910 0632 FORMAT( 15X, 8H END OF,I2,15H-ARGUMENT TEST.) H0631920 0633 FORMAT ( 15X, 30H END OF 4 OR 5-ARGUMENT TEST.) H0631930 0634 FORMAT ( /16H TEST OF AMIN1 ) H0631940 0635 FORMAT ( /16H TEST OF AMIN0 ) H0631950 0636 FORMAT ( /16H TEST OF MIN0 ) H0631960 0637 FORMAT ( 16H1 TEST OF MIN1 ) H0631970 0638 FORMAT ( /16H TEST OF DMIN1 ) H0631980 0639 FORMAT ( I10) H0631990 9996 FORMAT ( D22.10) H0632000 9997 FORMAT ( /39H THE ABOVE ANSWERS SHOULD ALL BE 0 FOR/1X, H0632010 1 36H THIS TEST SEGMENT TO BE SUCCESSFUL.) H0632020 C***** END OF TEST SEGMENT 063 H0632030 C***** WHEN EXECUTING ONLY SEGMENT 063, THE STOP AND END CARDS H0632040 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0632050 C***** IN COLUMNS 1 AND 2 REMOVED. H0632060 C= STOP H0632070 C= END H0632080 C***********************************************************************H0640010 C***** H0640020 C***** IFDSG - (064) H0640030 C***** H0640040 C***********************************************************************H0640050 C***** GENERAL PURPOSE ASA REF H0640060 C***** TEST INTRINSIC FUNCTION DSIGN (TRANSFER OF SIGN WITH 8.2/33H0640070 C***** DOUBLE PRECISION ARGUMENTS AND FUNCTION) (TABLE 3)H0640080 C***** H0640090 C***** S P E C I F I C A T I O N S SEGMENT 064 H0640100 C***** H0012035 C***** WHEN EXECUTING ONLY SEGMENT 064, THE SPECIFICATION STATEMENTS H0012040 C***** WHICH APPEAR AS COMMENT CARDS, MUST HAVE THE C= H0012045 C***** IN COLUMNS 1 AND 2 REMOVED. H0012050 C***** H0012055 C= DOUBLE PRECISION MCAVD,MCBVD,MCCVD,MCDVD,MCEVD,MCFVD H0012060 C***** H0012065 C***** O U T P U T T A P E ASSIGNMENT STATEMENT. NO INPUT TAPE. H0640110 C***** H0072195 C***** WHEN EXECUTING ONLY SEGMENT 064, THE FOLLOWING STATEMENT H0072200 C***** NUVI = 6 MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED. H0072205 C***** H0072210 C= NUVI = 6 H0072215 C***** H0072220 WRITE (NUVI,0640) H0640120 0640 FORMAT (1H1,1X,34HIFDSG - (064) INTRINSIC FUNCTION--/16X,24HDSIGN H0640130 1(TRANSFER OF SIGN)/ 2X,14HASA REF. - 8.2//2X,7HRESULTS) H0640140 C***** HEADER FOR SEGMENT 064 WRITTEN H0640150 MCAVD = +9.5D0 H0640160 MCBVD = 123.4567D1 H0640170 MCCVD = -5.665D1 H0640180 MCDVD = -75.57D-0 H0640190 MCEVD = DSIGN(MCAVD,MCBVD) H0640200 MCFVD = MCEVD - 9.5D0 H0640210 WRITE (NUVI,0641) MCFVD H0640220 MCEVD = DSIGN(MCBVD,MCCVD) H0640230 MCFVD = MCEVD + 123.4567D1 H0640240 WRITE (NUVI,0641) MCFVD H0640250 MCEVD = DSIGN(MCCVD,MCDVD) H0640260 MCFVD = MCEVD + 5.665D1 H0640270 WRITE (NUVI,0641) MCFVD H0640280 MCEVD = DSIGN(MCDVD,MCDVD) H0640290 MCFVD = MCEVD +75.57D0 H0640300 WRITE (NUVI,0641) MCFVD H0640310 WRITE (NUVI,0642) H0640320 0641 FORMAT (1H0,D30.18) H0640330 0642 FORMAT (1H0,1X,38HALL ABOVE ANSWERS SHOULD BE 0 FOR THIS/ H0640340 12X,30HTEST SEGMENT TO BE SUCCESSFUL.) H0640350 C***** END OF TEST SEGMENT 064 H0640360 C***** WHEN EXECUTING ONLY SEGMENT 064, THE STOP AND END CARDS H0640370 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0640380 C***** IN COLUMNS 1 AND 2 REMOVED. H0640390 C= STOP H0640400 C= END H0640410 STOP H9999995 END H9999999