last modified: 16-JUL-1981 | catalog | categories | new | search |

NESC0881 ELEFUNT.

ELEFUNT, Testing of Elementary Function Subroutines

top ]
1. NAME OR DESIGNATION OF PROGRAM:  ELEFUNT.
top ]
2. COMPUTERS
To submit a request, click below on the link of the version you wish to order. Only liaison officers are authorised to submit online requests. Rules for requesters are available here.
Program name Package id Status Status date
ELEFUNT NESC0881/01 Tested 16-JUL-1981

Machines used:

Package ID Orig. computer Test computer
NESC0881/01 IBM 3033
top ]
3. DESCRIPTION OF PROBLEM OR FUNCTION

ELEFUNT is a FORTRAN test package for the elementary functions. Each program is an aggressive  test of one or more of the elementary function subroutines generally supplied with the support library accompanying a FORTRAN compiler.
Functions tested are ALOG/ALOG10, ASIN/ACOS, ATAN, EXP, POWER, SIN/  COS, SINH/COSH, SQRT, TAN/COTAN, and TANH.
top ]
4. METHOD OF SOLUTION

The programs check the accuracy of the functions by using purified random arguments from appropriate intervals in carefully selected identities. They also check special  properties of each function, test for the handling of special arguments, and exercise the error returns.
top ]
5. RESTRICTIONS ON THE COMPLEXITY OF THE PROBLEM

The package contains one subroutine (MACHAR) for dynamic determination of parameters describing the floating-point arithmetic system of the host machine, the test programs must be modified to insert the necessary machine-  dependent parameters in DATA statements, or otherwise make them available. This computing environment inquiry routine is known to malfunction when the arithmetic registers are wider than the storage registers.
top ]
6. TYPICAL RUNNING TIME

Running time is generally short and varies with the host machine and the function being tested. NESC executed all of the drivers in 5 seconds of CPU time on an IBM3033, 17 seconds of CP time on a CDC6600, 2 seconds of CP time on a CDC7600,  and 20 seconds of CP time on a UNIVAC1100/44.
top ]
7. UNUSUAL FEATURES OF THE PROGRAM

At this time there are no other diagnostic/test packages available for the elementary functions. The package is aggressive in detecting specific problems in the functions being tested, is highly portable, and contains a unique computing environment inquiry package.
top ]
8. RELATED AND AUXILIARY PROGRAMS:
top ]
9. STATUS
Package ID Status date Status
NESC0881/01 16-JUL-1981 Tested at NEADB
top ]
10. REFERENCES

- William j. Cody, Jr. and William M. Waite,
  Software Manual for the Elementary Functions, Prentice Hall Inc.,
  Englewood Cliffs, New Jersey, 1980.
NESC0881/01, included references:
-  NESC Note 80-65 (April 14, 1980)
-  NESC Note 80-66 (April 14, 1980)
top ]
11. MACHINE REQUIREMENTS

The maximum space required by any one test driver is 50K bytes on an IBM3033, 16,000 (octal) words on a CDC 6600, 5700 (octal) words on a CDC7600, and 3600 words on a UNIVAC 1100/44.
top ]
12. PROGRAMMING LANGUAGE(S) USED
Package ID Computer language
NESC0881/01 FORTRAN-IV
top ]
13. OPERATING SYSTEM UNDER WHICH PROGRAM IS EXECUTED

OS/370 (IBM3033), SCOPE 3.4.4 (CDC6600), SCOPE 2.1.5 (CDC7600), AND EXEC8 (UNIVAC 1100).
top ]
14. OTHER PROGRAMMING OR OPERATING INFORMATION OR RESTRICTIONS

Test
output produced by other host machines may differ from the test output supplied on microfiche by NESC for the CDC, IBM and UNIVAC.
Elements of the package have been tested successfully by the author on the following additional machines: BESM-6, Burroughs6700,  CRAY-1, PDP10, PDP11, Varian V76, and Z80 (using Microsoft FORTRAN). Modifications are required to execute the package on Honeywell equipment. On the CDC6000/7000 series hardware the PROGRAM card must be inserted at the beginning of each driver.
Because the 1966 FORTRAN standard did not specify some of the functions usually found in a support library, and the ANSI X3.9-1978 standard fails to mention a COTANgent program, some libraries may not have all of the functions being tested or may use names other than those used in this package. Drivers for the ASIN/ACOS and TAN/COTAN tests may have to be modified for this reason. All drivers may also require modification if the MACHAR subprogram malfunctions  or if a local random number generator is to be used. MACHAR deliberately causes two floating-point underflows; it is assumed that program execution will continue each time.
top ]
15. NAME AND ESTABLISHMENT OF AUTHOR

W.J. Cody
Applied Mathematics Division
Argonne National Laboratory
9700 South Cass Avenue
Argonne, Illinois 60439
top ]
16. MATERIAL AVAILABLE
NESC0881/01
File name File description Records
NESC0881_01.001 DRIVER FOR ALOG/ALOG10 223
NESC0881_01.002 DRIVER FOR ASIN/ACOS 227
NESC0881_01.003 DRIVER FOR ATAN 242
NESC0881_01.004 DRIVER FOR EXP 199
NESC0881_01.005 DRIVER FOR POWER 241
NESC0881_01.006 DRIVER FOR SIN/COS 222
NESC0881_01.007 DRIVER FOR SINH/COSH 244
NESC0881_01.008 DRIVER FOR SQRT 170
NESC0881_01.009 DRIVER FOR TAN/COTAN 208
NESC0881_01.010 DRIVER FOR TANH 189
NESC0881_01.011 SUBROUTINES MACHAR,RAN AND RANDL 266
NESC0881_01.012 OUTPUT OF ALOG/ALOG10 174
NESC0881_01.013 OUTPUT OF ASIN/ACOS 188
NESC0881_01.014 OUTPUT OF ATAN 207
NESC0881_01.015 OUTPUT OF EXP 149
NESC0881_01.016 OUTPUT OF POWER 201
NESC0881_01.017 OUTPUT OF SIN/COS 164
NESC0881_01.018 OUTPUT OF SINH/COSH 186
NESC0881_01.019 OUTPUT OF SQRT 107
NESC0881_01.020 OUTPUT OF TAN/COTAN 179
NESC0881_01.021 OUTPUT OF TANH 121
top ]
17. CATEGORIES
  • P. General Mathematical and Computing System Routines

Keywords: FORTRAN, elementary functions, libraries, testing.