This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
On Basic Financial Decimal Operations on Binary Machines
Aug. 2012 (vol. 61 no. 8)
pp. 1084-1096
Abhilasha Aswal, International Institute of Information Technology, Bangalore and Infosys Limited, Bangalore
M. Ganesh Perumal, International Institute of Information Technology, Bangalore and Infosys Limited, Bangalore
G.N. Srinivasa Prasanna, International Institute of Information Technology, Bangalore
Financial transactions are specified in decimal arithmetic. Until the introduction of IEEE 754-2008, specialized software/hardware routines were used to perform these transactions but it incurred a penalty on performance. In this paper, we show that if binary arithmetic is used to emulate decimal operations, then arbitrary error sequences can be generated by carefully chosen sequences of transactions which can lead to monotonically increasing/decreasing capitalization errors. In addition, we describe methods for correctly performing basic decimal operations, such as addition, subtraction, multiplication, and division, on binary machines, which are not conformant with IEEE 754-2008 decimal floating point standard (ISO/IEC/IEEE 60559:2011), at high speed.

[1] D. Goldberg, "What Every Computer Scientist Should Know about Floating-Point Arithmetic," Computing Surveys, vol. 23, pp. 5-48, 1991.
[2] N.J. Higham, "The Accuracy of Floating Point Summation," SIAM J. Scientific Computing, vol. 14, pp. 783-799, July 1993.
[3] M.F. Cowlishaw, "General Decimal Arithmetic," http:// speleotrove.comdecimal/, 2012.
[4] M.F. Cowlishaw, "Decimal Floating-Point: Algorism for Computers," Proc. IEEE 16th Symp. Computer Arithmetic, 2003.
[5] P.M. Cohen, "Reflections on Early Computers," http://www. paulcweb.com/reflectChap04.html , 2012.
[6] J. von Neumann, "First Draft of a Report on the EDVAC," IEEE Annals of the History of Computing, vol. 15, no. 4, pp. 27-75, Oct. 1993.
[7] W. Kahan, IEEE Standard 754 for Binary Floating-Point Arithmetic," Standards Committee of the IEEE CS, 1996.
[8] W.H. Press, S.A. Teukolsky, W.T. Vetterling, and B.P. Flannery, Numerical Recipes in C, second ed. Cambridge Univ. Press, 1992.
[9] "The ${\rm ASTR}\acute{E}{\rm E}$ Static Analyzer," http:/www.astree.ens.fr/, 2012.
[10] D. Knuth, "Chapter 4 - Arithmetic," The Art of Computer Programming: Seminumerical Algorithms, third ed. Addison-Wesley, 1997.
[11] W. Kahan, "Floating-Point Arithmetic Besieged by Business Decisions," Proc. IEEE 17th Symp. Computer Arithmetic, 2010.
[12] J.-M. Muller, N. Brisebarre, F. de Dinechin, C.-P. Jeannerod, V. Lefevre, G. Melquiond, N. Revol, D. Stehle, and S. Torres, Handbook of Floating-Point Arithmetic. Springer, 2010.
[13] "Online Binary-Decimal Converter," http://www.binaryconvert. comindex.html, 2012.
[14] M.J. Anderson, C. Tsen, L.-K. Wang, K. Compton, and M.J Schulte, "Performance Analysis of Decimal Floating-Point Libraries and Its impact on Decimal Hardware and Software Solutions," Proc. IEEE Int'l Conf. Computer Design, pp. 465-471, Oct. 2009.
[15] Intel, Intel 64 and IA-32 Architectures Software Developers Manual, vol. 1: Basic Architecture, 2009.
[16] A. Fog, "Instruction Tables," http://www.agner.org/optimizeinstruction_tables.pdf , 2012.
[17] E. Uren, R. Howard, and T. Perinotti, Software Internationalization and Localization: An Introduction. John Wiley & Sons, 1993.
[18] T. Benchmark, http://speleotrove.com/decimal/telcoSpec.html, 2012.
[19] Decimal Floating-Point (DFP) Benchmarks, http://mesa.ece. wisc.edudisplay_project.php?projectid=10 , 2012.
[20] D.M. Gay, Correctly Rounded Binary-Decimal and Decimal-Binary Conversions. Numerical Analysis Manuscript 90-10, Murray Hill, NJ: AT&T Bell Laboratories, 1990.
[21] M. Cornea, J. Harrison, C. Anderson, P. Tang, E. Schneider, and E. Gvozdev, "A Software Implementation of the IEEE 754R Decimal Floating-Point Arithmetic Using the Binary Encoding Format," IEEE Trans. Computers, vol. 58, no. 2, pp. 148-162, Feb. 2009.
[22] L.-K. Wang, C. Tsen, M.J. Schulte, and D. Jhalani, "Benchmarks and Performance Analysis of Decimal Floating-Point Applications," Proc. IEEE 25th Int'l Conf. Computer Design, pp. 164-170, Oct. 2007.
[23] ANSI/IEEE Standard for Floating-Point Arithmetic, IEEE Standard, pp. 754-1985, 1985.
[24] IEEE Standard for Floating-Point Arithmetic, IEEE Standard 754-2008, 2008.
[25] The Int'l Version of IEEE 754-2008, ISO/IEC/IEEE 60559:2011, http://www.iso.org/isocatalogue_detail.htm?csnumber=57469 , 2012.
[26] S. Carlough, A. Collura, S. Mueller, and M. Kroener, "The IBM zEnterprise-196 Decimal Floating-Point Accelerator," Proc. IEEE 20th Symp. Computer Arithmetic, 2011.

Index Terms:
Floating-point arithmetic, IEEE 754 standards, computer arithmetic.
Citation:
Abhilasha Aswal, M. Ganesh Perumal, G.N. Srinivasa Prasanna, "On Basic Financial Decimal Operations on Binary Machines," IEEE Transactions on Computers, vol. 61, no. 8, pp. 1084-1096, Aug. 2012, doi:10.1109/TC.2012.89
Usage of this product signifies your acceptance of the Terms of Use.