Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Standardization and testing of implementations of mathematical functions in floating point numbers
Kuliamin V. Programming and Computing Software33 (3):154-173,2007.Type:Article
Date Reviewed: Oct 26 2007

Standards are important in all areas of computing. They provide consistency, and allow implementations to be verified for conformance. The IEEE Standard for Binary Floating-Point Arithmetic (IEEE 754) was responsible for ensuring that (almost) all modern floating-point implementations use the same representations for single and double precision numbers, and produce the same results for the basic operations of addition, subtraction, multiplication, division, comparison, and type conversion, along with the single mathematical function square root.

The existence of the standard means that algorithms using floating-point arithmetic can be analyzed once to determine the effects of rounding errors on the final computed results. No comparable standard exists for the other basic mathematical functions, such as sine (sin), cosine (cos), exponential function (exp), and logarithm (log). The generation of such a standard, along with a means of producing conformance verification tests, would allow the level of reliability and rounding error analyses to be improved further.

Various approaches to producing a standard, based on IEEE 754, for the implementation of mathematical functions have appeared, although none have provided a complete framework on their own. The contribution of this paper is to draw together these approaches in order to form a complete framework. In addition, the author also presents a novel method for the design and implementation of verification test suites.

The core of the paper is a detailed description of all the individual properties of mathematical functions that need to be considered (the vast majority of these are presented with an illustrative example), along with the construction of the verification tests. This is followed by the practical application of the framework to the exponential function, and a report on the results of running the resultant conformance tests on a set of 17 different hardware/software configurations. This section is well worth dipping into, especially for reports of exp(1) returning a value of just over 4.0 on one system: rounding, but not as we understand it!

This well-written paper contains a mine of information for anyone wanting insight into the detailed considerations necessary to ensure accurately rounded results from floating-point implementations of mathematical functions. As such, it is not a paper for beginners, although they may find some of the examples and results of the tests illuminating.

Reviewer:  T. Hopkins Review #: CR134875 (0809-0895)
Bookmark and Share
  Reviewer Selected
Editor Recommended
Featured Reviewer
 
 
Multiple Precision Arithmetic (G.1.0 ... )
 
 
Numerical Algorithms (G.1.0 ... )
 
 
Numerical Algorithms And Problems (F.2.1 )
 
Would you recommend this review?
yes
no
Other reviews under "Multiple Precision Arithmetic": Date
Classification of computably approximable real numbers
Zheng X. Theory of Computing Systems 43(3): 603-624, 2008. Type: Article
Jul 21 2009

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy