CELEFUNT: A portable test package for complex elementary functions Page: 3 of 24
23 pagesView a full description of this report.
Extracted Text
The following text was automatically extracted from the image on this page using optical character recognition software:
CELEFUNT: A Portable Test Package
for Complex Elementary Functions
by
W. J. Cody
Abstract
This paper discusses CELEFUNT, a package of Fortran programs for testing complex elemen-
tary functions.
1 Introduction
CELEFUNT is a collection of test programs for the complex floating-point elementary functions
required by the 1978 ANSI Fortran Standard (CABS, CSQRT, CLOG, CEXP, CSIN/CCOS, and
the complex power function) [1]. It is a companion to the ELEFUNT package [3] introduced over
ten years ago for testing the real floating-point elementary functions and a forthcoming INTFUNT
package for testing intrinsic functions involving integers. These packages, together with the envi-
ronmental inquiry programs MACHAR [2] and PARANOIA [4], provide the means for a thorough
examination of the computational environment available to the Fortran programmer.
The next section provides a broad overview of the techniques used in CELEFUNT to assess
accuracy. Section 3 discusses portability issues, while subsequent sections discuss the individual
test programs in more detail. Each discussion includes an error analysis, a tabulation of test
results on three different systems (SUN Fortran 1.2 under SUNOS 4.1 running on a Sun 3/60,
VAX Fortran under VMS 5.3 running on a VAX 8700, and Lahey F77L 4.0 running under DOS
3.30 on an IBM/XT with a coprocessor), and an interpretation of those results to aid others in
interpreting their results.
We standardize our notation in the following discussions so that mathematical quantities are
expressed in lower case (x, sin(x), etc.) and machine quantities are expressed in upper case (X,
SIN(X), etc.). Where the distinction is not important, we will use the mathematical notation.
2 Overview of Testing
There are three widely accepted approaches to testing the accuracy of function routines. In order
of decreasing resolution these are table-driven techniques [5, 6], comparison with higher-precision
computations, and evaluation of carefully selected identities. The first of these is capable of deter-
mining the error in a function evaluation to within a small fraction (typically 0.001 or less) of an
ulp (unit in the last place) and is by far the preferred method. Programs implementing this method1
Upcoming Pages
Here’s what’s next.
Search Inside
This report can be searched. Note: Results may vary based on the legibility of text within the document.
Tools / Downloads
Get a copy of this page or view the extracted text.
Citing and Sharing
Basic information for referencing this web page. We also provide extended guidance on usage rights, references, copying or embedding.
Reference the current page of this Report.
Cody, W.J. CELEFUNT: A portable test package for complex elementary functions, report, January 1, 1991; Illinois. (https://digital.library.unt.edu/ark:/67531/metadc1212515/m1/3/: accessed July 16, 2024), University of North Texas Libraries, UNT Digital Library, https://digital.library.unt.edu; crediting UNT Libraries Government Documents Department.