C***** PART8 *****************************************************H0003200 C***** H0003205 C***** ANSI FORTRAN (X3.9-1966) TEST PROGRAMS H0003210 C***** H0003215 C***** PREPARED BY THE NATIONAL BUREAU OF STANDARDS VERSION 3 H0003220 C***** H0003225 C***** JUNE 1973 H0003230 C***** H0003235 C***** PART 8 OF 14 PARTS H0003240 C***** H0003245 C***** SEGMENTS INCLUDED H0003250 C***** H0003255 C***** TANGH - 094 TANH H0003260 C***** H0003265 C***** SQROT - 095 SQRT H0003270 C***** H0003275 C***** DSQRO - 096 DSQRT H0003280 C***** H0003285 C***** CSQRO - 097 CSQRT H0003290 C***** H0003295 C***** ARCTG - 098 ATAN H0003300 C***** H0003305 C***** DACTG - 099 DATAN H0003310 C***** H0003315 C***** ACTG2 - 100 ATAN2 H0003320 C***** H0003325 C***** DATN2 - 101 DATAN H0003330 C***** H0003335 C***** DMODA - 102 DMOD H0003340 C***** H0003345 C***** CABSA - 103 CABS H0003350 C***** H0003355 C***** BSFTS - 110 STATEMENT FUNCTIONS (REAL AND INTEGER) H0003360 C***** H0003365 C***** BSFDF - 005 STATEMENT FUNCTION DEFINITIONS H0003370 C***** H0003375 C***** FSFTS - 111 STATEMENT FUNCTIONS (D.P., COMPLEX AND LOGICAL) H0003380 C***** H0003385 C***** FSFDF - 006 STATEMENT FUNCTION DEFINITIONS H0003390 C***** THE FOLLOWING SPECIFICATIONS ARE TO BE USED ONLY WHEN SEGMENTS H0013200 C***** 094, 095, 096, 097, 098, 099, 100, 101, 102, 103, 110 H0013205 C***** AND 111 ARE RUN AS ONE MAIN PROGRAM. H0013210 C***** H0013215 INTEGER IFIX H0013220 REAL ABS, SQRT H0013225 DOUBLE PRECISION BVD, AVD, CVD, DVD, EVD, FVD, GVD H0013230 DOUBLE PRECISION DPAFD,DPBFD,DPCFD,DPDFD,DPFFD,DPGFD,DPEFD,DPHFD H0013235 1 , DPAVD, DPBVD, DPCVD, DPDVD, DAWVD, DBWVD, DCWVD H0013240 DOUBLE PRECISION DPA1D(5),FC2D(5,5) H0013245 COMPLEX CHAVC,CHBVC,CHCVC,CHDVC,CHEVC,CHFVC, EP1C(30), AVC, BVC H0013250 COMPLEX CHAFC, CHBFC, CHCFC, CHDFC,CAWVC, CBWVC H0013255 LOGICAL A3B(2,2,2) H0013260 LOGICAL MCFVB, MCHVB, ABFB, BCFB, IEFB, KLFB H0013265 - ,MCEVB,MCIVB,MCKVB,ATVB,AWVB,BWVB,CWVB,DWVB,EWVB,SWVB,TWVB H0013270 DOUBLE PRECISION DBLE, DEXP H0013275 COMPLEX CMPLX, CEXP H0013280 C***** H0013285 C***** END OF SPECIFICATIONS FOR SEGMENTS H0013290 C***** 094, 095, 096, 097, 098, 099, 100, 101, 102, 103, 110, 111 H0013295 C***********************************************************************H0050010 C***** H0050020 C***** BSFDF - (005) H0050030 C***** H0050040 C***********************************************************************H0050050 C***** GENERAL PURPOSE ASA REF H0050060 C***** DEFINING STATEMENT FUNCTIONS THAT ARE TO BE TESTED H0050070 C***** IN SEGMENT 110 (BASIC FORTRAN) AND 111 (FULL FORTRAN) 8.1.1H0050080 C***** HEADER FOR SEGMENT 005 H0050090 C***** DEFINING EXPRESSION CONTAINS CONSTANTS AND VARIABLES H0050100 CMAFS(CAWVS,CBWVS) = CAWVS * 2. + CBWVS H0050110 CMBFS(MAWVI,MBWVI,MCWVI) =(MAWVI + MBWVI + MCWVI)/3 H0050120 MCAFI(MAWVI,MBWVI) = MAWVI ** MBWVI H0050130 MCBFI(CAWVS,CBWVS,CCWVS) = (CAWVS + CBWVS + CCWVS) * 2.0 H0050140 C***** DEFINING EXPRESSION CONTAINS CONSTANTS, VARIABLES AND H0050150 C***** INTRINSIC FUNCTIONS H0050160 CMCFS(CAWVS,CBWVS,CCWVS) = ABS(CAWVS**2 - (CBWVS+CCWVS)**2) H0050170 CMDFS(MAWVI,MBWVI) = ISIGN((MAWVI+MBWVI),(MAWVI-MBWVI)) H0050180 MCCFI(MAWVI,MBWVI,CAWVS) = MAWVI**2 + MBWVI**2 + IFIX(CAWVS)**2 H0050190 MCDFI(CAWVS,CBWVS,CCWVS,CDWVS,CEWVS) = (CAWVS + CBWVS + CCWVS + H0050200 1CDWVS +CEWVS) ** (ABS(CAWVS)) H0050210 C***** DEFINING EXPRESSION CONTAINS PREVIOUSLY DEFINED STATEMENT H0050220 C***** FUNCTIONS AND/OR EXTERNAL FUNCTION REFERENCES H0050230 CMEFS(CAWVS,CBWVS) = CMBFS(1,2,3) + SQRT((CAWVS + CBWVS)) H0050240 CMFFS(MAWVI,MBWVI,MCWVI) = MCCFI(MAWVI,MBWVI,3.0) + MCWVI **2 H0050250 MCEFI(MAWVI,MBWVI) = MCAFI(MAWVI,MBWVI) ** MCAFI(MAWVI,MBWVI) H0050260 MCFFI(CAWVS,CBWVS,CCWVS) = SQRT(CAWVS) + SQRT(CBWVS) + EXP(CCWVS) H0050270 C***** DEFINING EXPRESSION CONTAINS CONSTANTS, VARIABLES, INTRINSIC H0050280 C***** OR EXTERNAL FUNCTION REFERENCES AND PREVIOUSLY DEFINED H0050290 C***** STATEMENT FUNCTIONS. H0050300 CMGFS(MAWVI,MBWVI,CAWVS,CBWVS) = FLOAT(MAWVI ** 2) - CMAFS(CAWVS, H0050310 1CBWVS) + SQRT((FLOAT(MAWVI + MBWVI))) H0050320 MCGFI(MAWVI,MBWVI,MCWVI,CAWVS) = MCEFI(MAWVI,MBWVI) - MCEFI(MAWVI,H0050330 1MCWVI) + IFIX(EXP(CAWVS)) H0050340 C***** END OF TEST SEGMENT 005 H0050350 C***********************************************************************H0060010 C***** H0060020 C***** FSFDF - (006) H0060030 C***** H0060040 C***********************************************************************H0060050 C***** GENERAL PURPOSE ASA REF H0060060 C***** DEFINING STATEMENT FUNCTIONS THAT ARE TO BE TESTED 8.1.1H0060070 C***** IN SEGMENT 111 (FULL FORTRAN STATEMENT FUNCTION TEST) H0060080 C***** HEADER FOR SEGMENT 006 H0060090 C***** D.P. STATEMENT FUNCTIONS CONTAINING CONSTANTS AND VARIABLES H0060100 DPAFD(DAWVD,DBWVD) = (DAWVD + DBWVD) ** 2 H0060110 DPBFD(DAWVD,DBWVD,DCWVD) = (DAWVD + DBWVD - DCWVD) ** 3 H0060120 DPCFD(DAWVD,DBWVD,DCWVD) = 3.0D0 * (DAWVD + DBWVD + DCWVD)/2.D0 H0060130 C***** D.P. STATEMENT FUNCTIONS CONTAINING CONSTANTS, VARIABLES H0060140 C***** AND INTRINSIC FUNCTION REFERENCES H0060150 DPDFD(DAWVD,DBWVD) = DSIGN(DAWVD, -(DBWVD)) H0060160 DPEFD(DAWVD,DBWVD,CAWVC,CAWVS) = DBLE(CAWVS + AIMAG(CAWVC)) H0060170 1+ DMAX1(DAWVD,DBWVD + 1.D0) H0060180 C***** D.P. STATEMENT FUNCTIONS CONTAINING CONSTANTS, VARIABLES, H0060190 C***** INTRINSIC FUNCTION AND PREVIOUSLY DEFINED STATEMENT FUNCTION H0060200 C***** REFERENCES H0060210 DPFFD(DAWVD,DBWVD,CAWVS) = DPAFD(DAWVD,DBWVD) -(2.D0 * DAWVD * H0060220 1 DBWVD) + (DBLE(CAWVS) * 2.D0 ) H0060230 DPGFD(DAWVD,DBWVD,CAWVS,CAWVC) = DPBFD(DAWVD,DBWVD,DBLE(CAWVS)) H0060240 1 - DBLE(AIMAG(CAWVC)) + 5.0D0 H0060250 C***** D.P. STATEMENT FUNCTIONS CONTAINING CONSTANTS, VARIABLES, H0060260 C***** INTRINSIC FUNCTION, PREVIOUSLY DEFINED STATEMENT FUNCTION H0060270 C***** AND EXTERNAL FUNCTION REFERENCES H0060280 DPHFD(DAWVD,DBWVD,CAWVS) = DPFFD(DAWVD,DBWVD +1.0D0, CAWVS) * 2.D0H0060290 1 + DEXP(DAWVD) - (DBLE(CAWVS) * 2 .D0)-DEXP(DAWVD) H0060300 C***** COMPLEX STATEMENT FUNCTIONS CONTAINING CONSTANTS AND VARIABLESH0060310 CHAFC(CAWVC,CBWVC) = CAWVC * (2.0,2.0) + CBWVC + (2.0,2.0) H0060320 C***** COMPLEX STATEMENT FUNCTION CONTAINING CONSTANTS, VARIABLES, H0060330 C***** AND INTRINSIC FUNCTION REFERENCES H0060340 CHBFC(CAWVC,CBWVC,CAWVS) = CAWVC - CBWVC + CMPLX(CAWVS,CAWVS) H0060350 C***** COMPLEX STATEMENT FUNCTION CONTAINING CONSTANTS, H0060360 C***** VARIABLES, INTRINSIC AND EXTERNAL FUNCTION REFERENCES H0060370 CHCFC(CAWVC,CBWVC,CAWVS,CBWVS) = (CAWVC - CBWVC) + CEXP (CMPLX H0060380 1 (CAWVS,CBWVS)) - CMPLX(CAWVS,CBWVS) H0060390 C***** COMPLEX STATEMENT FUNCTION CONTAINING CONSTANTS, VARIABLES, H0060400 C***** INTRINSIC, EXTERNAL AND PREVIOUSLY DEFINED STATEMENT FUNCTION H0060410 C***** REFERENCES H0060420 CHDFC(CAWVC,CBWVC,CAWVS,CBWVS) = CHCFC(CAWVC,CBWVC,CAWVS +CAWVS, H0060430 1 2.0 * CBWVS) + CMPLX(1.0,2.0) H0060440 C***** STATEMENT FUNCTION CONTAINING LOGICAL VARIABLES H0060450 ABFB(AWVB, BWVB, DWVB) = AWVB .AND. BWVB .OR. .FALSE..AND.DWVB H0060460 C***** STATEMENT FUNCTION CONTAINING CONSTANTS, VARIABLES AND H0060470 C***** INTRINSIC FUNCTIONS H0060480 BCFB(EWVB,CWVB,BAWVS,BCWVS) = EWVB .AND.(BAWVS * ABS(BCWVS) .GT. H0060490 1 0.5).AND..NOT. CWVB H0060500 C***** STATEMENT FUNCTION CONTAINING PREVIOUSLY DEFINED STATEMENT H0060510 C***** FUNCTION AND AN INTRINSIC FUNCTION REFERENCE H0060520 IEFB(EWVB,ATVB,CWVB,BAWVS,BCWVS) = ATVB .AND.EWVB .AND. CWVB .OR. H0060530 1 AMAX1(BAWVS,BCWVS) .GT. 600. .OR. BCFB (EWVB,CWVB,BAWVS,BCWVS) H0060540 C***** STATEMENT FUNCTION CONTAINING BASIC EXTERNAL FUNCTION REFERENCE H0060550 KLFB(SWVB,TWVB,ATVB,BAWVS) = SWVB .AND..NOT. TWVB.OR.(SQRT(BAWVS) H0060560 1 .GT. 9.0) .OR. ATVB H0060570 C***** END OF TEST SEGMENT 006 H0060580 C***********************************************************************H0940010 C***** H0940020 C***** TANGH - 094 H0940030 C***** H0940040 C***********************************************************************H0940050 C***** GENERAL PURPOSE ASA REFH0940060 C***** TO TEST BASIC EXTERNAL FUNCTION - TANH - 8.3.3 H0940070 C***** HYPERBOLIC TANGENT -TYPE REAL H0940080 C***** USED IN SIMPLE ARITHMETIC EXPRESSIONS H0940090 C***** INTRINSIC FUNCTIONS ABS,FLOAT,AMINO,AMAX0,INT H0940100 C***** ASSUMED WORKING H0940110 C***** ARGUMENTS FROM 0.0 TO 8.0 H0940120 C***** H0940130 C***** I N P U T - O U T P U T T A P E ASSIGNMENT STATEMENTS H0940140 IRVI = 5 H0073200 NUVI = 6 H0073205 C***** IDENTIFY THE SOURCE OF THE TEST PROGRAMS H0073210 WRITE(NUVI,0071) H0073215 0071 FORMAT (41H1 F O R T R A N T E S T P R O G R A M S// H0073220 1 42H PREPARED BY NATIONAL BUREAU OF STANDARDS// H0073225 3 37H FOR USE ON LARGE FORTRAN PROCESSORS // H0073230 4 42H IN ACCORDANCE WITH ASA FORTRAN X3.9-1966// H0073235 5 23H VERSION 3 PART 8 ///) H0073240 C***** 3 OF 6 INPUT CARDS IDENTIFY THE USERS SYSTEM AND COMPILER H0073245 C PREPARED BY USER H0073250 C READ, NO LIST H0073255 C PREPARED BY USER H0073260 C READ, NO LIST H0073265 C PREPARED BY USER H0073270 C READ, NO LIST H0073275 C READ(IRVI,0070) H0073280 C READ(IRVI,0072) H0073285 C READ(IRVI,0073) H0073290 0070 FORMAT(40H BASED ON ASA FORTRAN X3.9-1966 /) H0073295 0072 FORMAT(40H TEST PROGRAMS /) H0073300 0073 FORMAT(40H FORTRAN COMPILER /) H0073305 WRITE(NUVI,0070) H0073310 WRITE(NUVI,0072) H0073315 WRITE(NUVI,0073) H0073320 940 FORMAT(15H1 TANGH - (094)//32H BASIC EXTERNAL FUNCTION -TANH- H0940150 1//33H (HYPERBOLIC TANGENT -TYPE REAL) H0940160 2//27H ASA REF.- 8.3.3 (TABLE 4)//24H LINE 1 OF EACH PAIR IS/23H H0940170 3 HOLLERITH INFORMATION//9H RESULTS) H0940180 WRITE (NUVI, 940) H0940190 C***** HEADER FOR SEGMENT 094 WRITTEN H0940200 AVS = 2.0 H0940210 CVS = -0.5 H0940220 IVI = 6 H0940230 BVS = TANH(FLOAT(IVI) - 3.0 * AVS) H0940240 WRITE (NUVI, 941) BVS H0940250 BVS = TANH(AVS) H0940260 WRITE (NUVI, 942) BVS H0940270 BVS = TANH(AVS + ABS(CVS)) H0940280 WRITE (NUVI, 943) BVS H0940290 BVS = TANH(AMIN0(IVI,8) - AVS) H0940300 WRITE (NUVI, 944) BVS H0940310 BVS = TANH(AMAX0(IVI,INT(AVS))) H0940320 WRITE (NUVI, 945) BVS H0940330 BVS = TANH(AVS ** 4 / AVS) H0940340 WRITE (NUVI, 946) BVS H0940350 WRITE (NUVI, 947) H0940360 941 FORMAT(7H0 X=0.0,5X,12H0.0000000000 /F21.7) H0940370 942 FORMAT(7H0 X=2.0,5X,12H0.9640275801 /F21.7) H0940380 943 FORMAT(7H0 X=2.5,5X,12H0.9866142982 /F21.7) H0940390 944 FORMAT(7H0 X=4.0,5X,12H0.9993292997 /F21.7) H0940400 945 FORMAT(7H0 X=6.0,5X,12H0.9999877117 /F21.7) H0940410 946 FORMAT(7H0 X=8.0,5X,12H0.9999997749 /F21.7) H0940420 947 FORMAT(//37H LINE 2 OF EACH PAIR IS THE FUNCTION/25H CALCULATIONH0940430 1 PRINTED TO , 8H7 DIGITS ) H0940440 C***** END OF TEST SEGMENT 094 H0940450 C***** WHEN EXECUTING ONLY SEGMENT 094, THE STOP AND END CARDS H0940460 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0940470 C***** IN COLUMNS 1 AND 2 REMOVED. H0940480 C= STOP H0940490 C= END H0940500 C***********************************************************************H0950010 C***** H0950020 C***** SQROT - (095) H0950030 C***** H0950040 C***********************************************************************H0950050 C***** GENERAL PURPOSE ASA REFH0950060 C***** TO TEST BASIC EXTERNAL FUNCTION - SQRT - 8.3.3 H0950070 C***** (SQUARE ROOT - TYPE REAL) TABLE 4H0950080 C***** USED IN SIMPLE ARITHMETIC EXPRESSIONS H0950090 C***** INTRINSIC FUNCTIONS FLOAT,INT,AMIN0,MAX0 H0950100 C***** ASSUMED WORKING H0950110 C***** ARGUMENTS ARE ALL PRIME NUMBERS H0950120 C***** H0950130 C***** O U T P U T T A P E ASSIGNMENT STATEMENT. NO INPUT TAPE. H0950140 C***** H0073325 C***** WHEN EXECUTING ONLY SEGMENT 095, THE FOLLOWING STATEMENT H0073330 C***** NUVI = 6 MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED. H0073335 C= NUVI = 6 H0073340 C***** H0073345 950 FORMAT(15H1 SQROT - (095)//32H BASIC EXTERNAL FUNCTION -SQRT- H0950150 1//26H (SQUARE ROOT -TYPE REAL) H0950160 2//27H ASA REF.- 8.3.3 (TABLE 4)//24H LINE 1 OF EACH PAIR IS/23H H0950170 3 HOLLERITH INFORMATION//9H RESULTS) H0950180 WRITE (NUVI, 950) H0950190 C***** HEADER FOR SEGMENT 095 WRITTEN H0950200 AVS = 2.0 H0950210 IVI = 3 H0950220 CVS = 17.0 H0950230 BVS = SQRT(FLOAT(( IVI + INT(AVS)) / 2)) H0950240 WRITE (NUVI, 951) BVS H0950250 BVS = SQRT(AMIN0(MAX0(IVI,2), INT(CVS))) H0950260 WRITE (NUVI, 952) BVS H0950270 BVS = SQRT(CVS) H0950280 WRITE (NUVI, 953) BVS H0950290 BVS = SQRT(2.0 * CVS - FLOAT(IVI)) H0950300 WRITE (NUVI, 954) BVS H0950310 BVS = SQRT(FLOAT(IVI + 1) + 5.0 * CVS) H0950320 WRITE (NUVI, 955) BVS H0950330 WRITE (NUVI, 956) H0950340 951 FORMAT ( 8H0 X= 2.0,4X,16H1.41421356237310 / F21.7) H0950350 952 FORMAT ( 8H0 X= 3.0,4X,16H1.73205080756888 / F21.7) H0950360 953 FORMAT ( 8H0 X=17.0,4X,16H4.12310562561766 / F21.7) H0950370 954 FORMAT ( 8H0 X=31.0,4X,16H5.56776436283002 / F21.7) H0950380 955 FORMAT ( 8H0 X=89.0,4X,16H9.43398113205660 / F21.7) H0950390 956 FORMAT(//37H LINE 2 OF EACH PAIR IS THE FUNCTION/25H CALCULATIONH0950400 1 PRINTED TO , 8H7 DIGITS ) H0950410 C***** END OF TEST SEGMENT 095 H0950420 C***** WHEN EXECUTING ONLY SEGMENT 095, THE STOP AND END CARDS H0950430 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0950440 C***** IN COLUMNS 1 AND 2 REMOVED. H0950450 C= STOP H0950460 C= END H0950470 C***********************************************************************H0960010 C***** H0960020 C***** DSQRO - (096) H0960030 C***** H0960040 C***********************************************************************H0960050 C***** GENERAL PURPOSE ASA REFH0960060 C***** TO TEST BASIC EXTERNAL FUNCTION - DSQRT - 8.3.3 H0960070 C***** (SQUARE ROOT - TYPE D.P.) TABLE 4H0960080 C***** USED IN SIMPLE EXPRESSIONS H0960090 C***** INTRINSIC FUNCTIONS DBLE,IABS,FLOAT ASSUMED WORKING H0960100 C***** ARGUMENTS ARE ALL PRIME NUMBERS H0960110 C***** H0960120 C***** S P E C I F I C A T I O N S SEGMENT 096 H0960130 C***** H0013300 C***** WHEN EXECUTING ONLY SEGMENT 096, THE SPECIFICATION STATEMENTS H0013305 C***** WHICH APPEAR AS COMMENT CARDS, MUST HAVE THE C= H0013310 C***** IN COLUMNS 1 AND 2 REMOVED. H0013315 C***** H0013320 C= DOUBLE PRECISION BVD H0013325 C***** H0013330 C***** O U T P U T T A P E ASSIGNMENT STATEMENT. NO INPUT TAPE. H0960140 C***** H0073350 C***** WHEN EXECUTING ONLY SEGMENT 096, THE FOLLOWING STATEMENT H0073355 C***** NUVI = 6 MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED. H0073360 C= NUVI = 6 H0073365 C***** H0073370 960 FORMAT(15H1 DSQRO - (096)//33H BASIC EXTERNAL FUNCTION -DSQRT- H0960150 1//26H (SQUARE ROOT -TYPE D.P.) H0960160 2//27H ASA REF.- 8.3.3 (TABLE 4)//24H LINE 1 OF EACH PAIR IS/23H H0960170 3 HOLLERITH INFORMATION//9H RESULTS) H0960180 WRITE (NUVI, 960) H0960190 C***** HEADER FOR SEGMENT 096 WRITTEN H0960200 AVS = 3.0 H0960210 IVI = -2 H0960220 CVS = 17.0 H0960230 BVD = DSQRT(DBLE(FLOAT(IABS(IVI)) + AVS - 3.0)) H0960240 WRITE (NUVI, 961) BVD H0960250 BVD = DSQRT(0.0D0 + AVS) H0960260 WRITE (NUVI, 962) BVD H0960270 BVD = DSQRT(CVS - AVS + 3.0D0) H0960280 WRITE (NUVI, 963) BVD H0960290 BVD = DSQRT(2.0D0 * CVS - DBLE(AVS)) H0960300 WRITE (NUVI, 964) BVD H0960310 BVD = DSQRT(DBLE(FLOAT(-IVI)+ AVS) * CVS + FLOAT(IVI ** 2)) H0960320 WRITE (NUVI, 965) BVD H0960330 WRITE (NUVI, 966) H0960340 961 FORMAT ( 8H0 X= 2.0,5X,25H1.4142135623730950488D+00/8X,1PD24.13) H0960350 962 FORMAT ( 8H0 X= 3.0,5X,25H1.7320508075688772935D+00/8X,1PD24.13) H0960360 963 FORMAT ( 8H0 X=17.0,5X,25H4.1231056256176605498D+00/8X,1PD24.13) H0960370 964 FORMAT ( 8H0 X=31.0,5X,25H5.5677643628300219221D+00/8X,1PD24.13) H0960380 965 FORMAT ( 8H0 X=89.0,5X,25H9.4339811320566038113D+00/8X,1PD24.13) H0960390 966 FORMAT(//37H LINE 2 OF EACH PAIR IS THE FUNCTION/25H CALCULATIONH0960400 A PRINTED TO ,9H14 DIGITS) H0960410 C***** END OF TEST SEGMENT 096 H0960420 C***** WHEN EXECUTING ONLY SEGMENT 096, THE STOP AND END CARDS H0960430 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0960440 C***** IN COLUMNS 1 AND 2 REMOVED. H0960450 C= STOP H0960460 C= END H0960470 C***********************************************************************H0970010 C***** H0970020 C***** CSQRO - (097) H0970030 C***** H0970040 C***********************************************************************H0970050 C***** GENERAL PURPOSE ASA REFH0970060 C***** H0970070 C***** TO TEST BASIC EXTERNAL FUNCTION -CSQRT- 8.3.3 H0970080 C***** (SQUARE ROOT OF A COMPLEX NUMBER ) TABLE 4H0970090 C***** ARGUMENTS ARE EP1C(11) TO EP1C(20) H0970100 C***** EXPECTED RESULTS ARE EP1C(1) TO EP1C(10) H0970110 C***** S P E C I F I C A T I O N S SEGMENT 097 H0970120 C***** H0013335 C***** WHEN EXECUTING ONLY SEGMENT 097 THE SPECIFICATION STATEMENTS H0013340 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0013345 C***** IN COLUMNS 1 AND 2 REMOVED. H0013350 C***** H0013355 C= COMPLEX EP1C(30), AVC, BVC H0013360 C***** H0013365 C***** O U T P U T - T A P E ASSIGNMENT STATEMENT. NO INPUT TAPE. H0970130 C***** H0073375 C***** WHEN EXECUTING ONLY SEGMENT 097, THE FOLLOWING STATEMENT H0073380 C***** NUVI = 6 MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED. H0073385 C= NUVI = 6 H0073390 C***** H0073395 WRITE (NUVI, 970) H0970140 970 FORMAT(15H1 CSQRO - (097)//33H BASIC EXTERNAL FUNCTION -CSQRT- H0970150 1//29H (SQUARE ROOT -TYPE COMPLEX)//27H ASA REF.- 8.3.3 (TABLE 4)H0970160 2//24H LINE 1 OF EACH PAIR IS /20H THE EXPECTED VALUE //9H RESULH0970170 3T ) H0970180 C***** INITIALIZE EP1C (EXACT VALUES) H0970190 EP1C(1) = (0.9950042,0.0998334) H0970200 EP1C(2) = (0.9800666,0.1986693) H0970210 EP1C(3) = (0.9553365,0.2955202) H0970220 EP1C(4) = (0.9210610,0.3894183) H0970230 EP1C(5) = (0.8775826,0.4794255) H0970240 EP1C(6) = (0.8253356,0.5646425) H0970250 EP1C(7) = (0.7648422,0.6442177) H0970260 EP1C(8) = (0.6967067,0.7173561) H0970270 EP1C(9) = (0.5403023,0.8414710) H0970280 EP1C(10) = (0.4161468,-0.9092974) H0970290 EP1C(11) = (0.9800666,0.1986693) H0970300 EP1C(12) = (0.9210610,0.3894183) H0970310 EP1C(13) = (0.8253356,0.5646425) H0970320 EP1C(14) = (0.6967067,0.7173561) H0970330 EP1C(15) = (0.5403023,0.8414710) H0970340 EP1C(16) = (0.3623577,0.9320391) H0970350 EP1C(17) = (0.1699671,0.9854497) H0970360 EP1C(18) = (-0.0291995,0.9995736) H0970370 EP1C(19) = (-0.4161468,0.9092974) H0970380 EP1C(20) = (-0.6536436,-0.7568025) H0970390 IVI = 0 H0970400 971 JVI = 1 H0970410 972 IVI = IVI + 1 H0970420 JVI = JVI + 1 H0970430 AVC = CSQRT(EP1C(IVI + 10) * (10. ** ((2 * JVI) - 8))) H0970440 BVC = EP1C(IVI) * 10. ** (JVI - 4) H0970450 WRITE (NUVI, 973) BVC, AVC H0970460 973 FORMAT( 2H0 ,2E14.7/2X,2E14.7) H0970470 IF (JVI - 6) 972, 974, 974 H0970480 974 IF (IVI - 10) 971, 975, 975 H0970490 975 WRITE (NUVI, 976) H0970500 976 FORMAT(//37H LINE 2 OF EACH PAIR IS THE FUNCTION/13H CALCULATIONH0970510 1) H0970520 C***** END OF TEST SEGMENT 097 H0970530 C***** WHEN EXECUTING ONLY SEGMENT 097 THE STOP AND END CARDS H0970540 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0970550 C***** IN COLUMNS 1 AND 2 REMOVED. H0970560 C= STOP H0970570 C= END H0970580 C***********************************************************************H0980010 C***** H0980020 C***** ARCTG - (098) H0980030 C***** H0980040 C***********************************************************************H0980050 C***** GENERAL PURPOSE ASA REFH0980060 C***** TO TEST BASIC EXTERNAL FUNCTION - ATAN - 8.3.3 H0980070 C***** (TRIGONOMETRIC ARCTANGENT, SINGLE ARGUMENT -TYPE REAL)TABLE 4H0980080 C***** USED IN SIMPLE ARITHMETIC EXPRESSIONS H0980090 C***** INTRINSIC FUNCTION ABS,FLOAT,AMAX1,INT H0980100 C***** ASSUMED WORKING H0980110 C***** ARGUMENTS ARE POWERS (OR SUMS) OF 2 H0980120 C***** H0980130 C***** O U T P U T T A P E ASSIGNMENT STATEMENT. NO INPUT TAPE. H0980140 C***** H0073400 C***** WHEN EXECUTING ONLY SEGMENT 098, THE FOLLOWING STATEMENT H0073405 C***** NUVI = 6 MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED. H0073410 C= NUVI = 6 H0073415 C***** H0073420 WRITE (NUVI, 980) H0980150 980 FORMAT(15H1 ARCTG - (098)//32H BASIC EXTERNAL FUNCTION -ATAN- H0980160 1//25H (ARCTANGENT -TYPE REAL) H0980170 2//27H ASA REF.- 8.3.3 (TABLE 4)//24H LINE 1 OF EACH PAIR IS/23H H0980180 3 HOLLERITH INFORMATION//9H RESULTS) H0980190 C***** HEADER FOR SEGMENT 098 WRITTEN H0980200 AVS = .125 H0980210 CVS = -.25 H0980220 IVI = 2 H0980230 BVS = ATAN(AMAX1(AVS,CVS)) H0980240 WRITE (NUVI, 981) BVS H0980250 BVS = ATAN(AVS * 2.0) H0980260 WRITE(NUVI, 982) BVS H0980270 BVS = ATAN (ABS(CVS) + AVS) H0980280 WRITE(NUVI, 983) BVS H0980290 BVS = ATAN(-CVS * AMAX0(IVI, INT(AVS))) H0980300 WRITE(NUVI, 984) BVS H0980310 BVS = ATAN (FLOAT(IVI) * CVS - (2.0 * AVS)) H0980320 WRITE (NUVI, 985) BVS H0980330 BVS = ATAN(1.0) H0980340 WRITE (NUVI, 986) BVS H0980350 WRITE (NUVI, 987) H0980360 981 FORMAT(10H0 X= 0.125,5X,15H 0.124354994547,/10X,F15.7) H0980370 982 FORMAT(10H0 X= 0.250,5X,15H 0.244978663127,/10X,F15.7) H0980380 983 FORMAT(10H0 X= 0.375,5X,15H 0.358770670271,/10X,F15.7) H0980390 984 FORMAT(10H0 X= 0.500,5X,15H 0.463647609001,/10X,F15.7) H0980400 985 FORMAT(10H0 X=-0.750,5X,15H-0.643501108793,/10X,F15.7) H0980410 986 FORMAT(10H0 X= 1.000,5X,15H 0.785398163397,/10X,F15.7) H0980420 987 FORMAT(//37H LINE 2 OF EACH PAIR IS THE FUNCTION/25H CALCULATIONH0980430 1 PRINTED TO ,8H7 DIGITS ) H0980440 C***** END OF TEST SEGMENT 098 H0980450 C***** WHEN EXECUTING ONLY SEGMENT 098, THE STOP AND END CARDS H0980460 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0980470 C***** IN COLUMNS 1 AND 2 REMOVED. H0980480 C= STOP H0980490 C= END H0980500 C***********************************************************************H0990010 C***** H0990020 C***** DACTG - (099) H0990030 C***** H0990040 C***********************************************************************H0990050 C***** GENERAL PURPOSE ASA REFH0990060 C***** TO TEST BASIC EXTERNAL FUNCTION - DATAN - 8.3.3 H0990070 C***** (TRIGONOMETRIC ARCTANGENT,SINGLE ARGUMENT -TYPE D.P.) TABLE 4H0990080 C***** USED IN SIMPLE ARITHMETIC EXPRESSIONS H0990090 C***** INTRINSIC FUNCTIONS DSIGN,FLOAT,DBLE ASSUMED WORKING H0990100 C***** ARGUMENTS ARE POWERS (OR SUMS) OF 2 H0990110 C***** H0990120 C***** S P E C I F I C A T I O N S SEGMENT 099 H0990130 C***** H0013370 C***** WHEN EXECUTING ONLY SEGMENT 099, THE SPECIFICATION STATEMENTS H0013375 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0013380 C***** IN COLUMNS 1 AND 2 REMOVED. H0013385 C***** H0013390 C= DOUBLE PRECISION AVD, BVD, CVD H0013395 C***** H0013400 C***** O U T P U T T A P E ASSIGNMENT STATEMENT. NO INPUT TAPE. H0990140 C***** H0073425 C***** WHEN EXECUTING ONLY SEGMENT 099, THE FOLLOWING STATEMENT H0073430 C***** NUVI = 6 MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED. H0073435 C= NUVI = 6 H0073440 C***** H0073445 C***** HEADER FOR SEGMENT 099 WRITTEN H0990150 WRITE(NUVI, 990) H0990160 990 FORMAT(15H1 DACTG - (099)//33H BASIC EXTERNAL FUNCTION -DATAN- H0990170 1//25H (ARCTANGENT -TYPE D.P.) H0990180 2//27H ASA REF.- 8.3.3 (TABLE 4)//24H LINE 1 OF EACH PAIR IS/23H H0990190 3 HOLLERITH INFORMATION//9H RESULTS) H0990200 AVD = -.125D0 H0990210 CVD = .25D0 H0990220 IVI = 2 H0990230 BVD = DATAN(DSIGN(AVD,CVD)) H0990240 WRITE (NUVI, 991) BVD H0990250 BVD = DATAN(2.0 * (-AVD)) H0990260 WRITE(NUVI, 992) BVD H0990270 BVD = DATAN(CVD - AVD) H0990280 WRITE(NUVI, 993) BVD H0990290 BVD = DATAN(DBLE(FLOAT(IVI) / 4.0)) H0990300 WRITE (NUVI, 994) BVD H0990310 BVD = DATAN (DSIGN(1.0D0 - CVD, AVD)) H0990320 WRITE(NUVI, 995) BVD H0990330 BVD = DATAN(DBLE(FLOAT(IVI ** 2)) * CVD) H0990340 WRITE (NUVI, 996) BVD H0990350 WRITE (NUVI, 997) H0990360 991 FORMAT(10H0 X= 0.125,5X,19H 0.124354994547D+00 /10X,D24.12) H0990370 992 FORMAT(10H0 X= 0.250,5X,19H 0.244978663127D+00 /10X,D24.12) H0990380 993 FORMAT(10H0 X= 0.375,5X,19H 0.358770670271D+00 /10X,D24.12) H0990390 994 FORMAT(10H0 X= 0.500,5X,19H 0.463647609001D+00 /10X,D24.12) H0990400 995 FORMAT(10H0 X=-0.750,5X,19H-0.643501108793D+00 /10X,D24.12) H0990410 996 FORMAT(10H0 X= 1.000,5X,19H 0.785398163397D+00 /10X,D24.12) H0990420 997 FORMAT(//37H LINE 2 OF EACH PAIR IS THE FUNCTION/25H CALCULATIONH0990430 1 PRINTED TO ,9H12 DIGITS ) H0990440 C***** END OF TEST SEGMENT 099 H0990450 C***** WHEN EXECUTING ONLY SEGMENT 099, THE STOP AND END CARDS H0990460 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0990470 C***** IN COLUMNS 1 AND 2 REMOVED. H0990480 C= STOP H0990490 C= END H0990500 C***********************************************************************H1000010 C***** H1000020 C***** ACTG2 - (100) H1000030 C***** H1000040 C***********************************************************************H1000050 C***** GENERAL PURPOSE ASA REFH1000060 C***** TO TEST BASIC EXTERNAL FUNCTION - ATAN2 - 8.3.3 H1000070 C***** (TRIGONOMETRIC ARCTANGENT, TWO ARGUMENTS -TYPE REAL) TABLE 4H1000080 C***** USED IN SIMPLE ARITHMETIC EXPRESSIONS H1000090 C***** INTRINSIC FUNCTIONS AMIN1,FLOAT,AMAX0 ASSUMED WORKING H1000100 C***** ARGUMENTS ARE POWERS (OR SUMS) OF 2 H1000110 C***** H1000120 C***** O U T P U T T A P E ASSIGNMENT STATEMENTS. NO INPUT TAPE. H1000130 C***** H0073450 C***** WHEN EXECUTING ONLY SEGMENT 100, THE FOLLOWING STATEMENT H0073455 C***** NUVI = 6 MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED. H0073460 C= NUVI = 6 H0073465 C***** H0073470 WRITE(NUVI, 1000) H1000140 1000 FORMAT(15H1 ACTG2 - (100)//33H BASIC EXTERNAL FUNCTION -ATAN2- H1000150 1//37H (ARCTANGENT, 2 ARGUMENT -TYPE REAL) H1000160 2//27H ASA REF.- 8.3.3 (TABLE 4)//24H LINE 1 OF EACH PAIR IS/23H H1000170 3 HOLLERITH INFORMATION//9H RESULTS) H1000180 AVS = .125 H1000190 CVS = -.25 H1000200 IVI = 2 H1000210 BVS = ATAN2(ABS(AMIN1(AVS,CVS)),FLOAT(IVI)) H1000220 WRITE (NUVI, 1001) BVS H1000230 BVS = ATAN2(CVS ** 2, AVS * 2.0) H1000240 WRITE (NUVI, 1002) BVS H1000250 BVS = ATAN2 (AVS - CVS, -(4.0 * CVS)) H1000260 WRITE (NUVI, 1003) BVS H1000270 BVS = ATAN2(-CVS/AVS, AMAX0(IVI,4)) H1000280 WRITE (NUVI, 1004) BVS H1000290 BVS = ATAN2(-.09375,AVS) H1000300 WRITE (NUVI, 1005) BVS H1000310 BVS = ATAN2(FLOAT(IVI), 2.0) H1000320 WRITE (NUVI, 1006) BVS H1000330 WRITE (NUVI, 1007) H1000340 1001 FORMAT(10H0 X= 0.125,5X,15H 0.124354994547,/10X,F15.7) H1000350 1002 FORMAT(10H0 X= 0.250,5X,15H 0.244978663127,/10X,F15.7) H1000360 1003 FORMAT(10H0 X= 0.375,5X,15H 0.358770670271,/10X,F15.7) H1000370 1004 FORMAT(10H0 X= 0.500,5X,15H 0.463647609001,/10X,F15.7) H1000380 1005 FORMAT(10H0 X=-0.750,5X,15H-0.643501108793,/10X,F15.7) H1000390 1006 FORMAT(10H0 X= 1.000,5X,15H 0.785398163397,/10X,F15.7) H1000400 1007 FORMAT(//37H LINE 2 OF EACH PAIR IS THE FUNCTION/25H CALCULATIONH1000410 1 PRINTED TO ,8H7 DIGITS ) H1000420 C***** END OF TEST SEGMENT 100 H1000430 C***** WHEN EXECUTING ONLY SEGMENT 100, THE STOP AND END CARDS H1000440 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H1000450 C***** IN COLUMNS 1 AND 2 REMOVED. H1000460 C= STOP H1000470 C= END H1000480 C***********************************************************************H1010010 C***** H1010020 C***** DATN2 - (101) H1010030 C***** H1010040 C***********************************************************************H1010050 C***** GENERAL PURPOSE ASA REFH1010060 C***** TO TEST BASIC EXTERNAL FUNCTION - DATAN2 - 8.3.3 H1010070 C***** (TRIGONOMETRIC ARCTANGENT, TWO ARGUMENT -TYPE D.P.) TABLE 4H1010080 C***** USED IN SIMPLE ARITHMETIC EXPRESSIONS H1010090 C***** INTRINSIC FUNCTIONS DMIN1,DMAX1,DSIGN,DBLE,FLOAT H1010100 C***** ASSUMED WORKING H1010110 C***** ARGUMENTS ARE POWERS (OR SUMS) OF 2 H1010120 C***** H1010130 C***** S P E C I F I C A T I O N S SEGMENT 101 H1010140 C***** H0013405 C***** WHEN EXECUTING ONLY SEGMENT 101, THE SPECIFICATION STATEMENTS H0013410 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= IN COLUMNS H0013415 C***** 1 AND 2 REMOVED. H0013420 C***** H0013425 C= DOUBLE PRECISION AVD, BVD, CVD H0013430 C***** H0013435 C***** O U T P U T - T A P E ASSIGNMENT STATEMENT. NO INPUT TAPE H1010150 C***** H0073475 C***** WHEN EXECUTING ONLY SEGMENT 101, THE FOLLOWING STATEMENT H0073480 C***** NUVI = 6 MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED. H0073485 C= NUVI = 6 H0073490 C***** H0073495 WRITE (NUVI, 1010) H1010160 1010 FORMAT(15H1 DATN2 - (101)//36H BASIC EXTERNAL FUNCTION -DATAN2- H1010170 1//37H (ARCTANGENT, 2 ARGUMENT -TYPE D.P.) H1010180 2//27H ASA REF.- 8.3.3 (TABLE 4)//24H LINE 1 OF EACH PAIR IS/23H H1010190 3 HOLLERITH INFORMATION//9H RESULTS) H1010200 AVD = .125 H1010210 CVD = -.25 H1010220 IVI = 2 H1010230 BVD = DATAN2( DMIN1( AVD,-CVD), 2.0D0/ DBLE(FLOAT(IVI))) H1010240 WRITE (NUVI, 1011) BVD H1010250 BVD = DATAN2( AVD, FLOAT( IVI) * (-CVD)) H1010260 WRITE (NUVI, 1012) BVD H1010270 BVD = DATAN2 (DSIGN(2.0D0 * CVD + AVD, AVD), DMAX1(AVD,CVD,1.0D0))H1010280 WRITE (NUVI, 1013) BVD H1010290 BVD = DATAN2(DMIN1(AVD,.0625D0),DMAX1(AVD,CVD)) H1010300 WRITE (NUVI, 1014) BVD H1010310 BVD = DATAN2(DABS(CVD) * DSIGN(AVD, CVD) * 6.D0, .25D0) H1010320 WRITE (NUVI, 1015) BVD H1010330 BVD = DATAN2 (DBLE(FLOAT(IVI)),AVD * FLOAT(IVI **4)) H1010340 WRITE (NUVI, 1016) BVD H1010350 WRITE (NUVI, 1017) H1010360 1011 FORMAT(10H0 X= 0.125,5X,19H 0.124354994547D+00 /10X,D24.12) H1010370 1012 FORMAT(10H0 X= 0.250,5X,19H 0.244978663127D+00 /10X,D24.12) H1010380 1013 FORMAT(10H0 X= 0.375,5X,19H 0.358770670271D+00 /10X,D24.12) H1010390 1014 FORMAT(10H0 X= 0.500,5X,19H 0.463647609001D+00 /10X,D24.12) H1010400 1015 FORMAT(10H0 X=-0.750,5X,19H-0.643501108793D+00 /10X,D24.12) H1010410 1016 FORMAT(10H0 X= 1.000,5X,19H 0.785398163397D+00 /10X,D24.12) H1010420 1017 FORMAT(//37H LINE 2 OF EACH PAIR IS THE FUNCTION/25H CALCULATIONH1010430 1 PRINTED TO ,9H12 DIGITS ) H1010440 C***** END OF TEST SEGMENT 101 H1010450 C***** WHEN EXECUTING ONLY SEGMENT 101 THE STOP AND END CARDS H1010460 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H1010470 C***** IN COLUMNS 1 AND 2 REMOVED. H1010480 C= STOP H1010490 C= END H1010500 C***********************************************************************H1020010 C***** H1020020 C***** DMODA - (102) H1020030 C***** H1020040 C***********************************************************************H1020050 C***** GENERAL PURPOSE ASA REFH1020060 C***** TO TEST BASIC EXTERNAL FUNCTION - DMOD - 8.3.3 H1020070 C***** (REMAINDERING -TYPE DOUBLE PRECISION) TABLE 4H1020080 C***** INTRINSIC FUNCTIONS DBLE,FLOAT,IDINT, ASSUMED WORKING H1020090 C***** H1020100 C***** S P E C I F I C A T I O N S SEGMENT 102 H1020110 C***** H0013440 C***** WHEN EXECUTING ONLY SEGMENT 102, THE SPECIFICATION STATEMENTS H0013445 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0013450 C***** IN COLUMNS 1 AND 2 REMOVED. H0013455 C***** H0013460 C= DOUBLE PRECISION AVD,BVD,CVD,DVD,EVD,FVD,GVD H0013465 C***** H0013470 C***** O U T P U T - T A P E ASSIGNMENT STATEMENT. NO INPUT TAPE. H1020120 C***** H0073500 C***** WHEN EXECUTING ONLY SEGMENT 102 THE FOLLOWING STATEMENT H0073505 C***** NUVI = 6 MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED. H0073510 C= NUVI = 6 H0073515 C***** H0073520 WRITE (NUVI, 1020) H1020130 1020 FORMAT(15H1 DMODA - (102)//32H BASIC EXTERNAL FUNCTION -DMOD- H1020140 1//39H (REMAINDERING -TYPE DOUBLE PRECISION)//27H ASA REF.- 8.3.3H1020150 2 (TABLE 4)// 9H RESULTS) H1020160 AVD = 16.0625D0 H1020170 BVD = -4.0D0 H1020180 CVD = -8.125D0 H1020190 DVD = 2.5D0 H1020200 EVD = -1.0D0 H1020210 FVD = 1.0D0 H1020220 FVD = DMOD(AVD, BVD) H1020230 GVD = FVD - 0.0625D0 H1020240 WRITE (NUVI, 1021) GVD H1020250 FVD = 2.0D0 H1020260 FVD = DMOD(CVD, DVD) H1020270 GVD = FVD + 0.625D0 H1020280 WRITE (NUVI, 1021) GVD H1020290 FVD = 3.0D0 H1020300 FVD = DMOD(BVD, EVD) H1020310 GVD = FVD + 0.0D0 H1020320 WRITE (NUVI, 1021) GVD H1020330 FVD = 4.0D0 H1020340 FVD = DMOD(BVD, AVD) H1020350 GVD = FVD - (BVD-(DBLE(FLOAT(IDINT(BVD/AVD)))) * AVD) H1020360 WRITE (NUVI, 1021) GVD H1020370 WRITE (NUVI, 1022) H1020380 1021 FORMAT(//D25.14) H1020390 1022 FORMAT(//18H END OF DMOD TEST//40H ALL ABOVE ANSWERS SHOULD BE 0H1020400 1 FOR THIS/32H TEST SEGMENT TO BE SUCCESSFUL.) H1020410 C***** END OF TEST SEGMENT 102 H1020420 C***** WHEN EXECUTING ONLY SEGMENT 102 THE STOP AND END CARDS H1020430 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H1020440 C***** IN COLUMNS 1 AND 2 REMOVED. H1020450 C= STOP H1020460 C= END H1020470 C***********************************************************************H1030010 C***** H1030020 C***** CABSA - (103) H1030030 C***** H1030040 C***********************************************************************H1030050 C***** GENERAL PURPOSE ASA REFH1030060 C***** .TO TEST BASIC EXTERNAL FUNCTION -CABS- 8.3.3 H1030070 C***** (MODULUS OF A COMPLEX NUMBER) TABLE 4H1030080 C***** ARGUMENTS ARE ARRAY EP1C(30), FUNCTIONS FROM H1030090 C***** ODD NUMBERED ARGUMENTS PRINTED AS SET 1 AND 2 H1030100 C***** FROM EVEN NUMBERED ARGUMENTS H1030110 C***** SET 1 RESULTS SHOULD BE .1 E-6 TO .1 E+8 H1030120 C***** SET 2 RESULTS SHOULD BE .5 E-6 TO .5 E+8 H1030130 C***** H1030140 C***** S P E C I F I C A T I O N S SEGMENT 103 H1030150 C***** H0013475 C***** WHEN EXECUTING ONLY SEGMENT 103 THE SPECIFICATION STATEMENTS H0013480 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0013485 C***** IN COLUMNS 1 AND 2 REMOVED. H0013490 C***** H0013495 C= COMPLEX EP1C(30) H0013500 C***** H0013505 C***** O U T P U T - T A P E ASSIGNMENT STATEMENT. NO INPUT TAPE. H1030160 C***** H0073525 C***** WHEN EXECUTING ONLY SEGMENT 103 THE FOLLOWING STATEMENT H0073530 C***** NUVI = 6 MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED. H0073535 C= NUVI = 6 H0073540 C***** H0073545 WRITE (NUVI, 1030) H1030170 1030 FORMAT(15H1 CABSA - (103)//32H BASIC EXTERNAL FUNCTION -CABS- H1030180 1//31H (MODULUS OF A COMPLEX NUMBER)//27H ASA REF.- 8.3.3 (TABLE H1030190 24)//9H RESULTS//10X,5HSET 1,15X,5HSET 2 ) H1030200 C*****INITIALIZE EP1C(EXACT VALUES) H1030210 EP1C(1) = (0.5E-7,-0.866025E-7) H1030220 EP1C(2) = (2.5E-7,-4.330125E-7) H1030230 EP1C(3) = (1.E-6,0.0) H1030240 EP1C(4) = (5.E-6,0.0) H1030250 EP1C(5) = (0.5E-5,0.866025E-5) H1030260 EP1C(6) = (2.5E-5,4.330125E-5) H1030270 EP1C(7) = (-0.5E-4,0.866025E-4) H1030280 EP1C(8) = (-2.5E-4,4.330125E-4) H1030290 EP1C(9) = (-1.E-3,0.0) H1030300 EP1C(10) = (-5.E-3,0.0) H1030310 EP1C(11) = (-0.5E-2,-0.866025E-2) H1030320 EP1C(12) = (-2.5E-2,-4.330125E-2) H1030330 EP1C(13) = (0.5E-1,-0.866025E-1) H1030340 EP1C(14) = (2.5E-1,-4.330125E-1) H1030350 EP1C(15) = (1.0,0.0) H1030360 EP1C(16) = (5.0,0.0) H1030370 EP1C(17) = (0.5E1,0.866025E1) H1030380 EP1C(18) = (2.5E1,4.330125E1) H1030390 EP1C(19) = (-0.5E2,0.866025E2) H1030400 EP1C(20) = (-2.5E2,4.330125E2) H1030410 EP1C(21) = (-1.E3,0.0) H1030420 EP1C(22) = (-5.E3,0.0) H1030430 EP1C(23) = (-0.5E4,-0.866025E4) H1030440 EP1C(24) = (-2.5E4,-4.330125E4) H1030450 EP1C(25) = (0.5E5,-0.866025E5) H1030460 EP1C(26) = (2.5E5,-4.330125E5) H1030470 EP1C(27) = (1.E6,0.0) H1030480 EP1C(28) = (5.E6,0.0) H1030490 EP1C(29) = (0.5E7,0.866025E7) H1030500 EP1C(30) = (2.5E7,4.330125E7) H1030510 IVI = - 1 H1030520 1031 IVI = IVI + 2 H1030530 AVS = CABS (EP1C(IVI)) H1030540 BVS = CABS (EP1C(IVI + 1)) H1030550 WRITE (NUVI, 1032) AVS, BVS H1030560 1032 FORMAT(1H0, E17.6, 2X, E17.6) H1030570 IF (IVI - 29) 1031, 1033, 1033 H1030580 1033 WRITE (NUVI, 1034) H1030590 1034 FORMAT(//39H VALUES IN EACH SET SHOULD BE POSITIVE /39H .1 FOR SH1030600 1ET 1 (.5 FOR SET 2), EXPONENT /35H RANGE FROM -06 TO +08 IN SEQUEH1030610 2NCE ) H1030620 C***** END OF TEST SEGMENT 103 H1030630 C***** WHEN EXECUTING ONLY SEGMENT 103 THE STOP AND END CARDS H1030640 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H1030650 C***** IN COLUMNS 1 AND 2 REMOVED. H1030660 C= STOP H1030670 C= END H1030680 C***********************************************************************H1100010 C***** H1100020 C***** BSFTS - (110) H1100030 C***** H1100040 C***********************************************************************H1100050 C***** GENERAL PURPOSE ASA REF H1100060 C***** TEST OF ALL STATEMENT FUNCTIONS THAT HAVE BEEN DEFINED H1100070 C***** IN TEST SEGMENT 005 8.1.2H1100080 C***** GENERAL COMMENTS H1100090 C***** INTRINSIC AND EXTERNAL FUNCTIONS ASSUMED WORKING H1100100 C***** INTRINSIC AND BASIC EXTERNAL FUNCTIONS DECLARED IN A 10.1.7 H1100110 C***** TYPE STATEMENT OF SAME TYPE AS TABLES 3 AND 4 5.3 H1100120 C***** H1100130 C***** S P E C I F I C A T I O N S SEGMENT 110 H1100140 C***** H0013510 C***** WHEN EXECUTING ONLY SEGMENT 110, THE SPECIFICATION STATEMENTS H0013515 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0013520 C***** IN COLUMNS 1 AND 2 REMOVED. H0013525 C***** H0013530 C= INTEGER IFIX H0013535 C= REAL ABS, SQRT H0013540 C***** H0013545 C***** WHEN EXECUTING ONLY SEGMENT 110, THE SEGMENT 005, WHICH H1100150 C***** CONTAINS THE STATEMENT FUNCTIONS BEING TESTED HERE MUST BE H1100160 C***** INSERTED AFTER THE SPECIFICATION STATEMENTS OF SEGMENT 110. H1100170 C***** H1100180 C***** O U T P U T T A P E ASSIGNMENT STATEMENT. NO INPUT TAPE. H1100190 C***** H0073550 C***** WHEN EXECUTING ONLY SEGMENT 110, THE FOLLOWING STATEMENT H0073555 C***** NUVI = 6 MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED. H0073560 C= NUVI = 6 H0073565 C***** H0073570 WRITE (NUVI,1100) H1100200 1100 FORMAT(39H1 BSFTS - (110) STATEMENT FUNCTION TEST/23X,16HINTEGER AH1100210 1ND REAL//18H ASA REF. - 8.1.2// 9H RESULTS) H1100220 C***** HEADER FOR SEGMENT 110 WRITTEN H1100230 CMAVS = 9.0 - CMAFS(2.0, 3.0 + 2.0) H1100240 CMBVS = CMBFS(2/2, 1+1, 1*3) -2.0 H1100250 MCAVI = MCAFI(IFIX(5.0),5) - (5 ** 5) H1100260 MCBVI = MCBFI(1.0,2.0,3.0) - MCAFI(6,2) + 24 H1100270 WRITE (NUVI,1108) CMAVS, CMBVS, MCAVI, MCBVI H1100280 CMAVS = CMCFS(4.0,2.0,2.0) H1100290 CMBVS = CMDFS(-1,-4) - 5.0 H1100300 MCAVI = MCCFI(9*2/18, (4**2)/8, 3.0) - 14 H1100310 MCBVI = MCDFI(1.,2.1,3.,4.,5.) -15 H1100320 WRITE (NUVI,1108) CMAVS, CMBVS, MCAVI, MCBVI H1100330 CMAVS = CMEFS(2.0,1.0 * 2.0) - 4.0 H1100340 MCAVI = 3 H1100350 CMBVS = CMFFS(1,2, MCAVI) - 23. H1100360 MCAVI = MCEFI(2,2) - (4 ** 4) H1100370 MCBVI = MCFFI(9.0,4.0,CMBVS * CMBVS * 0.0) - 6 H1100380 WRITE (NUVI,1108) CMAVS, CMBVS, MCAVI, MCBVI H1100390 CMAVS = CMGFS(3,13,2.0,5.0) - 4.0 H1100400 CMBVS = CMGFS(IFIX(SQRT(CMAFS(2.,5.))),IFIX(CMFFS(1,2,3) -10.), H1100410 1 CMBFS(1,2,3), CMDFS(-1,-4)) - 4.0 H1100420 MCAVI = MCGFI(2,2,2,0.0) - 1 H1100430 MCBVI = MCGFI(MCAFI(2,1), MCBFI(1.0,0.,.0), IFIX(SQRT(CMGFS(3,13, H1100440 12.0,5.0))),EXP(0.0) - 1.0)-1 H1100450 WRITE (NUVI,1108) CMAVS, CMBVS, MCAVI, MCBVI H1100460 WRITE (NUVI,1109) H1100470 1108 FORMAT ( /2(F20.10 /),2(I19/ )) H1100480 1109 FORMAT ( /36H ALL ABOVE ANSWERS SHOULD BE 0 FOR / H1100490 137H THIS TEST SEGMENT TO BE SUCCESSFUL.) H1100500 C***** END OF TEST SEGMENT 110 H1100510 C***** WHEN EXECUTING ONLY SEGMENT 110, THE STOP AND END CARDS H1100520 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H1100530 C***** IN COLUMNS 1 AND 2 REMOVED. H1100540 C= STOP H1100550 C= END H1100560 C***********************************************************************H1110010 C***** H1110020 C***** FSFTS - (111) H1110030 C***** H1110040 C***********************************************************************H1110050 C***** GENERAL PURPOSE ASA REF H1110060 C***** TEST STATEMENT FUNCTIONS THAT HAVE BEEN DEFINED IN 8.1.2H1110070 C***** SEGMENT 006 (FOR FULL FORTRAN TEST ONLY) H1110080 C***** GENERAL COMMENTS H1110090 C***** INTRINSIC AND EXTERNAL FUNCTIONS ASSUMED WORKING H1110100 C***** INTRINSIC AND BASIC EXTERNAL FUNCTIONS DECLARED IN A 10.1.7 H1110110 C***** TYPE STATEMENT OF SAME TYPE AS TABLES 3 AND 4 5.3 H1110120 C***** H1110130 C***** S P E C I F I C A T I O N S SEGMENT 111 H1110140 C***** H0013550 C***** WHEN EXECUTING ONLY SEGMENT 111, THE SPECIFICATION STATEMENTS H0013555 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0013560 C***** IN COLUMNS 1 AND 2 REMOVED. H0013565 C***** H0013570 C= DOUBLE PRECISION DPAFD,DPBFD,DPCFD,DPDFD,DPFFD,DPGFD,DPEFD,DPHFD H0013575 C= DOUBLE PRECISION DPAVD, DPBVD, DPCVD, DPDVD,DAWVD,DBWVD, DCWVD H0013580 C= DOUBLE PRECISION DPA1D(5),FC2D(5,5) H0013585 C= DOUBLE PRECISION DBLE, DEXP H0013590 C= COMPLEX CMPLX, CEXP H0013595 C= COMPLEX CHAVC,CHBVC,CHCVC,CHDVC,CHEVC,CHFVC H0013600 C= COMPLEX CHAFC, CHBFC, CHCFC, CHDFC, CAWVC, CBWVC H0013605 C= LOGICAL A3B(2,2,2) H0013610 C= LOGICAL MCFVB, MCHVB, ABFB, BCFB, IEFB, KLFB H0013615 C= - ,MCEVB,MCIVB,MCKVB,ATVB,AWVB, BWVB, CWVB, DWVB, EWVB, SWVB,TWVB H0013620 C***** H0013625 C***** WHEN EXECUTING ONLY SEGMENT 111, THE SEGMENT 006, WHICH H1110150 C***** CONTAINS THE STATEMENT FUNCTIONS BEING TESTED HERE MUST BE H1110160 C***** INSERTED AFTER THE SPECIFICATION STATEMENTS OF SEGMENT 111. H1110170 C***** H1110180 C***** O U T P U T T A P E ASSIGNMENT STATEMENT. NO INPUT TAPE. H1110190 C***** H0073575 C***** WHEN EXECUTING ONLY SEGMENT 111, THE FOLLOWING STATEMENT H0073580 C***** NUVI = 6 MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED. H0073585 C= NUVI = 6 H0073590 C***** H0073595 WRITE (NUVI,1110) H1110200 1110 FORMAT(39H1 FSFTS - (111) STATEMENT FUNCTION TEST// H1110210 1 39H DOUBLE PRECISION, COMPLEX AND LOGICAL// H1110220 218H ASA REF. - 8.1.2//10H RESULTS ) H1110230 C***** HEADER FOR SEGMENT 111 WRITTEN H1110240 C***** CONSTANTS USED IN THIS SEGMENT H1110250 CHAVC = (1.0,2.0) H1110260 CHBVC = (-2.0,3.0) H1110270 DPA1D(2) = 3.5D0 H1110280 ATVB = .FALSE. H1110290 PPDVS = 18. H1110300 RRDVS = 21.0 H1110310 ATVS = 18.0 H1110320 MCFVB = .TRUE. H1110330 FC2D(2,2) = 1.75D0 H1110340 C***** TEST OF D.P. STATEMENT FUNCTIONS H1110350 DPAVD = DPAFD(3.5D0,DPA1D(2)) - 49.0D0 H1110360 DPBVD = DPBFD(1.D0,DPA1D(2)- 2.5D0,DBLE(1.0)) - 1.0D0 H1110370 DPCVD = DPCFD(0.D0,1.0D0,DPA1D(2)+ 0.5D0) - 7.5D0 H1110380 DPDVD = DPDFD(DBLE(AIMAG(CHAVC)),FC2D(2,2)) + 2.0D0 H1110390 WRITE (NUVI,1118) DPAVD, DPBVD, DPCVD, DPDVD H1110400 DPAVD = DPEFD(1.0D0, FC2D(2,2) *2.D0,(1.0,-4.),AMAX1(2.0,4.0)) H1110410 1 - 4.5D0 H1110420 DPBVD = DPFFD(DPA1D(2), FC2D(2,2)-1.75D0,5.00) - 22.25D0 H1110430 DPCVD = DPGFD(2.D0/.2D1,DPA1D(2) - 2.5D0,1.0,CHAVC) - 4.0D0 H1110440 DPDVD= DPHFD(3.5D0, FC2D(2,2) - 2.75D0,5.0) - 34.5D0 H1110450 WRITE (NUVI,1118) DPAVD, DPBVD, DPCVD, DPDVD H1110460 C***** TEST OF COMPLEX STATEMENT FUNCTIONS H1110470 CHCVC = CHAFC((2.0,2.),CHAVC) - (3.0,12.0) H1110480 CHDVC = CHBFC((4.0,-8.5),CHBVC,1.0) - (7.0,-10.5) H1110490 CHEVC = CHCFC((1.0,1.0) **2,CHAVC, 0.000, AIMAG(CHAVC) -2.0) H1110500 CHFVC = CHDFC((0.0,0.0) ,CHAVC, 0.000 , SNGL (DMIN1(0.D0,4.D0))H1110510 1)-(1.0,0.0) H1110520 WRITE (NUVI,1117) CHCVC, CHDVC, CHEVC, CHFVC H1110530 WRITE (NUVI, 1119) H1110540 C***** TEST OF LOGICAL STATEMENT FUNCTION H1110550 MCEVB = PPDVS .GT. 60.0 H1110560 A3B(1,1,1) = ATVS .LE. 20.9 .AND. ABFB(.TRUE.,.TRUE.,.FALSE.) H1110570 MCHVB = BCFB(.TRUE.,.FALSE.,PPDVS,21.0) .AND..NOT.PPDVS.GE.RRDVS H1110580 MCIVB = .NOT. (IEFB(.FALSE.,ATVB,.TRUE.,650.,-5.11).AND.ATVB) H1110590 MCKVB = MCFVB.AND.KLFB(.TRUE.,.TRUE.,.TRUE.,100.).AND..NOT.MCEVB H1110600 WRITE (NUVI,1116) A3B(1,1,1), MCHVB, MCIVB, MCKVB H1110610 1116 FORMAT(//4(L4)//38H THE FOUR ABOVE ANSWERS SHOULD BE TRUE/ H1110620 1 35H FOR THIS SEGMENT TO BE SUCCESSFUL) H1110630 1117 FORMAT(/ 4(F16.7,F14.7/)) H1110640 1118 FORMAT (/ 4(D30.18/)) H1110650 1119 FORMAT (/ 40H ALL ABOVE ANSWERS SHOULD BE 0 FOR THIS/ H1110660 140H TEST SEGMENT TO BE SUCCESSFUL. VALUES /40H WITH EXPONENTS LEH1110670 2SS THAN 10**(-14) /22H ARE CONSIDERED ZERO ) H1110680 C***** END OF TEST SEGMENT 111 H1110690 C***** WHEN EXECUTING ONLY SEGMENT 111, THE STOP AND END CARDS H1110700 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H1110710 C***** IN COLUMNS 1 AND 2 REMOVED. H1110720 C= STOP H1110730 C= END H1110740 STOP H9999995 END H9999999