Bibliography of material on Decimal Arithmetic [Index]

Decimal Arithmetic: Requirements

think 10

An Ada Decimal Arithmetic Capability, Benjamin M. Brosgol, Robert I. Eachus, and David E. Emery, CrossTalk, The Journal of Defense Software Engineering, Number 36, 8 (approx)pp, US Air Force Software Technology Support Center, September 1992.
Abstract: (None.)
    Support for financial processing requires suitable arithmetic facilities, representation control, and formatted output. This paper ... describes the possible approaches to the problem, the solution that the authors have developed, and the rationale for the choice. The name chosen for the solution, ADAR, stands for “Ada Decimal Arithmetic and Representations”

Note: Probably the same as or very similar to “Decimal arithmetic in Ada” by the same authors in the same year.
Information Systems Development in Ada, Benjamin M. Brosgol, Robert I. Eachus, and David E. Emery, Eleventh Annual Washington Ada Symposium, pp2–16, ACM Press, June 1994.
Abstract: (None.)
    In this paper we survey how to use Ada (both Ada 83 and Ada 9X) for IS applications, with a focus on two principal issues: Specification of the information architecture of an IS application, and Programming techniques relevant to financial and related applications.
    We cover both the language features and the supplemental packages for IS development. Special attention will be paid to the Ada Decimal-Associated Reusabilia (“ADAR”) components for Ada 83 and transitioning to Ada 9X.
A Proposed Radix- and Word-length-independent Standard for Floating-point Arithmetic, W. J. Cody, J. T. Coonen, D. M. Gay, K. Hanson, D. Hough, W. Kahan, R. Karpinski, J. Palmer, F. N. Ris, and D. Stevenson, IEEE Micro magazine, Vol. 4 #4, pp86–100, IEEE, August 1984.
Abstract: This article places [Draft 1.0 of IEEE 854] before the public for the first time. ... This article also includes material that describes how decisions were reached in preparing the P854 draft and explains how to overcome some of the implementation problems.
Note: Reprinted in ACM SIGNUM, Vol. 20, #1, pp35-51, 1985.
CADAC: A Controlled-Precision Decimal Arithmetic Unit, Marty S. Cohen, T. E. Hull, and V. Carl Hamacher, IEEE Transactions on Computers, Vol. 32 #4, pp370–377, IEEE, April 1983.
Abstract: This paper describes the design of an arithmetic unit called CADAC (clean arithmetic with decimal base and controlled precision). Programming language specifications for carrying out “ideal” floating-point arithmetic are described first. These specifications include detailed requirements for dynamic precision control and exception handling, along with both complex and interval arithmetic at the level of a programming language such as Fortran or PL/I.
    CADAC is an arithmetic unit which performs the four floating-point operations add/subtract/multiply/divide on decimal numbers in such a way as to support all the language requirements efficiently. A three-level pipeline is used to overlap two-digit-at-a-time serial processing of the partial products/remainders. Although the logic design is relatively complex, the performance is efficient, and the advantages gained by implementing programmer-controlled precision directly in the hardware are significant.
The Design of the REXX Language, M. F. Cowlishaw, IBM Systems Journal, Vol. 23 #4, pp326–335, IBM (Offprint # G321-5228), 1984.
Abstract: One way of classifying computer languages is by two classes: languages needing skilled programmers, and personal languages used by an expanding population of general users. REstructured eXtended eXecutor (REXX) is a flexible personal language designed with particular attention to feedback from its users. It has proved to be effective and easy to use, yet it is sufficiently general and powerful to fulfill the needs of many demanding professional applications. REXX is system and hardware independent, so that it has been possible to integrate it experimentally into several operating systems. Here REXX is used for such purposes as command and macro programming, prototyping, education, and personal programming. This study introduces REXX and describes the basic design principles that were followed in developing it.
Note: First published as IBM Hursley Technical Report TR12.223, October 1983.
Decimal Floating-Point: Algorism for Computers, Michael F. Cowlishaw, Proceedings of the 16th IEEE Symposium on Computer Arithmetic, ISBN 0-7695-1894-X, pp104–111, IEEE, June 2003.
Abstract: Decimal arithmetic is the norm in human calculations, and human-centric applications must use a decimal floating-point arithmetic to achieve the same results.
    Initial benchmarks indicate that some applications spend 50% to 90% of their time in decimal processing, because software decimal arithmetic suffers a 100× to 1000× performance penalty over hardware. The need for decimal floating-point in hardware is urgent.
    Existing designs, however, either fail to conform to modern standards or are incompatible with the established rules of decimal arithmetic. This paper introduces a new approach to decimal floating-point which not only provides the strict results which are necessary for commercial applications but also meets the constraints and requirements of the IEEE 854 standard.
    A hardware implementation of this arithmetic is in development, and it is expected that this will significantly accelerate a wide variety of applications.

