THIS PD FILE CONTAINS RELEASE 4 OF DBT'S WORK ON MATH FUNCTIONS. It contains answer 1 to 0**0, erroneous but consistent with other systems. It contains 0 answer to i**j for negative j, i not + or - 1. IT CONTAINS A CORRECTED CALL OF DSQRT (RATHER THAN SQRT) IN ZABS IN CXDXMFNS ON LINE 271. THE FOLLOWING FILES ARE PROVIDED:- READTHIS ... THIS FILE ALLCHECK ... SOURCE OF A SMALL FORTRAN PROGRAM WHICH EVALUATES ALL THE FUNCTIONS ONCE TO CHECK ON LOADING AND COMPARE SINGLE AND DOUBLE RESULTS. CHECK ...... OBJECT FOR ALLCHECK. 'RUN CHECK' WILL LIST THREE COLUMNS, AN INTEGER IDENTIFYING THE FUNCTION FOLLOWED BY SINGLE AND DOUBLE PRECISION RESULTS, EXCEPT IN THE CASE OF I**J WHEN THE INTEGER RESULT IS GIVEN. THE INTEGERS IDENTIFYING THE FUNCTIONS ARE:- 1 - SQRT AND DSQRT 2 - ALOG/ALOG10 AND DLOG/DLOG10 3 - EXP AND DEXP 4 - '**' FOR REAL**REAL, REAL**INTEGER AND INTEGER**INTEGER ALSO WITH DOUBLE PRECISION REALS 5 - SIN/COS AND DSIN/DCOS 6 - TAN/COTAN AND DTAN/DCOTAN 7 - ATAN/ATAN2 AND DATAN/DATAN2 9 - SINH/COSH AND DSINH/DCOSH 10 - TANH AND DTANH 11 - 111 GAMMA AND DGAMMA 112 ALGAMA AND DLGAMA 113 ERF AND DERF 114 ERFC AND DERFC DPMFNTTS ... SOURCE OF DOUBLE PRECISION MATH FUNCTIONS DERIVED FROM CODY AND WAITE, NAG AND DBT, ALL IN IMP. THIS CODE IS THE VERSION SET UP FOR TESTING USING THE OBJECT FILE DTESTOB AND DATA FILE DTESTINPUT. THE INTEGER CONSTANT "TEST" SHOULD BE SET TO ZERO (0) TO PRODUCE A VERSION WHICH WILL CALL "F_MLE". DPMFNOKS ... VERSION OF DPMFNTT WITH "TEST"=0 DTEST ...... TEST PACKAGE (FORTRAN) FOR ALL DOUBLE PRECISION MATH. FUNCTIONS AND FOR 'I**N' ("F_POWII"). THIS WILL RUN WITH 'RUN ...DTESTOB'. THIS USES (FOR DGAMMA, DLGAMA,DERF,DERFC) THE DATA FILE DTESTINPUT (CHANNEL 9) AND CREATES AN OUTPUT FILE CALLED ...DTESTOUT (CHANNEL 10). A SUMMARY GOES TO THE TERMINAL (CHANNEL 6). THIS CONTAINS FOR IDENTIFIED FUNCTIONS, SUMMARY RESULTS GIVING TEST NUMBER (J), MAXIMUM RELATIVE ERROR (MRE) AND ROOT-MEAN-SQUARE ERROR (RMS) AND AVERAGE TIME (MICRO-SEC) USING 20000 EVALUATIONS. MRE AND RMS ARE MEASURED IN HEX DIGITS. MRE SHOULD NOT BE MUCH GREATER THAN 1 AND RMS SHOULD BE LESS THAN 1 THE SECOND TEST (J=2) FOR DGAMMA AND DERFC USE THE QUANTITIES REL-ERROR/X AND 0.5*REL-ERROR/(X*X) RESPECTIVELY, IN PLACE OF REL-ERROR AS ERROR MEASURES AND MRE AND RMS REFER TO THESE ERRORS IN THESE CASES. THE FORMAT IS SET UP FOR EASY COMPARISON WITH THE TABLES IN CODY AND WAITE. DATA IS NEEDED (CHAN 5) TO SELECT TESTS BY NUMBER AS IDENTIFIED BY PROMPT AND AT THE HEAD OF DPMFNTTS. THE NUMBER '100' WILL SELECT ALL TESTS AND THEN STOP. DPMFNTTOB . OBJECT FROM DPMFNTT FOR TESTING DPMFNOKOB . OBJECT FROM DPMFNOK WITH "TEST=0" DTESTOB ... OBJECT FROM DTEST DTESTINPUT. INPUT FOR DTEST ON CHANNEL 9 DEFINED INSIDE DTEST. THIS FILE MUST BE COPIED TO A FILE CALLED "DTESTINPUT". DTESTOUT .. EXAMPLE OF OUTPUT FROM DTEST ON CHANNEL 10 DEFINED INSIDE DTEST. RUNNING DTESTOB WILL PRODUCE A CHARACTER FILE CALLED "DTESTOUT". THIS PDFILE MEMBER IS A COPY OF SUCH OUTPUT. DSUMMARY .. EXAMPLE OF SUMMARY RESULTS FROM RECALL FILE. DERRMESS .. LOWER CASE ERROR MASSAGES, EXTRACT FROM DPMFN**S. SPMFNTTS ... SOURCE OF SINGLE PRECISION MATH FUNCTIONS DERIVED FROM CODY AND WAITE, NAG AND DBT, ALL IN IMP. THIS CODE IS THE VERSION SET UP FOR TESTING USING THE OBJECT FILE STESTOB AND DATA FILE STESTINPUT. THE INTEGER CONSTANT "TEST" SHOULD BE SET TO ZERO (0) TO PRODUCE A VERSION WHICH WILL CALL "F_MLE". SPMFNOKS ... VERSION OF SPMFNTT WITH "TEST"=0 STEST ...... TEST PACKAGE (FORTRAN) FOR ALL SINGLE PRECISION MATH. FUNCTIONS. THIS WILL RUN WITH 'RUN ...STESTOB'. THIS USES (FOR GAMMA, ALGAMA,ERF,ERFC) THE DATA FILE STESTINPUT (CHANNEL 9) AND CREATES AN OUTPUT FILE CALLED ...STESTOUT (CHANNEL 10). A SUMMARY GOES TO THE TERMINAL (CHANNEL 6). THIS CONTAINS FOR IDENTIFIED FUNCTIONS, SUMMARY RESULTS GIVING TEST NUMBER (J), MAXIMUM RELATIVE ERROR (MRE) AND ROOT-MEAN-SQUARE ERROR (RMS) AND AVERAGE TIME (MICRO-SEC) USING 20000 EVALUATIONS. MRE AND RMS ARE MEASURED IN HEX DIGITS. MRE SHOULD NOT BE MUCH GREATER THAN 1 AND RMS SHOULD BE LESS THAN 1 THE SECOND TESTS (J=2) FOR GAMMA AND ERFC USE THE QUANTITIES REL-ERROR/X AND 0.5*REL-ERROR/(X*X) RESPECTIVELY, IN PLACE OF REL-ERROR AS ERROR MEASURES AND MRE AND RMS REFER TO THESE ERRORS IN THESE CASES. THE FORMAT IS SET UP FOR EASY COMPARISON WITH THE TABLES IN CODY AND WAITE. DATA IS NEEDED (CHAN 5) TO SELECT TESTS BY NUMBER AS IDENTIFIED BY PROMPT AND AT THE HEAD OF SPMFNTTS. THE NUMBER '100' WILL SELECT ALL TESTS AND THEN STOP. SPMFNTTOB . OBJECT FROM SPMFNTT FOR TESTING SPMFNOKOB . OBJECT FROM SPMFNOK WITH "TEST=0" STESTOB ... OBJECT FROM STEST STESTINPUT. INPUT FOR STEST ON CHANNEL 9 DEFINED INSIDE STEST. THIS FILE MUST BE COPIED TO A FILE CALLED "STESTINPUT". STESTOUT .. EXAMPLE OF OUTPUT FROM STEST ON CHANNEL 10 DEFINED INSIDE STEST. RUNNING STESTOB WILL PRODUCE A CHARACTER FILE CALLED "STESTOUT". THIS PDFILE MEMBER IS A COPY OF SUCH OUTPUT. SSUMMARY .. EXAMPLE OF SUMMARY RESULTS FROM RECALL FILE. SERRMESS .. LOWER CASE ERROR MASSAGES, EXTRACT FROM SPMFN**S. CXDXMFNS .. COMPLEX AND DOUBLE PRECISION COMPLEX CODE (UNCHANGED EXCEPT FOR CSQRT AND CDSQRT) AND ERROR ROUTINE F_MLE WITH ERRORS 1 TO 47 DEFINED. CXDXMFNOB .. OBJECT FOR CXDXMFNS. DBTSMFNOB .. READY TO GO LINKED DPMFNOKOB,SPMFNOKOB,CXDXMFNOB