A precision- and range-independent tool for testing floating-point arithmetic II: conversions

  • Authors:
  • Brigitte Verdonk;Annie Cuyt;Dennis Verschaeren

  • Affiliations:
  • Univ. of Antwerp, Antwerp, Belgium;Univ. of Antwerp, Antwerp, Belgium;Univ. of Antwerp, Antwerp, Belgium

  • Venue:
  • ACM Transactions on Mathematical Software (TOMS)
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

The IEEE 754 and 854 standards for floating-point arithmetic are essentially a specification of a programming environment, encompassing aspects from computer hardware, operating systems, and compilers to programming languages (see especially Section 8). Parts I and II of this paper together describe a tool to test floating-point implementations of arbitrary precision and exponent range (hardware as well as software) for compliance with the principles outlined in the IEEE standards. The tool consists of a driver program, together with a very large set of test vectors encoded in a precision-independent syntax. In Part I we have convered the testing of the basic operaitons +, −, ×, / and of the square root and remainder functions. In Part II we describe the extension of the test tool to deal with conversions between floating-point formats, conversions between floating-point and integer formats, the rounding of floating-point numbers to integral values, and binary-decimal conversions. Conversions can now be tested from a floating-point format of arbitrary precision and exponent range to another arbitrary smaller (larger) floating-point format as well as to and from fixed hardware integer formats. Conversion between the bases 2 and 10 can be tested for a number of precisions ranging from sing (24 bits), double (53 bits), long double or extended (64 bits) to quadruple (113 bits) precisioon and a proper multiprecision (240 bits) format. We conclude Part II with some applications of our test tool and report on the results of testing various floating-point implementations, meaning various language-compiler-hardware combinations as well as multiprecision libraries.