Note: Softcopy is available in PDF.
Computation with Approximate Numbers, Daniel B. Delury, The Mathematics Teacher 51, pp521–530, November 1958.
Abstract: There is room, I think, for the view that it is improper to speak at all of “approximate numbers”...
Note: Reprinted with permission of the Canadian School.
The Introduction of the Euro and the Rounding of Currency Amounts, European Commission Directorate General II, II/28/99-EN Euro Papers No. 22., 32pp, DGII/C-4-SP(99) European Commission, March 1998, February 1999.
Abstract: The purpose of the present document is to respond in a systematic manner to the various questions on rounding which the Commission services have received since the adoption of the Council regulation on certain provisions relating to the introduction of the euro in June 1997. 4 To this end it tries to clarify the interpretation of the rounding provisions in the legal framework of the euro and to give guidance on technical aspects of rounding.
Desirable Floating-Point Arithmetic and Elementary Functions for Numerical Computation, T. E. Hull, ACM Signum Newsletter, Vol. 14 #1 (Proceedings of the SIGNUM Conference on the Programming Environment for Development of Numerical Software), pp96–99, ACM Press, 1978.
Abstract: The purpose of this talk is to summarize proposed specifications for floating-point arithmetic and elementary functions. The topics considered are: the base of the number system, precision control, number representation, arithmetic operations, other basic operations, elementary functions, and exception handling. The possibility of doing without fixed-point arithmetic is also mentioned. The specifications are intended to be entirely at the level of a programming language such as Fortran. The emphasis is on convenience and simplicity from the user’s point of view. Conforming to such specifications would have obvious beneficial implications for the portability of numerical software, and for proving programs correct, as well as attempting to provide facilities which are most suitable for the user. The specifications are not complete in every detail, but it is intended that they be complete “in spirit” – some further details, especially syntactic details, would have to be provided, but the proposals are otherwise relatively complete.
Note: Also in Proceedings of the IEEE 4th Symposium on Computer Arithmetic pp63-69.
Principles, Preferences and Ideals for Computer Arithmetic, Thomas E. Hull, Christian H. Reinsch, and John R. Rice, CSD-TR-339, 13pp, Dept. of Computer Science, Purdue University, June 1980.
Abstract: This paper presents principles and preferences for the implementation of computer arithmetic and ideals for the arithmetic facilities in future programming languages. The implementation principles and preferences are for the current approaches to the design of arithmetic units. The ideals are for the long term development of programming languages, with the hope that arithmetic units will be built to support the requirements of programming languages.
Toward an Ideal Computer Arithmetic, T. E. Hull and M. S. Cohen, Proceedings of the 8th Symposium on Computer Arithmetic, pp131–138, IEEE, May 1987.
Abstract: A new computer arithmetic is described. Closely related built-in functions are included. A user’s point of view is taken, so that the emphasis is on what language features are available to a user. The main new feature is flexible precision control of decimal floating-point arithmetic. It is intended that the language facilities be sufficient for describing numerical processes one might want to implement, while at the same time being simple to use, and implementable in a reasonably efficient manner. Illustrative examples are based on experience with an existing software implementation.
Specifications for a Variable-Precision Arithmetic Coprocessor, T. E. Hull, M. S. Cohen, and C. B. Hall, Proceedings. 10th Symposium on Computer Arithmetic, ISBN 0-8186-9151-4, pp127–131, IEEE, 1991.
Abstract: The authors have been developing a programming system intended to be especially convenient for scientific computing. Its main features are variable precision (decimal) floating-point arithmetic and convenient exception handling. The software implementation of the system has evolved over a number of years, and a partial hardware implementation of the arithmetic itself was constructed and used during the early stages of the project. Based on this experience, the authors have developed a set of specifications for an arithmetic coprocessor to support such a system. The main purpose of this paper is to describe these specifications. An outline of the language features and how they can be used is also provided, to help justify our particular choice of coprocessor specifications.
The Official "Do Not Use" List, The Joint Commission, URL:, 1p, 2006.
Abstract: In May 2005, The Joint Commission affirmed its “do not use” list of abbreviations. The list was originally created in 2004 by the Joint Commission as part of the requirements for meeting National Patient Safety Goal (NPSG) requirement 2B (Standardize a list of abbreviations, acronyms and symbols that are not to be used throughout the organization). Summit conclusions were posted on the Joint Commission website for public comment. During the four-week comment period, the Joint Commission received 5,227 responses, including 15,485 comments. More than 80 percent of the respondents supported the creation and adoption of a “do not use” list.
Mathematics Written in Sand, W. Kahan, Proc. Joint Statistical Mtg. of the American Statistical Association, pp12–26, American Statistical Association, 1983.
Abstract: Simplicity is a Virtue; yet we continue to cram ever more complicated circuits ever more densely into silicon chips, hoping all the while that their internal complexity will promote simplicity of use. This paper exhibits how well that hope has been fulfilled by several inexpensive devices widely used nowadays for numerical computation. One of them is the Hewlett-Packard hp-15C programmable shirtpocket calculator, on which only a few keys need be pressed to perform tasks like these:
    Real and Complex arithmetic, including the elementary transcendental functions and their inverses; Matrix arithmetic including inverse, transpose, determinant, residual, norms, prompted input/output and complex-real conversion; Solve an equation and evaluate an Integral numerically; simple statistics; G and combinatorial functions; ...
    For instance, a stroke of its [1/X] key inverts an 8x8 matrix of 10-sig.-dec. numbers in 90 sec.
    This calculator costs under $100 by mail-order. Mathematically dense circuitry is also found in Intel’s 8087 coprocessor chip, currently priced below $200, which has for two years augmented the instruction repertoire of the 8086 and 8088 microcomputer chips to cope with ...
    Three binary floating-point formats 32, 64 and 80 bits wide; three binary integer formats 16, 32 and 64 bits wide; 18-digit BCDecimal integers; rational arithmetic, square root, format conversion and exception handling all in conformity with p754, the proposed IEEE arithmetic standard (see “Computer” Mar. 1, 1981); the kernels of transcendental functions exp, log, tan and arctan; and an internal stack of eight registers each 80 bits wide.
    For instance, the 8087 has been used to invert a 100x100 matrix of 64-bit floating-point numbers in 90 sec. Among the machines that can use this chip are the widely distributed IBM Personal Computers, each containing a socket already wired for an 8087. Several other manufacturers now produce arithmetic engines that, like the 8087, conform to the proposed IEEE arithmetic standard, so software that exploits its refined arithmetic properties should be widespread soon.
    As sophisticated mathematical operations come into use ever more widely, mathematical proficiency appears to rise; in a sense it actually declines. Computations formerly reserved for experts lie now within reach of whoever might benefit from them regardless of how little mathematics he understands; and that little is more likely to have been gleaned from handbooks for calculators and personal computers than from professors. This trend is pronounced among users of financial calculators like the hp-12C. Such trends ought to affect what and how we teach, as well as how we use mathematics, regardless of whether large fast computers, hitherto dedicated mostly to speed, ever catch up with some smaller machines’ progress towards mathematical robustness and convenience.
