C***** PART6 *****************************************************H0002300 C***** H0002305 C***** ANSI FORTRAN (X3.9-1966) TEST PROGRAMS H0002310 C***** H0002315 C***** PREPARED BY THE NATIONAL BUREAU OF STANDARDS VERSION 3 H0002320 C***** H0002325 C***** JUNE 1973 H0002330 C***** H0002335 C***** PART 6 OF 14 PARTS H0002340 C***** H0002345 C***** SEGMENTS INCLUDED H0002350 C***** H0002355 C***** IFDIM - 065 DIM, IDIM (POSITIVE DIFFERENCE) H0002360 C***** H0002365 C***** IFSGL - 066 SNGL (OBTAIN MOST SIGNIFICANT PART) H0002370 C***** H0002375 C***** IFREL - 067 REAL (OBTAIN REAL PART OF COMPLEX ARGUMENT) H0002380 C***** H0002385 C***** IFIMG - 068 AIMAG (OBTAIN IMAGINARY PART OF COMPLEX NO.) H0002390 C***** H0002395 C***** IFDBL - 069 DBLE (EXPRESS REAL ARGUMENT IN D.P. FORM) H0002400 C***** H0002405 C***** IFCPX - 070 CMPLX (EXPRESS TWO REAL ARG. IN COMPLEX FORM) H0002410 C***** H0002415 C***** IFCJG - 071 CONJG (OBTAIN CONJUGATE OF A COMPLEX NUMBER) H0002420 C***** H0002425 C***** IFBMS - 072 ALL INTRINSIC FUNCTIONS H0002430 C***** H0002435 C***** IFFMS - 073 ALL INTRINSIC FUNCTIONS H0002440 C***** H0012300 C***** THE FOLLOWING SPECIFICATIONS ARE TO BE USED ONLY WHEN H0012305 C***** SEGMENTS 065, 066, 067, 068, 069, 070, 071, 072, 073 H0012310 C***** ARE RUN AS ONE MAIN PROGRAM. H0012315 C***** H0012320 INTEGER MCA3I(2,3,3) H0012325 DIMENSION MCA1I(5), AC2S(5,6) H0012330 DOUBLE PRECISION MCAVD, MCBVD, MCCVD, MCDVD, MCEVD, MCFVD, MCGVD, H0012335 1 CMAVD, CMBVD, CMCVD , DPA1D(5), FC2D(5,5) H0012340 DOUBLE PRECISION DPAVD, DPBVD, DPCVD, DPDVD, DPEVD, DPFVD, DPGVD H0012345 COMPLEX CHAVC, CHBVC, CHCVC, CHDVC, CHEVC, CHFVC, H0012350 1 CHGVC, CHHVC, CHIVC, CHJVC, CHKVC, CHLVC H0012355 C***** H0012360 C***** END OF SPECIFICATIONS FOR SEGMENTS H0012365 C***** 065, 066, 067, 068, 069, 070, 071, 072, 073 H0012370 C***********************************************************************H0650010 C***** H0650020 C***** IFDIM - (065) H0650030 C***** H0650040 C***********************************************************************H0650050 C***** GENERAL PURPOSE ASA -EF H0650060 C***** TEST INTRINSIC FUNCTION DIM AND IDIM--POSITIVE 8.2 H0650070 C***** DIFFERENCE, WHICH IS DEFINED AS A1 - MIN(A1,A2) (TABLE 3)H0650080 C***** H0650090 C***** S P E C I F I C A T I O N S SEGMENT 065 H0650100 C***** H0012375 C***** WHEN EXECUTING ONLY SEGMENT 065, REMOVE THE PRECEDING H0012380 C***** SPECIFICATIONS. THIS SEGMENT HAS NO SPECIFICATION STATEMENTS. H0012385 C***** H0012390 C***** I N P U T - O U T P U T T A P E ASSIGNMENT STATEMENTS. H0650110 IRVI = 5 H0072300 NUVI = 6 H0072305 C***** IDENTIFY THE SOURCE OF THE TEST PROGRAMS H0072310 WRITE(NUVI,0071) H0072315 0071 FORMAT (41H1 F O R T R A N T E S T P R O G R A M S// H0072320 1 42H PREPARED BY NATIONAL BUREAU OF STANDARDS// H0072325 3 37H FOR USE ON LARGE FORTRAN PROCESSORS // H0072330 4 42H IN ACCORDANCE WITH ASA FORTRAN X3.9-1966// H0072335 5 23H VERSION 3 PART 6 ///) H0072340 C***** 3 OF 6 INPUT CARDS IDENTIFY THE USERS SYSTEM AND COMPILER H0072345 C PREPARED BY USER H0072350 C READ, NO LIST H0072355 C PREPARED BY USER H0072360 C READ, NO LIST H0072365 C PREPARED BY USER H0072370 C READ, NO LIST H0072375 C READ(IRVI,0070) H0072380 C READ(IRVI,0072) H0072385 C READ(IRVI,0073) H0072390 0070 FORMAT(40H BASED ON ASA FORTRAN X3.9-1966 /) H0072395 0072 FORMAT(40H TEST PROGRAMS /) H0072400 0073 FORMAT(40H FORTRAN COMPILER /) H0072405 WRITE(NUVI,0070) H0072410 WRITE(NUVI,0072) H0072415 WRITE(NUVI,0073) H0072420 WRITE (NUVI,0650) H0650120 0650 FORMAT (1H1,1X,39HIFDIM - (065) INTRINSIC FUNCTIONS - DIM/12X, H0650130 130HAND IDIM (POSITIVE DIFFERENCE)/ 2X,14HASA REF. - 8.2/ H0650140 2/2X,7HRESULTS) H0650150 C***** HEADER FOR SEGMENT 065 WRITTEN H0650160 C***** TEST OF DIM - REAL ARGUMENTS, REAL FUNCTION 8.2/34H0650170 CMAVS = -4.0 H0650180 CMBVS = 4.0 H0650190 CMCVS = 16.25 H0650200 CMDVS = -64.25 H0650210 CMEVS = DIM(CMAVS,CMBVS) H0650220 CMFVS = CMEVS + 0.0 H0650230 WRITE (NUVI,0651) CMFVS H0650240 CMEVS = DIM(CMCVS,CMDVS) H0650250 CMFVS = CMEVS - 80.5 H0650260 WRITE (NUVI,0651) CMFVS H0650270 CMEVS = DIM(CMCVS,CMBVS) H0650280 CMFVS = CMEVS - 12.25 H0650290 WRITE (NUVI,0651) CMFVS H0650300 CMEVS = DIM(CMDVS,CMAVS) H0650310 CMFVS = CMEVS - 0.0 H0650320 WRITE (NUVI,0651) CMFVS H0650330 C***** TEST OF IDIM - INTEGER ARGUMENTS, INTEGER FUNCTION 8.2/35H0650340 MCAVI = 02468 H0650350 MCBVI = +36 H0650360 MCCVI = -3 H0650370 MCDVI = -23 H0650380 MCEVI = IDIM(MCAVI,MCBVI) H0650390 MCFVI = MCEVI - 2432 H0650400 WRITE (NUVI,0652) MCFVI H0650410 MCEVI = IDIM(MCBVI,MCCVI) H0650420 MCFVI = MCEVI - 39 H0650430 WRITE (NUVI,0652) MCFVI H0650440 MCEVI = IDIM(MCDVI,MCCVI) H0650450 MCFVI = MCEVI + 0 H0650460 WRITE (NUVI,0652) MCFVI H0650470 MCEVI = IDIM(MCCVI,MCCVI) H0650480 WRITE (NUVI,0652) MCEVI H0650490 MCEVI = IDIM(MCCVI,MCBVI) H0650500 WRITE (NUVI,0652) MCEVI H0650510 WRITE (NUVI,0653) H0650520 0651 FORMAT (1H0,F17.2) H0650530 0652 FORMAT (1H0,10X,I5) H0650540 0653 FORMAT (1H0,1X,34H ALL ABOVE ANSWERS SHOULD BE 0 FOR/2X, H0650550 135HTHIS TEST SEGMENT TO BE SUCCESSFUL.) H0650560 C***** END OF TEST SEGMENT 065 H0650570 C***** WHEN EXECUTING ONLY SEGMENT 065 THE STOP AND END CARDS H0650580 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0650590 C***** IN COLUMNS 1 AND 2 REMOVED. H0650600 C= STOP H0650610 C= END H0650620 C***********************************************************************H0660010 C***** H0660020 C***** IFSGL - (066) H0660030 C***** H0660040 C***********************************************************************H0660050 C***** GENERAL PURPOSE ASA REF H0660060 C***** TEST INTRINSIC FUNCTION SNGL - OBTAIN MOST SIGNIFICANT 8.2/36H0660070 C***** PART OF DOUBLE PRECISION ARGUMENT. (TABLE 3)H0660080 C***** GENERAL COMMENTS H0660090 C***** ASSIGNED GO TO STATEMENT ASSUMED WORKING. H0660100 C***** H0660110 C***** S P E C I F I C A T I O N S SEGMENT 066 H0660120 C***** H0012395 C***** WHEN EXECUTING ONLY SEGMENT 066, THE SPECIFICATION STATEMENTS H0012400 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0012405 C***** IN COLUMNS 1 AND 2 REMOVED. H0012410 C***** H0012415 C= DOUBLE PRECISION MCAVD,MCBVD,MCCVD,MCDVD,MCEVD,MCFVD, H0012420 C= 1 CMAVD, CMBVD,CMCVD H0012425 C***** H0012430 C***** O U T P U T T A P E ASSIGNMENT STATEMENT. NO INPUT TAPE. H0660130 C***** H0072425 C***** WHEN EXECUTING ONLY SEGMENT 066, THE FOLLOWING STATEMENT H0072430 C***** NUVI = 6 MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED. H0072435 C= NUVI = 6 H0072440 C***** H0072445 WRITE (NUVI, 0660) H0660140 0660 FORMAT (1H1,1X,39HIFSGL - (066) INTRINSIC FUNCTION SNGL--/16X, H0660150 126HOBTAIN MOST SIGNIFICANT PT/16X, H0660160 218H OF D.P. ARGUMENT. //2X,15HASA REFS. - 8.2//2X,7HRESULTS) H0660170 C***** HEADER FOR SEGMENT 066 WRITTEN H0660180 MCAVD = .48748748748748D3+.57D-5+.5604645D-6+.31786509547D-7 H0660190 MCBVD =-39.689539609539D1-.57D-5-.5604645D-6-.31786509547D-7 H0660200 MCCVD = .33333333333333D0+.57D-5+.5604645D-6+.31786509547D-7 H0660210 MCDVD =-.66666666666666D0-.57D-5+.5604645D-6-.31786509547D-7 H0660220 MCEVD = .48748748748748D3+.57D-5+.5604645D-6+.31786509547D-7 H0660230 MCFVD = -39.689539609539D+1 H0660240 AVS = 0.0 H0660250 BVS = 0.0 H0660260 CVS = 0.0 H0660270 IVI = 2 H0660280 C***** EXPRESSION RESULTS ASSIGNED TO D.P. RESULT FOR VISUAL COMPARISONH0660290 C***** ARGUMENTS OF SNGL - VARIABLE, SIMPLE EXPRESSION H0660300 CMAVD = AVS + SNGL(MCAVD) - BVS H0660310 WRITE (NUVI,661) MCAVD,CMAVD H0660320 CMAVD = CVS + SNGL(MCBVD) + AVS H0660330 WRITE (NUVI,661) MCBVD, CMAVD H0660340 CMAVD = SNGL(MCCVD) H0660350 WRITE (NUVI,661) MCCVD,CMAVD H0660360 CMBVD = -MCBVD H0660370 CMAVD = -SNGL(MCBVD - CMBVD) H0660380 CMCVD = - (MCBVD + MCBVD) H0660390 WRITE (NUVI,661) CMCVD,CMAVD H0660400 CMCVD = MCDVD * MCDVD H0660410 CMAVD = BVS + SNGL(MCDVD**IVI) + CVS H0660420 WRITE (NUVI,661) CMCVD, CMAVD H0660430 C***** ARGUMENT OF SNGL - INTRINSIC FUNCTION WITH DIFFERENT NO. OF ARG H0660440 CMAVD = -(CVS + SNGL(DABS(MCDVD)) + BVS) H0660450 WRITE (NUVI,661) MCDVD, CMAVD H0660460 CMAVD = AVS - BVS + SNGL(DMIN1(MCEVD,MCFVD)) H0660470 WRITE (NUVI,661) MCFVD, CMAVD H0660480 CMAVD = CVS + BVS + SNGL(DMAX1(MCCVD,MCEVD,MCFVD)) H0660490 WRITE (NUVI,661) MCEVD, CMAVD H0660500 WRITE (NUVI, 662) H0660510 661 FORMAT(1H0,1X,6HLINE A,D25.14/2X,6HLINE B,D25.14) H0660520 662 FORMAT(33H0 LINE B SHOULD AGREE WITH LINE A /40H ONLY TO THE PRECH0660530 AISION OF A REAL DATUM. /37H REMAINING DIGITS RESULT FROM OUTPUT /H0660540 B 33H CONVERSION WHEN A REAL VALUE IS / 32H ASSIGNED TO D.P. FOR H0660550 CPRINTING. ) H0660560 C***** END OF SEGMENT 066 H0660570 C***** WHEN EXECUTING ONLY SEGMENT 066, THE STOP AND END CARDS H0660580 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= IN COLUMNS H0660590 C***** 1 AND 2 REMOVED. H0660600 C= STOP H0660610 C= END H0660620 C***********************************************************************H0670010 C***** H0670020 C***** IFREL - (067) H0670030 C***** H0670040 C***********************************************************************H0670050 C***** GENERAL PURPOSE ASA REF H0670060 C***** TEST INTRINSIC FUNCTION REAL (OBTAIN REAL PART OF 8.2/39H0670070 C***** COMPLEX ARGUMENT ). (TABLE 3)H0670080 C***** H0670090 C***** S P E C I F I C A T I O N S SEGMENT 067 H0670100 C***** H0012435 C***** WHEN EXECUTING ONLY SEGMENT 067, THE SPEC+F+CAT+ON STATEMENTS H0012440 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0012445 C***** IN COLUMNS 1 AND 2 REMOVED. H0012450 C***** H0012455 C= COMPLEX CHAVC,CHBVC,CHCVC,CHDVC,CHEVC,CHFVC H0012460 C***** H0012465 C***** O U T P U T T A P E ASSIGNMENT STATEMENT. NO INPUT TAPE. H0670110 C***** H0072450 C***** WHEN EXECUTING ONLY SEGMENT 067, THE FOLLOWING STATEMENT H0072455 C***** NUVI = 6 MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED. H0072460 C= NUVI = 6 H0072465 C***** H0072470 WRITE (NUVI,0670) H0670120 0670 FORMAT (1H1,1X,34HIFREL - (067) INTRINSIC FUNCTION--/ 16X, 4HREAL/H0670130 1 2X,14HASA REF. - 8.2// H0670140 2 2X,7HRESULTS) H0670150 C***** HEADER FOR SEGMENT 067 WRITTEN H0670160 CHAVC = (3.2,1.86) H0670170 CHBVC = (2.1,0.0) H0670180 CHCVC = (3.7,-1.2) H0670190 CHDVC = (+45.1,+2.2) H0670200 CHEVC = (-16.0, 0.0) H0670210 CHFVC = (-32.0, -1.1) H0670220 CMAVS = REAL(CHAVC) H0670230 CMBVS = CMAVS - 3.2 H0670240 CMAVS = REAL(CHBVC) H0670250 CMCVS = CMAVS - 2.1 H0670260 CMAVS = REAL(CHCVC) H0670270 CMDVS = CMAVS - 3.7 H0670280 CMAVS = REAL(CHDVC) H0670290 CMEVS = CMAVS - 45.1 H0670300 CMAVS = ABS(REAL(CHEVC) + REAL(CHFVC)) H0670310 CMFVS = CMAVS - 48.0 H0670320 CMAVS = AMAX1(REAL(CHAVC),REAL(CHBVC), REAL(CHEVC-CHFVC)) H0670330 CMGVS = CMAVS - 16.0 H0670340 WRITE (NUVI,0671) CMBVS,CMCVS,CMDVS,CMEVS,CMFVS,CMGVS H0670350 C***** REAL CONSTANTS HAVING ONLY FRACTIONAL PARTS(NO EXPONENT) H0670360 CHAVC = (.789,.12) H0670370 CHBVC = (.13,1.2) H0670380 CHCVC = (.507,-2.2) H0670390 CHDVC = (+.5401,+.5) H0670400 CHEVC = (-.5,0.25) H0670410 CHFVC = (-.0625, 1.1) H0670420 CMAVS = REAL(CHAVC) H0670430 CMBVS = CMAVS - .789 H0670440 CMAVS = REAL(CHBVC) H0670450 CMCVS = CMAVS -0.13 H0670460 CMAVS = REAL(CHCVC) H0670470 CMDVS = CMAVS -0.507 H0670480 CMAVS = REAL(CHDVC) H0670490 CMEVS = CMAVS -0.5401 H0670500 CMAVS = REAL(CHEVC+CHFVC) H0670510 CMFVS = CMAVS + 0.5625 H0670520 CMAVS = REAL(CHEVC) - REAL(CHFVC) H0670530 CMGVS = CMAVS + 0.4375 H0670540 WRITE (NUVI,0671) CMBVS,CMCVS,CMDVS,CMEVS,CMFVS,CMGVS H0670550 C***** REAL CONSTANTS HAVING ONLY INTEGRAL PARTS(NO EXPONENT) H0670560 C***** 5.1.1.2/22H0670570 CHAVC = (23.,0.1) H0670580 CHBVC = (12.,+1.2) H0670590 CHCVC = (1.,-2.3) H0670600 CHDVC = (+45.,+.6) H0670610 CHEVC = (19.0, 1.0) H0670620 CHFVC = (-32.0, 2.0) H0670630 CMAVS = REAL(CHAVC) H0670640 CMBVS = CMAVS - 23.0 H0670650 CMAVS = REAL(CHBVC) H0670660 CMCVS = CMAVS - 12.0 H0670670 CMAVS = REAL(CHCVC) H0670680 CMDVS = CMAVS - 1.0 H0670690 CMAVS = REAL(CHDVC) H0670700 CMEVS = CMAVS - 45.0 H0670710 CMAVS = SIGN(DIM(REAL(CHEVC),REAL(CHFVC)),REAL(CHFVC)) H0670720 CMFVS = CMAVS + 51.0 H0670730 CMAVS = REAL((16.0,1.0) + CHEVC + CHFVC) H0670740 CMGVS = CMAVS - 3.0 H0670750 WRITE (NUVI,0671) CMBVS,CMCVS,CMDVS,CMEVS,CMFVS,CMGVS H0670760 WRITE (NUVI,0672) H0670770 0671 FORMAT (/6(F20.4/)) H0670780 0672 FORMAT ( /40H ALL ABOVE ANSWERS SHOULD BE 0 FOR THIS / H0670790 132H TEST SEGMENT TO BE SUCCESSFUL.) H0670800 C***** END OF TEST SEGMENT 067 H0670810 C***** WHEN EXECUTING ONLY SEGMENT 067, THE STOP AND END CARDS H0670820 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0670830 C***** IN COLUMNS 1 AND 2 REMOVED. H0670840 C= STOP H0670850 C= END H0670860 C***********************************************************************H0680010 C***** H0680020 C***** IFIMG - (068) H0680030 C***** H0680040 C***********************************************************************H0680050 C***** GENERAL PURPOSE ASA REF H0680060 C***** TEST INTRINSIC FUNCTION AIMAG (OBTAIN IMAGINARY PART 8.2/41H0680070 C***** OF COMPLEX ARGUMENT ) (TABLE 3)H0680080 C***** H0680090 C***** S P E C I F I C A T I O N S SEGMENT 068 H0680100 C***** H0012470 C***** WHEN EXECUTING ONLY SEGMENT 068, THE SPECIFICATION STATEMENTS H0012475 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0012480 C***** IN COLUMNS 1 AND 2 REMOVED. H0012485 C***** H0012490 C= COMPLEX CHAVC,CHBVC,CHCVC,CHDVC,CHEVC,CHFVC,CHGVC,CHHVC,CHIVC, H0012495 C= 1CHJVC,CHKVC,CHLVC H0012500 C***** H0012505 C***** O U T P U T T A P E ASSIGNMENT STATEMENT. NO INPUT TAPE. H0680110 C***** H0072475 C***** WHEN EXECUTING ONLY SEGMENT 068, THE FOLLOWING STATEMENT H0072480 C***** NUVI = 6 MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED. H0072485 C= NUVI = 6 H0072490 C***** H0072495 WRITE (NUVI,0680) H0680120 0680 FORMAT (1H1,1X,40HIFIMG - (068) INTRINSIC FUNCTION - AIMAG/16X, H0680130 119HOBTAIN IMAGINARY PT/16X,19HOF COMPLEX ARGUMENT/ 2X, H0680140 213HASA REF.- 8.2//2X,7HRESULTS) H0680150 C***** HEADER FOR SEGMENT 068 WRITTEN H0680160 C***** IMAGINARY PARTS OF COMPLEX NUMBERS HAVING BOTH INTEGRAL H0680170 C***** AND FRACTIONAL PARTS. (NO EXPONENT) H0680180 CHAVC = (3.2,1.86) H0680190 CHBVC = (2.1,0.0) H0680200 CHCVC = (37.0,-1.2) H0680210 CHDVC = (+45.1,+2.2) H0680220 CMAVS = AIMAG(CHAVC) H0680230 CMBVS = CMAVS - 1.86 H0680240 CMAVS = AIMAG(CHBVC) H0680250 CMCVS = CMAVS - 0.0 H0680260 CMAVS = AIMAG(CHCVC) H0680270 CMDVS = CMAVS + 1.2 H0680280 CMAVS = AIMAG(CHDVC) H0680290 CMEVS = CMAVS -2.2 H0680300 WRITE (NUVI,0681) CMBVS,CMCVS,CMDVS,CMEVS H0680310 C***** IMAGINARY PARTS OF COMPLEX NUMBERS HAVING ONLY FRACTIONAL H0680320 C***** PARTS (NO EXPONENT) H0680330 CHAVC = (.789,.00) H0680340 CHBVC = (1.2,.789) H0680350 CHCVC = (+4.56,-.456) H0680360 CHDVC = (-12.3,+.001) H0680370 CMAVS = AIMAG(CHAVC) H0680380 CMBVS = CMAVS - 0.0 H0680390 CMAVS = AIMAG(CHBVC) H0680400 CMCVS = CMAVS - .789 H0680410 CMAVS = AIMAG(CHCVC) H0680420 CMDVS = CMAVS + .456 H0680430 CMAVS = AIMAG(CHDVC) H0680440 CMEVS = CMAVS - 0.001 H0680450 WRITE (NUVI,0681) CMBVS,CMCVS,CMDVS,CMEVS H0680460 C***** IMAGINARY PARTS OF COMPLEX NUMBERS HAVING ONLY INTEGRAL H0680470 C***** PARTS (NO EXPONENT) H0680480 CHAVC =(-12.,12.) H0680490 CHBVC = (+1.23,0.) H0680500 CHCVC = (0.0, -16.0) H0680510 CHDVC = (-1.1, -32.0) H0680520 CMAVS = AIMAG(CHAVC) H0680530 CMBVS = CMAVS - 12.0 H0680540 CMAVS = AIMAG(CHBVC) H0680550 CMCVS = CMAVS + 0.0 H0680560 CMAVS = ABS(AIMAG(CHCVC)+AIMAG(CHDVC)) H0680570 CMDVS = CMAVS - 48.0 H0680580 CMAVS = AMAX1(AIMAG(CHAVC), AIMAG(CHBVC), AIMAG(CHCVC-CHDVC)) H0680590 CMEVS = CMAVS - 16.0 H0680600 WRITE (NUVI,0681) CMBVS,CMCVS,CMDVS,CMEVS H0680610 C***** IMAGINARY PARTS OF COMPLEX NUMBERS HAVING A DECIMAL EXPONENT. H0680620 CHAVC = (2.3E0,1.2E0) H0680630 CHBVC = (1.2,.56E2) H0680640 CHCVC = (.24,1.E1) H0680650 CHDVC = (1.,+7.8E+1) H0680660 CHEVC = (1.5, 16.0) H0680670 CHFVC = (1.0, -32.0) H0680680 CHGVC = (1.E0,-7.99E-1) H0680690 CHHVC = (27.00,.55E-1) H0680700 CHIVC = (1.E0,2.E-0) H0680710 CHJVC = (1.2,1.E+1) H0680720 CHKVC = (1.E-1,+7.E0) H0680730 CHLVC = (1.7,-99.E-1) H0680740 CMAVS = AIMAG(CHAVC) H0680750 CMBVS = CMAVS - 1.2E0 H0680760 CMAVS = AIMAG(CHBVC) H0680770 CMCVS = CMAVS - .56E2 H0680780 CMAVS = AIMAG(CHCVC) H0680790 CMDVS = CMAVS - 1.E1 H0680800 CMAVS = AIMAG(CHDVC) H0680810 CMEVS = CMAVS - 7.8E+1 H0680820 WRITE (NUVI,0681) CMBVS,CMCVS,CMDVS,CMEVS H0680830 CMAVS = SIGN(DIM(AIMAG(CHEVC),AIMAG(CHFVC)), AIMAG(CHFVC)) H0680840 CMBVS = CMAVS + 48.0 H0680850 CMAVS = AIMAG((1.0, 16.0) + CHEVC + CHFVC) H0680860 CMCVS = CMAVS + 0.0 H0680870 CMAVS = AIMAG(CHGVC) H0680880 CMDVS = CMAVS + 7.99E-1 H0680890 CMAVS = AIMAG(CHHVC) H0680900 CMEVS = CMAVS - .55E-1 H0680910 WRITE (NUVI,0681) CMBVS,CMCVS,CMDVS,CMEVS H0680920 CMAVS = AIMAG(CHIVC) H0680930 CMBVS = CMAVS - 2.E-0 H0680940 CMAVS = AIMAG(CHJVC) H0680950 CMCVS = CMAVS - 1.E+1 H0680960 CMAVS = AIMAG(CHKVC) H0680970 CMDVS = CMAVS - 7.E0 H0680980 CMAVS = AIMAG(CHLVC) H0680990 CMEVS = CMAVS + 99.E-1 H0681000 WRITE (NUVI,0681) CMBVS,CMCVS,CMDVS,CMEVS H0681010 WRITE (NUVI,0682) H0681020 0681 FORMAT ( / 4(F20.5 / )) H0681030 0682 FORMAT ( /40H ALL ABOVE ANSWERS SHOULD BE 0 FOR THIS / H0681040 132H TEST SEGMENT TO BE SUCCESSFUL.) H0681050 C***** END OF TEST SEGMENT 068 H0681060 C***** WHEN EXECUTING ONLY SEGMENT 068, THE STOP AND END CARDS H0681070 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0681080 C***** IN COLUMNS 1 AND 2 REMOVED. H0681090 C= STOP H0681100 C= END H0681110 C***********************************************************************H0690010 C***** H0690020 C***** IFDBL - (069) H0690030 C***** H0690040 C***********************************************************************H0690050 C***** GENERAL PURPOSE ASA REF H0690060 C***** TEST INTRINSIC FUNCTION DBLE (EXPRESS S.P. ARGUMENT 8.2/43H0690070 C***** IN DOUBLE PRECISION FORM ) (TABLE 3)H0690080 C***** INTRINSIC FUNCTIONS DABS,DSIGN,DMIN1,DMAX1,AMAX1 H0690090 C***** ASSUMED WORKING. H0690100 C***** H0690110 C***** S P E C I F I C A T I O N S SEGMENT 069 H0690120 C***** H0012510 C***** WHEN EXECUTING ONLY SEGMENT 069, THE SPECIFICATION STATEMENTS H0012515 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0012520 C***** IN COLUMNS 1 AND 2 REMOVED. H0012525 C***** H0012530 C= DOUBLE PRECISION MCAVD,MCBVD,MCCVD,MCDVD,MCEVD,MCFVD,MCGVD H0012535 C***** H0012540 C***** O U T P U T T A P E ASSIGNMENT STATEMENT. NO INPUT TAPE. H0690130 C***** H0072500 C***** WHEN EXECUTING ONLY SEGMENT 069, THE FOLLOWING STATEMENT H0072505 C***** NUVI = 6 MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED. H0072510 C= NUVI = 6 H0072515 C***** H0072520 WRITE (NUVI,0690) H0690140 0690 FORMAT (1H1,1X,39HIFDBL - (069) INTRINSIC FUNCTION - DBLE/16X, H0690150 126HS.P. ARGUMENT IN D.P. FORM / 2X,13HASA REF.- 8.2//2X,7HRESULTS)H0690160 C***** HEADER FOR SEGMENT 069 WRITTEN H0690170 CMAVS = 0.9765625E-3 H0690180 CMBVS = -.1953125E-2 H0690190 CMCVS = .5859375E-2 H0690200 CMDVS = -.1048576E+7 H0690210 CMEVS = +114688.0 H0690220 MCAVD = 0.0D0 H0690230 MCBVD = MCAVD * DBLE(CMAVS) H0690240 MCCVD = DMIN1(DBLE(CMAVS),DBLE(CMEVS)) H0690250 MCDVD = MCAVD * MCBVD - DABS(DBLE(CMBVS)) H0690260 MCEVD = MCAVD - DSIGN(DBLE(CMCVS),DBLE(CMBVS)) H0690270 MCFVD = - DABS(DBLE(CMDVS)) + MCAVD H0690280 MCGVD = DMAX1(DBLE(AMAX1(CMDVS,CMEVS)),MCBVD) H0690290 WRITE(NUVI,691) CMAVS, MCCVD, CMBVS, MCDVD, H0690300 1 CMCVS, MCEVD, CMDVS, MCFVD, CMEVS, MCGVD H0690310 691 FORMAT(1H0,1X,6HLINE A, E18.7/ 8H LINE B, D25.14) H0690320 WRITE(NUVI, 692) H0690330 692 FORMAT(1H0,38H A COMPARISON OF LINE A AGAINST LINE B /1X, H0690340 1 40H IS NEEDED TO CHECK THE VALIDITY OF TEST) H0690350 C***** END OF TEST SEGMENT 069 H0690360 C***** WHEN EXECUTING ONLY SEGMENT 069, THE STOP AND END CARDS H0690370 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0690380 C***** IN COLUMNS 1 AND 2 REMOVED. H0690390 C= STOP H0690400 C= END H0690410 C***********************************************************************H0700010 C***** H0700020 C***** IFCPX - (070) H0700030 C***** H0700040 C***********************************************************************H0700050 C***** GENERAL PURPOSE ASA REF H0700060 C***** TEST INTRINSIC FUNCTION CMPLX (EXPRESS TWO REAL 8.2/45H0700070 C***** ARGUMENTS IN COMPLEX FORM) (TABLE 3)H0700080 C***** GENERAL COMMENTS H0700090 C***** SUBTRACTION OF COMPLEX NUMBERS ASSUMED WORKING H0700100 C***** H0700110 C***** S P E C I F I C A T I O N S SEGMENT 070 H0700120 C***** H0012545 C***** WHEN EXECUTING ONLY SEGMENT 070, THE SPECIFICATION STATEMENTS H0012550 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0012555 C***** IN COLUMNS 1 AND 2 REMOVED. H0012560 C***** H0012565 C= COMPLEX CHAVC,CHBVC,CHCVC,CHDVC,CHEVC,CHFVC,CHGVC H0012570 C***** H0012575 C***** O U T P U T T A P E ASSIGNMENT STATEMENT. NO INPUT TAPE. H0700130 C***** WHEN EXECUTING ONLY SEGMENT 070, THE FOLLOWING STATEMENT H0072525 C***** NUVI = 6 MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED. H0072530 C= NUVI = 6 H0072535 WRITE (NUVI,0700) H0700140 0700 FORMAT (1H1, 1X,40HIFCPX - (070) INTRINSIC FUNCTION - CMPLX/16X, H0700150 126HEXPRESS TWO REAL ARGUMENTS/16X,15HIN COMPLEX FORM/15H ASA REF.H0700160 2- 8.2//2X,7HRESULTS) H0700170 C***** HEADER FOR SEGMENT 070 WRITTEN H0700180 CMAVS = 23.123 H0700190 CMBVS = -.78 H0700200 CMCVS = +17. H0700210 CMDVS = 157.E-1 H0700220 CMEVS = -.985E1 H0700230 CMFVS = +88.E+0 H0700240 CHAVC = CMPLX(CMAVS,CMBVS) H0700250 CHBVC = CHAVC - (23.123,-.78) H0700260 CHAVC = CMPLX(CMBVS,15.0) H0700270 CHCVC = CHAVC - (-.78,15.0) H0700280 CHAVC = CMPLX(CMDVS,CMFVS) H0700290 CHDVC = CHAVC - (157.E-1,+88.E+0) H0700300 CHAVC = CMPLX(0.0,0.E0) H0700310 CHEVC = CHAVC H0700320 CHAVC = CMPLX(CMEVS,CMFVS) H0700330 CHFVC = CHAVC - (-.985E1,+88.E+0) H0700340 CHAVC = CMPLX(CMCVS,-0.0E-1) H0700350 CHGVC = CHAVC - (+17.0,0.0) H0700360 WRITE (NUVI,0702) CHBVC, CHCVC, CHDVC, CHEVC, CHFVC, CHGVC H0700370 WRITE (NUVI,0701) H0700380 0701 FORMAT (//2X,37HTHE ABOVE ANSWERS SHOULD ALL BE 0 FOR/1X, H0700390 136H THIS TEST SEGMENT TO BE SUCCESSFUL.) H0700400 0702 FORMAT (6(/F17.7,F17.7)) H0700410 C***** END OF TEST SEGMENT 070 H0700420 C***** WHEN EXECUTING ONLY SEGMENT 070, THE STOP AND END CARDS H0700430 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0700440 C***** IN COLUMNS 1 AND 2 REMOVED. H0700450 C= STOP H0700460 C= END H0700470 C***********************************************************************H0710010 C***** H0710020 C***** IFCJG - (071) H0710030 C***** H0710040 C***********************************************************************H0710050 C***** GENERAL PURPOSE ASA REF H0710060 C***** TEST INTRINSIC FUNCTION CONJG (OBTAIN CONJUGATE OF A 8.2/47H0710070 C***** COMPLEX ARGUMENT) (TABLE 3)H0710080 C***** GENERAL COMMENTS H0710090 C***** SUBTRACTION OF COMPLEX NUMBERS ASSUMED WORKING H0710100 C***** H0710110 C***** S P E C I F I C A T I O N S SEGMENT 071 H0710120 C***** H0012580 C***** WHEN EXECUTING ONLY SEGMENT 071, THE SPECIFICATION STATEMENTS H0012585 C***** IN COLUMNS 1 AND 2 REMOVED. H0012590 C***** H0012595 C= COMPLEX CHAVC, CHBVC, CHCVC, CHDVC ,CHEVC H0012600 C***** H0012605 C***** O U T P U T T A P E ASSIGNMENT STATEMENT. NO INPUT TAPE. H0710130 C***** H0072540 C***** WHEN EXECUTING ONLY SEGMENT 071, THE FOLLOWING STATEMENT H0072545 C***** NUVI = 6 MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED. H0072550 C= NUVI = 6 H0072555 C***** H0072560 WRITE (NUVI,0710) H0710140 0710 FORMAT (1H1, 1X,40HIFCJG - (071) INTRINSIC FUNCTION - CONJG/16X, H0710150 119HOBTAIN CONJUGATE OF/16X,16HA COMPLEX NUMBER/ H0710160 217H ASA REFS. - 8.2//2X,7HRESULTS) H0710170 C***** HEADER FOR SEGMENT 071 WRITTEN H0710180 CHAVC = (1.1,+2.1) H0710190 CHBVC = CONJG(CHAVC) H0710200 CHCVC = CHBVC - (1.1,-2.1) H0710210 CHEVC = (-2.E0, -3.E-1) H0710220 CHBVC = CONJG(CHEVC) H0710230 CHDVC = CHBVC - (-2.E0,3.E-1) H0710240 WRITE (NUVI,0711) CHCVC, CHDVC H0710250 CHAVC = (-.2,+.3) H0710260 CHBVC = CONJG(CHAVC) H0710270 CHCVC = CHBVC - (-.2,-.3) H0710280 CHAVC = (23.1E-1,1.E-2) H0710290 CHBVC = CONJG(CHAVC) H0710300 CHDVC = CHBVC - (23.1E-1,-1.E-2) H0710310 WRITE (NUVI,0711) CHCVC,CHDVC H0710320 CHBVC = CONJG((1.2,2.2)) H0710330 CHCVC = CHBVC - (1.2,-2.2) H0710340 CHBVC = CONJG((-1.0,2.0E-1)) H0710350 CHDVC = CHBVC - (-1.0,-2.0E-1) H0710360 WRITE (NUVI,0711) CHCVC, CHDVC H0710370 CHBVC = CONJG((.1,.2E0)) H0710380 CHCVC = CHBVC - (.1,-.2E0) H0710390 CHDVC = CONJG((.0,-0.E0)) H0710400 WRITE (NUVI,0711) CHCVC, CHDVC H0710410 WRITE (NUVI,0712) H0710420 0711 FORMAT (4(/ F17.7, F10.7)) H0710430 0712 FORMAT (//38H ALL ABOVE ANSWERS MUST BE 0 FOR THIS/1X, H0710440 131H TEST SEGMENT TO BE SUCCESSFUL.) H0710450 C***** END OF TEST SEGMENT 071 H0710460 C***** WHEN EXECUTING ONLY SEGMENT 071, THE STOP AND END CARDS H0710470 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0710480 C***** IN COLUMNS 1 AND 2 REMOVED. H0710490 C= STOP H0710500 C= END H0710510 C***********************************************************************H0720010 C***** H0720020 C***** IFBMS - (072) H0720030 C***** H0720040 C***********************************************************************H0720050 C***** GENERAL PURPOSE ASA REF H0720060 C***** TEST THAT ALL INTRINSIC FUNCTIONS WOULD ACCEPT 8.2/32H0720070 C***** ANY EXPRESSION OF THE TYPE SPECIFIED IN THE (TABLE 3)H0720080 C***** INTRINSIC FUNCTION TABLE - ASA REFS - 8.2/01-47 H0720090 C***** GENERAL COMMENTS H0720100 C***** SEGMENTS 055 TO 071 ASSUMED WORKING H0720110 C***** H0720120 C***** O U T P U T T A P E ASSIGNMENT STATEMENT. NO INPUT TAPE. H0720130 C***** H0720140 C***** WHEN EXECUTING ONLY SEGMENT 072, THE FOLLOWING STATEMENT H0072565 C***** NUVI = 6 MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED. H0072570 C= NUVI = 6 H0072575 C***** H0072580 WRITE (NUVI,0720) H0720150 0720 FORMAT (1H1,1X,37HIFBMS - (072) BASIC FORTRAN INTRINSIC/10X, H0720160 128HFUNCTIONS ACCEPT EXPRESSIONS/10X,30HOF TYPE SPECIFIED IN I.F.TAH0720170 2BLE//15H ASA REF.- 8.2//2X,7HRESULTS) H0720180 C***** HEADER FOR SEGMENT 072 WRITTEN H0720190 C***** TEST ABS - ABSOLUTE VALUE OF REAL ARGUMENT 8.2/11H0720200 CMAVS = 0.5 H0720210 CMBVS = -.25 H0720220 CMCVS = 16.0 H0720230 CMDVS = -4.0 H0720240 CMEVS = ABS(CMAVS + CMBVS) + 1.0 H0720250 CMFVS = CMEVS - (0.5 - .25) - 1.0 H0720260 CMEVS = ABS(0.0 -ABS(CMAVS - CMCVS+ CMDVS)) H0720270 CMGVS = CMEVS + (0.5 - 16.0 - 4.0) H0720280 CMEVS = ABS(CMAVS + 1.0 - (CMCVS + CMDVS) + 0.5 * 8.0) H0720290 CMHVS = CMEVS + (0.5 + 1.0 - (16.0 - 4.0) + 4.0) H0720300 CMEVS = ABS(1.0E0 + (1.0 * 1.0 / 1.0) **2) H0720310 CMIVS = CMEVS - 2.0 H0720320 WRITE (NUVI,0721) CMFVS , CMGVS , CMHVS , CMIVS H0720330 C***** TEST OF IABS - ABSOLUTE VALUE OF INTEGER ARGUMENT 8.2/12H0720340 MCAVI = 2 H0720350 MCBVI = 10 H0720360 MCCVI = IABS (MCAVI + MCBVI) H0720370 MCDVI = MCCVI - 12 H0720380 MCCVI = IABS(MCAVI * 2 + MCBVI / 2) +1 H0720390 MCEVI = MCCVI - 10 H0720400 MCCVI = IABS(-MCBVI /(-2) - MCBVI ** 1 + (1 * 2 * 3 / 2 - 3) - 10 H0720410 1 + 10 + MCBVI / MCAVI - 5) H0720420 MCFVI = MCCVI - 5 H0720430 MCCVI = IABS(0 - IABS(-5 * 1 / 5 - 5 * IABS(-1))) H0720440 MCGVI = MCCVI - 6 H0720450 WRITE (NUVI, 0722) MCDVI , MCEVI , MCFVI , MCGVI H0720460 C***** TEST OF FLOAT - CONVERSION FROM INTEGER TO REAL 8.2/29H0720470 CMEVS = FLOAT (MCAVI + MCBVI) H0720480 CMFVS = CMEVS - 12.0 H0720490 CMEVS = FLOAT(MCAVI * 2 /4 + MCBVI ** 1) H0720500 CMGVS = CMEVS - 11.0 H0720510 CMEVS = FLOAT((23 + 46)/69 + 10 - MCBVI) *2.0 + 1.5 H0720520 CMHVS = CMEVS - 3.5 H0720530 CMEVS = (76.5 * 1.0 - FLOAT (76 * 1)) * 4.0 H0720540 CMIVS = CMEVS - 2.0 H0720550 WRITE (NUVI,0723) CMFVS, CMGVS, CMHVS, CMIVS H0720560 C***** TEST OF IFIX - CONVERSION FROM REAL TO INTEGER 8.2/30H0720570 MCCVI = IFIX(CMAVS - CMBVS) H0720580 MCDVI = MCCVI H0720590 MCCVI = IFIX(CMAVS *1.0 + CMBVS/CMBVS - (CMCVS - CMDVS)) H0720600 MCEVI = MCCVI + 18 H0720610 MCCVI = 1 + IFIX(2.5 * 2.0) - IFIX(10.0 /2.0) H0720620 MCFVI = MCCVI - 1 H0720630 MCCVI = 2 + IFIX(2.5 ** 1.0 + (10.65 + 3.45)) H0720640 MCGVI = MCCVI - 18 H0720650 WRITE (NUVI,0724) MCDVI, MCEVI, MCFVI, MCGVI H0720660 C***** TEST OF SIGN - TRANSFER OF SIGN WITH REAL ARGUMENTS 8.2/31H0720670 CMEVS = SIGN(CMAVS+CMDVS,CMDVS-CMBVS) H0720680 CMFVS = CMEVS - (CMAVS + CMDVS) H0720690 CMEVS = SIGN(25.0 + 0.0 * 4.0,-24.4/6.1 * 1.0) H0720700 CMGVS = CMEVS + 25.0 H0720710 CMEVS = SIGN(10.5,SIGN(2.0,-4.5)) H0720720 CMHVS = CMEVS + 10.5 H0720730 CMEVS = SIGN(1.0,SIGN(-2.0,SIGN(2.0,-1.0))) H0720740 CMIVS = CMEVS + 1.0 H0720750 WRITE (NUVI,0725) CMFVS, CMGVS, CMHVS, CMIVS H0720760 C***** TEST OF ISIGN - TRANSFER OF SIGN WITH INTEGER ARGUMENT 8.2/32H0720770 MCCVI = ISIGN(MCAVI,MCAVI + MCBVI - 13) H0720780 MCDVI = MCCVI + 2 H0720790 MCCVI = ISIGN(10,-5 - 10/2 + 1**2) H0720800 MCEVI = MCCVI + 10 H0720810 MCCVI = ISIGN( 1 + 2 + 3 , ISIGN(-2,7 + 5)) H0720820 MCFVI = MCCVI - 6 H0720830 MCCVI = ISIGN(1,ISIGN(-1,ISIGN(+1,-1))) H0720840 MCGVI = MCCVI + 1 H0720850 WRITE (NUVI,0726) MCDVI, MCEVI, MCFVI, MCGVI H0720860 C***** TEST OF COMBINATION OF ABS,IABS,FLOAT,IFIX,SIGN,ISIGN H0720870 CMEVS = FLOAT(IABS(IFIX(ABS(-5.0 + SIGN(-1.0,2.0))))) H0720880 CMFVS = CMEVS - 4.0 H0720890 MCCVI = IFIX(FLOAT(ISIGN(1+2,IABS(1 + ISIGN(1,-1))))) H0720900 MCDVI = MCCVI - 3 H0720910 CMEVS = SIGN(ABS(1.0 + FLOAT(-20)), FLOAT(IFIX(1.0))) H0720920 CMGVS = CMEVS - 19.0 H0720930 MCCVI = ISIGN(IABS(IFIX(1.0) - 2) , -((1 + IFIX(-1.0)) +1)) H0720940 MCEVI = MCCVI + 1 H0720950 WRITE (NUVI,0727) CMFVS, CMGVS, MCDVI, MCEVI H0720960 CMEVS = ABS(SIGN(1.0 + 2.0, FLOAT(IABS(-2)))) H0720970 CMFVS = CMEVS - 3.0 H0720980 MCCVI = IABS(IFIX(SIGN(-2.0,2.0))) H0720990 MCDVI = MCCVI - 2 H0721000 CMEVS = 1.2 + FLOAT(1 + 5 - ISIGN(-1,6)) H0721010 CMGVS = CMEVS - 6.2 H0721020 MCCVI = 25 - ISIGN(IFIX(2.0),-IABS(-5)) H0721030 MCEVI = MCCVI - 27 H0721040 WRITE (NUVI,0728) CMFVS, CMGVS, MCDVI, MCEVI H0721050 C***** END OF TEST STATEMENTS H0721060 0721 FORMAT ( / 30H TEST OF ABS IN EXPRESSIONS -/ 4(F17.1/)) H0721070 0722 FORMAT ( 31H TEST OF IABS IN EXPRESSIONS -/ 4(I15/)) H0721080 0723 FORMAT ( 32H TEST OF FLOAT IN EXPRESSIONS -/ 4(F17.1/)) H0721090 0724 FORMAT ( 31H TEST OF IFIX IN EXPRESSIONS -/ 4(I15/)) H0721100 0725 FORMAT ( 31H TEST OF SIGN IN EXPRESSIONS -/ 4(F17.1/)) H0721110 0726 FORMAT ( 32H TEST OF ISIGN IN EXPRESSIONS -/ 4(I15/)) H0721120 0727 FORMAT ( 40H COMBINATION OF ALL INTRINSIC FUNCTIONS, H0721130 1 2(/F17.1), 2(/I15)) H0721140 0728 FORMAT ( 2(F17.1/),2(I15/)/ 35H ALL ABOVE ANSWERS SHOULD BE 0 FOH0721150 1R/2X,35HTHIS TEST SEGMENT TO BE SUCCESSFUL.) H0721160 C***** END OF TEST SEGMENT 072 H0721170 C***** WHEN EXECUTING ONLY SEGMENT 072, THE STOP AND END CARDS H0721180 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0721190 C***** IN COLUMNS 1 AND 2 REMOVED. H0721200 C= STOP H0721210 C= END H0721220 C***********************************************************************H0730010 C***** H0730020 C***** IFFMS - (073) H0730030 C***** H0730040 C***********************************************************************H0730050 C***** GENERAL PURPOSE ASA REF H0730060 C***** TEST THAT ALL INTRINSIC FUNCTIONS IN FORTRAN WOULD 8.2/07H0730070 C***** ACCEPT ANY EXPRESSION OF THE TYPE SPECIFIED IN THE (PG 24)H0730080 C***** INTRINSIC FUNCTION TABLE - ASA REFS - 8.2/TABLE 3 H0730090 C***** SEGMENTS 055 - 071 ASSUMED WORKING. H0730100 C***** H0730110 C***** S P E C I F I C A T I O N S SEGMENT 073 H0730120 C***** H0012610 C***** WHEN EXECUTING ONLY SEGMENT 073, THE SPECIFICATION STATEMENTS H0012615 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0012620 C***** IN COLUMNS 1 AND 2 REMOVED. H0012625 C***** H0012630 C= DIMENSION MCA1I(5),AC2S(5,6) H0012635 C= INTEGER MCA3I(2,3,3) H0012640 C= DOUBLE PRECISION DPAVD,DPBVD,DPCVD,DPDVD,DPEVD,DPFVD,DPGVD, H0012645 C= 1DPA1D(5),FC2D(5,5) H0012650 C***** H0012655 C***** O U T P U T T A P E ASSIGNMENT STATEMENT. NO INPUT TAPE. H0730130 C***** H0072585 C***** WHEN EXECUTING ONLY SEGMENT 073, THE FOLLOWING STATEMENT H0072590 C***** NUVI = 6 MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED. H0072595 C= NUVI = 6 H0072600 C***** H0072605 WRITE (NUVI,0730) H0730140 0730 FORMAT (1H1,1X,41HIFFMS - (073) FORTRAN INTRINSIC FUNCTIONS/16X, H0730150 126HACCEPT EXPRESSIONS OF TYPE/16X,22HSPECIFIED IN I.F.TABLE/ H0730160 223H ASA REF.- 8.2/TABLE 3//2X,7HRESULTS) H0730170 C***** HEADER FOR SEGMENT 073 WRITTEN H0730180 C***** TEST OF DABS IN EXPRESSIONS 8.2/13H0730190 DPAVD = 1.25D0 H0730200 DPBVD = - 10.0D0 H0730210 DPCVD = DABS(DPAVD + DPBVD) H0730220 DPDVD = DPCVD - 10.0D0 + 1.25D0 H0730230 DPCVD = DABS(1.0D0 + 2.D0 - 3.0D0 * 50.D-1) H0730240 DPEVD = DPCVD - 12.D0 H0730250 DPCVD = DABS( DPAVD * 1.D0 - 1.25D0 + DPBVD/2.D0) + 1.D0 H0730260 DPFVD = DPCVD - 6.0D0 H0730270 DPGVD = 1.0D0 + DABS(2.5D0 - 1.5D0 * 1.0D0) - 2.D0 H0730280 WRITE (NUVI,0731) DPDVD, DPEVD, DPFVD, DPGVD H0730290 C***** TEST OF AINT IN EXPRESSIONS 8.2/14H0730300 CMAVS = 1.23 H0730310 CMBVS = 27.998 H0730320 CMCVS = -9.007E0 H0730330 CMDVS = AINT(CMAVS + CMBVS - CMCVS) H0730340 CMEVS = CMDVS - 38.0 H0730350 CMDVS = AINT(1.0 + 2.0 /1.0 - 3.0 * 2.E0) H0730360 CMFVS = CMDVS + 3.0 H0730370 CMDVS = AINT(4. + AINT(2.E0 + CMCVS)) H0730380 CMGVS = CMDVS + 3.0 H0730390 CMDVS = AINT(AINT(AINT( 1.4 - 2.7))) H0730400 CMHVS = CMDVS + 1.0 H0730410 WRITE (NUVI,0732) CMEVS, CMFVS, CMGVS, CMHVS H0730420 C***** TEST OF INT IN EXPRESSIONS 8.2/15H0730430 MCAVI = INT(1.0 + 2.1 + 3.2 - 8.4 / 2.5 * 2.6) H0730440 MCBVI = MCAVI + 2 H0730450 MCAVI = INT(100.0/6.0 - (2.0 **4.0) + (((2.0-3.0)+4.0) * 2.0)) H0730460 MCCVI = MCAVI - 6 H0730470 MCAVI = INT((100.2/6.1/5.0+4.10) / 2.0) H0730480 MCDVI = MCAVI - 3 H0730490 MCAVI = INT(9.0/2.0) + INT(5.1/4.0) H0730500 MCEVI = MCAVI - 5 H0730510 WRITE (NUVI,0733) MCBVI, MCCVI, MCDVI, MCEVI H0730520 C***** TEST OF IDINT IN EXPRESSIONS 8.2/16H0730530 DPA1D(1) = 2.5D1 H0730540 MCAVI = IDINT(DPBVD / 2.0D0 + 1.5D0) H0730550 MCBVI = MCAVI + 3 H0730560 MCAVI = IDINT( 1.0D1 + 5.D0 * 2.D1 / 49.D1) + 1 H0730570 MCCVI = MCAVI - 11 H0730580 MCAVI = IDINT(DPA1D(1)) H0730590 MCDVI = MCAVI - 25 H0730600 MCAVI = IDINT(DPA1D(1) + DPA1D(1)/4.0D0) H0730610 MCEVI = MCAVI - 31 H0730620 WRITE (NUVI,0734) MCBVI, MCCVI, MCDVI, MCEVI H0730630 C***** TEST OF AMOD, MOD IN EXPRESSIONS 8.2/17-18H0730640 AC2S(1,1) = 27.0 H0730650 CMDVS =AMOD(25.0 + AC2S(1,1), 1.0 * 5.0) H0730660 CMEVS = CMDVS - 2.0 H0730670 CMDVS =AMOD(99.0,AMOD(25.0+ 27.0, 5.0)) H0730680 CMFVS = CMDVS - 1.0 H0730690 MCA3I(1,2,3) = 5 H0730700 MCAVI = MOD(98 + 1, MOD(25 + 27,5)) H0730710 MCBVI = MCAVI - 1 H0730720 MCAVI = MOD (MCA3I (1,2,3), 2) H0730730 MCCVI = MCAVI - 1 H0730740 WRITE (NUVI,0735) CMEVS, CMFVS, MCBVI, MCCVI H0730750 C***** TEST OF AMAX0, AMAX1, MAX0, MAX1 AND DMAX1 IN EXPRESSIONS H0730760 C***** 8.2/19-23H0730770 FC2D(1,1) = 27.0D0 H0730780 CMDVS = AMAX0(5 + 9, MAX0(14 * 2, MAX1( 2.0 /1.0,1.0))) H0730790 CMEVS = CMDVS - 28.0 H0730800 CMDVS = AMAX1((AMAX0((MAX0(29,-100)),5 + 10)), 2.0 * 2.0) H0730810 CMFVS = CMDVS - 29.0 H0730820 MCAVI = MAX1((AMAX0(25, -(1 * 5))),100.0) H0730830 MCBVI = MCAVI - 100 H0730840 DPCVD = DMAX1(FC2D(1,1),DMAX1(1.0D0, 0.D0 * FC2D(1,1))) H0730850 DPDVD = DPCVD - 27.0D0 H0730860 WRITE (NUVI,0736) CMEVS, CMFVS, MCBVI, DPDVD H0730870 C***** TEST OF AMIN0, AMIN1, MIN0, MIN1 AND DMIN1 IN EXPRESSIONS H0730880 C***** 8.2/24-27H0730890 CMDVS = AMIN1(2.5 + AC2S(1,1), AMIN0(-5, MIN0(0,1))) H0730900 CMEVS = CMDVS + 5.0 H0730910 MCAVI = MIN0((MIN1( -99., 100.0 - 1.0 * 99.)), 2) H0730920 MCBVI = MCAVI + 99 H0730930 MCAVI = MIN1( 2.0,AMIN1( 5. * 3.0, -9.0 /(-9.0))) H0730940 MCCVI = MCAVI - 1 H0730950 DPCVD = DMIN1(FC2D(1,1), DMIN1(2.0D-1,0.0D0)) H0730960 DPDVD = DPCVD - 0.0D0 H0730970 WRITE (NUVI,0737) CMEVS, MCBVI, MCCVI, DPDVD H0730980 C***** TEST OF DSIGN,AND DBLE IN EXPRESSIONS 8.2/33,8.2/43H0730990 DPCVD= DSIGN(FC2D(1,1) * 1.0D1, - 1.0D0) H0731000 DPDVD = DPCVD + 27.0D1 H0731010 DPCVD = DSIGN((DSIGN(2.0D0, -1.0D0) + 0.0D0), 9.0D0) H0731020 DPEVD = DPCVD - 2.0D0 H0731030 DPCVD = DBLE( 2.0 * 4.0 + AC2S(1,1)) H0731040 DPFVD = DPCVD - 35.0D0 H0731050 DPCVD = DBLE(-32.00 / 8.0) * DBLE(-2.0) H0731060 DPGVD = DPCVD - 8.0D0 H0731070 WRITE (NUVI,0738) DPDVD, DPEVD, DPFVD, DPGVD H0731080 C***** TEST OF DIM AND IDIM IN EXPRESSIONS 8.2/34-35H0731090 CMDVS = DIM( 2.0 * 3.5 /7.0, AC2S(1,1)) H0731100 CMEVS = CMDVS - 0.0 H0731110 CMDVS = DIM(DIM(9.0,-5.5), DIM(6.0,0.0)) H0731120 CMFVS = CMDVS - 8.5 H0731130 MCA1I(1)=8 H0731140 MCCVI = IDIM(MCA1I(1) * 1, - (IDIM(0, -3))) H0731150 MCDVI = MCCVI - 11 H0731160 MCCVI = IDIM(((4 + 2 + 3)/3), - 2) H0731170 MCEVI = MCCVI - 5 H0731180 WRITE (NUVI,9995) CMEVS, CMFVS, MCDVI, MCEVI H0731190 C***** TEST OF SNGL, REAL , AIMAG, CMPLX AND CONJG IN EXPRESSIONS H0731200 C***** 8.2/36-47H0731210 CMEVS = SNGL (1.0D0 * 2.D1 + AC2S(1,1)) H0731220 CMFVS = CMEVS - 47.0 H0731230 CMEVS = REAL( CONJG((1.0, -2.0)))+ AIMAG((99.0, -7.0)) H0731240 CMGVS = CMEVS + 6.0 H0731250 CMEVS = AIMAG(CMPLX(REAL((2.0,1.0)), SNGL (1.0D0))) H0731260 CMHVS = CMEVS - 1.0D0 H0731270 WRITE (NUVI,0739) CMFVS, CMGVS, CMHVS H0731280 C***** SOME COMBINATIONS OF ABOVE INTRINSIC FUNCTIONS H0731290 CMEVS = AMIN1((FLOAT(IDIM(1+2,0))),(AIMAG(CMPLX(1.0,2.0)))) H0731300 CMFVS = CMEVS - 2.0 H0731310 CMEVS = REAL(CMPLX(SNGL(DABS(-DSIGN(DBLE(2.0),1.0D0))),CMAVS)) H0731320 CMGVS = CMEVS - 2.0 H0731330 WRITE (NUVI,9994) CMFVS, CMGVS H0731340 C***** END OF TEST STATEMENTS FOR SEGMENT 073 H0731350 0731 FORMAT (/ 30H TEST OF DABS IN EXPRESSIONS //4(D23.8/)) H0731360 0732 FORMAT ( 30H TEST OF AINT IN EXPRESSIONS //4(E19.6/)) H0731370 0733 FORMAT ( 30H TEST OF INT IN EXPRESSIONS //4(I10/)) H0731380 0734 FORMAT ( 30H TEST OF IDINT IN EXPRESSIONS//4(I10/)) H0731390 0735 FORMAT ( 35H TEST OF AMOD, MOD IN EXPRESSIONS // H0731400 1 2(E19.6/), 2(I10/)) H0731410 0736 FORMAT ( 40H TEST OF AMAX0,AMAX1,MAX0,MAX1 AND DMAX// H0731420 1 2(E19.6/), I10/ D23.8) H0731430 0737 FORMAT ( 40H1 TEST OF AMIN0,AMIN1,MIN0,MIN1 AND DMIN// H0731440 1 E19.6/ 2(I10/), D23.8) H0731450 0738 FORMAT (/ 39H TEST OF DSIGN AND DBLE IN EXPRESSIONS//4(D23.8/)) H0731460 0739 FORMAT ( 35H TEST OF SNGL,REAL,AIMAG,CMPLX AND / H0731470 123H CONJG IN EXPRESSIONS //3(E19.6/)) H0731480 9994 FORMAT ( 36H TEST OF SOME COMBINATIONS OF ABOVE/ H0731490 122H INTRINSIC FUNCTIONS //2(E19.6/) /40H ALL ABOVE ANSWERS SHOULH0731500 2D BE 0 FOR THIS/27H SEGMENT TO BE SUCCESSFUL.) H0731510 9995 FORMAT ( /37H TEST OF DIM AND IDIM IN EXPRESSIONS/2(E19.6/), H0731520 1 2(I10/)) H0731530 C***** END OF TEST SEGMENT 073 H0731540 C***** WHEN EXECUTING ONLY SEGMENT 073, THE STOP AND END CARDS H0731550 C***** WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C= H0731560 C***** IN COLUMNS 1 AND 2 REMOVED. H0731570 C= STOP H0731580 C= END H0731590 STOP H9999995 END H9999999