ERMETH: The First Swiss Computer, Hans Heukom, IEEE Annals of the History of Computing, pp5–22, IEEE, October 2005.
Abstract: Eduard Stiefel, in 1948 the first director of the Federal Institute of Technology’s newly established Institute of Applied Mathematics, recognized that computers would be essential to this new field of mathematics. Unable to find exactly what he wanted in existing computers, Stiefel developed the ERMETH. This article examines the rationale of, and objectives for, the first Swiss computer.
Principles and Preferences for Computer Arithmetic, Christian H. Reinsch, ACM SIGNUM Vol. 14 #1, pp12–27, ACM Press, March 1979.
Abstract: This working paper arose out of discussions on desirable hardware features for numerical calculation in the IFIP Working Group 2.5 on Numerical Software. It reflects the views of all members of the group, although no formal vote of approval has been taken; it is not an official IFIP document. Many people contributed ideas to this paper, especially T. J. Dekker, C. W. Gear, T. E. Hull, J. R. Rice, and J. L. Schonfeldor.
Supporting packed decimal in Ada, David A. Rosenfeld, Proceedings of the conference on TRI-Ada '91, ISBN 0-89791-445-7, pp187–190, ACM Press, 1991.
Abstract: One of the principal barriers to Ada in the Information Systems (IS) marketplace is that Ada compilers do not support decimal arithmetic and a packed decimal representation for numbers. An Ada apologist could argue that Ada as a language does support these featurtx, but such arguments do little to help a COBOL programmer, accustomed to manipulating decimal quantities in a straightforward way. Our project, under contract to the Army, is addressing the problem directly, by implementing packed decimal numbers in its MVS Ada Compiler. T his paper will discuss the possible approaches to the problem, and explain the approach selected, comparing it briefly with other solutions...
Floating Point Number Format with Number System with Base of 1000, Y. Takashi, IBM Technical Disclosure Bulletin, 01-98, pp609–610, IBM, January 1998.
Abstract: Disclosed is a use number system with a base of 1000 instead of 2 at the mantissa part of a floating point number. The unit is 10 bit. Each 10 bit keeps the value between 0 and 1000. This format is superior to Binary Coded Decimal (BCD) because it can keep more decimal numbers in the same size. This format is superior to binary because 1000 is 100 times of 10, and it makes no difference when converted to/from human’s decimal format.
Experimental Computer for Schools, D. M. Taub, C. E. Owen, and B. P.. Day, Proceedings of the IEE, Vol. 117 #2, pp303–312, IEE, February 1970.
Abstract: The computer is a small desk-top machine designed for teaching schoolchildren how computers work. It works in decimal notation and has a powerful instruction set which includes 3-address floating-point instructions implemented as ‘extracode’ subroutines. Addressing can be absolute, relative or indirect. For input it uses a capacitive touch keyboad, and for output and display a perfectly normal TV receiver is used. Another input/output device is an ordinary domestic tape recorder, used mainly for long term storage of programs. To make the operation of the machine easy to follow, it can be made to stop at certain stages in the processing of an instruction and automaticaly display the contents of all registers and storage locations relevant at that time. The paper gives a description of the machine and a discussion of the factors that hav influenced its design.
A Study of DataBase 2 Customer Queries, Annie Tsang and Manfred Olschanowsky, IBM Technical Report TR 03.413, 25pp, IBM Santa Teresa Laboratory, San Jose, CA, April 1991.
Abstract: Over 200 Database 2 read-only and update queries were collected from 30 major DB2 customers during 1989 and 1990. These queries were considered representative of customers using DB2. Analysis of these queries were made in order to determine their characteristics and also to determine which SQL funetions were commonly used and how frequently they were used by these customers.
    Results of this study can be used in various ways, induding:
  • provide input to the planning and development organizations to enable them to implement new functions, enhance existing functions, and improve performance of functions that are most commonly used by customers.
  • allow developers to develop realistic workloads for benchmarking.

The 20 references listed on this page are selected from the bibliography on Decimal Arithmetic collected by Mike Cowlishaw. Please see the index page for more details and other categories.

Last updated: 10 Mar 2011
Some elements Copyright © IBM Corporation, 2002, 2009. All rights reserved.