diff --git a/fp.texi b/fp.texi index d3301d9..052e564 100644 --- a/fp.texi +++ b/fp.texi @@ -1628,6 +1628,12 @@ results. There are a few good references that we recommend for further reading, and for finding other important material about computer arithmetic: +We include URLs for these references when we were given them, when +they are morally legitimate to recommend; we have omitted the URLs +that are paywalled or that require running nonfree JavaScript code in +order to function. We hope you can find morally legitimate sites +where you can access these works. + @c ===================================================================== @c Each bibliography item has a sort key, so the bibliography can be @c sorted in emacs with M-x sort-paragraphs on the region with the items. @@ -1635,21 +1641,20 @@ about computer arithmetic: @itemize @bullet +@c Paywalled. @item @c sort-key: Abbott Paul H. Abbott and 15 others, @cite{Architecture and software support in IBM S/390 Parallel Enterprise Servers for IEEE Floating-Point arithmetic}, IBM Journal of Research and Development @b{43}(5/6) -723--760 (1999), -@uref{https://doi.org/10.1147/rd.435.0723}. This article gives -a good description of IBM's algorithm for exact decimal-to-binary -conversion, complementing earlier ones by Clinger and others. +723--760 (1999), This article gives a good description of IBM's +algorithm for exact decimal-to-binary conversion, complementing +earlier ones by Clinger and others. +@c Paywalled. @item @c sort-key: Beebe Nelson H. F. Beebe, @cite{The Mathematical-Function Computation Handbook: Programming Using the MathCW Portable Software Library}, -Springer (2017), ISBN 3-319-64109-3 (hardcover), 3-319-64110-7 (e-book) -(xxxvi + 1114 pages), -@uref{https://doi.org/10.1007/978-3-319-64110-2}. +Springer (2017). This book describes portable implementations of a large superset of the mathematical functions available in many programming languages, extended to a future 256-bit format (70 decimal @@ -1658,21 +1663,23 @@ a substantial portion of the functions described in the famous @cite{NIST Handbook of Mathematical Functions}, Cambridge (2018), ISBN 0-521-19225-0. See -@uref{https://www.math.utah.edu/pub/mathcw} +@uref{https://www.math.utah.edu/pub/mathcw/} for compilers and libraries. +@c URL ok @item @c sort-key: Clinger-1990 William D. Clinger, @cite{How to Read Floating Point Numbers Accurately}, ACM SIGPLAN Notices @b{25}(6) 92--101 (June 1990), @uref{https://doi.org/10.1145/93548.93557}. See also the papers by Steele & White. -@item @c sort-key: Clinger-2004 -William D. Clinger, @cite{Retrospective: How to read floating -point numbers accurately}, ACM SIGPLAN Notices @b{39}(4) 360--371 (April 2004), -@uref{https://doi.acm.org/10.1145/989393.989430}. Reprint of 1990 paper, -with additional commentary. +@c Paywalled. +@c @item @c sort-key: Clinger-2004 +@c William D. Clinger, @cite{Retrospective: How to read floating +@c point numbers accurately}, ACM SIGPLAN Notices @b{39}(4) 360--371 (April 2004), +@c Reprint of 1990 paper, with additional commentary. +@c URL ok @item @c sort-key: Goldberg-1967 I. Bennett Goldberg, @cite{27 Bits Are Not Enough For 8-Digit Accuracy}, Communications of the ACM @b{10}(2) 105--106 (February 1967), @@ -1681,6 +1688,7 @@ and its companions by David Matula, address the base-conversion problem, and show that the naive formulas are wrong by one or two digits. +@c URL ok @item @c sort-key: Goldberg-1991 David Goldberg, @cite{What Every Computer Scientist Should Know About Floating-Point Arithmetic}, ACM Computing Surveys @b{23}(1) @@ -1690,6 +1698,7 @@ This paper has been widely distributed, and reissued in vendor programming-language documentation. It is well worth reading, and then rereading from time to time. +@c ??? site does not respond, 20 Sep 2022 @item @c sort-key: Juffa Norbert Juffa and Nelson H. F. Beebe, @cite{A Bibliography of Publications on Floating-Point Arithmetic}, @@ -1706,6 +1715,7 @@ Abbott, Clinger, and Steele & White papers cited earlier contain pointers to several other important related papers on the base-conversion problem. +@c URL ok @item @c sort-key: Kahan William Kahan, @cite{Branch Cuts for Complex Elementary Functions, or Much Ado About Nothing's Sign Bit}, (1987), @@ -1724,18 +1734,19 @@ University of California, Berkeley, have gone on to careers in academic and industry, spreading the knowledge of how to do floating-point arithmetic right. +@c paywalled @item @c sort-key: Knuth Donald E. Knuth, @cite{A Simple Program Whose Proof Isn't}, in @cite{Beauty is our business: a birthday salute to Edsger W. Dijkstra}, W. H. J. Feijen, A. J. M. van Gasteren, D. Gries, and J. Misra (eds.), Springer (1990), ISBN -1-4612-8792-8, -@uref{https://doi.org/10.1007/978-1-4612-4476-9}. This book +1-4612-8792-8, This book chapter supplies a correctness proof of the decimal to binary, and binary to decimal, conversions in fixed-point arithmetic in the TeX typesetting system. The proof evaded its author for a dozen years. +@c URL ok @item @c sort-key: Matula-1968a David W. Matula, @cite{In-and-out conversions}, Communications of the ACM @b{11}(1) 57--50 (January 1968), @@ -1747,38 +1758,39 @@ Proceedings of the American Mathematical Society @b{19}(3) 716--723 (June 1968). See also other papers here by this author, and by I. Bennett Goldberg. +@c page is blank without running JS. @item @c sort-key: Matula-1970 David W. Matula, @cite{A Formalization of Floating-Point Numeric Base Conversion}, IEEE Transactions on Computers @b{C-19}(8) 681--692 (August 1970), -@uref{https://doi.org/10.1109/T-C.1970.223017}. +@c page is blank without running JS. @item @c sort-key: Muller-2010 Jean-Michel Muller and eight others, @cite{Handbook of Floating-Point Arithmetic}, Birkh@"auser-Boston (2010), ISBN -0-8176-4704-X (xxiii + 572 pages), -@uref{https://doi.org/10.1007/978-0-8176-4704-9}. This is a +0-8176-4704-X (xxiii + 572 pages). This is a comprehensive treatise from a French team who are among the world's greatest experts in floating-point arithmetic, and among the most prolific writers of research papers in that field. They have much to teach, and their book deserves a place on the shelves of every serious numerical programmer. +@c paywalled @item @c sort-key: Muller-2018 Jean-Michel Muller and eight others, @cite{Handbook of Floating-Point Arithmetic}, Second edition, Birkh@"auser-Boston (2018), ISBN -3-319-76525-6 (xxv + 627 pages), -@uref{https://doi.org/10.1007/978-3-319-76526-6}. This is a new +3-319-76525-6 (xxv + 627 pages). This is a new edition of the preceding entry. +@c URL given is obsolete @item @c sort-key: Overton Michael Overton, @cite{Numerical Computing with IEEE Floating Point Arithmetic, Including One Theorem, One Rule of Thumb, and One Hundred and One Exercises}, SIAM (2001), ISBN 0-89871-482-6 (xiv + 104 pages), -@uref{https://www.ec-securehost.com/SIAM/ot76.html}. This is a small volume that can be covered in a few hours. +@c URL ok @item @c sort-key: Steele-1990 Guy L. Steele Jr. and Jon L. White, @cite{How to Print Floating-Point Numbers Accurately}, ACM SIGPLAN Notices @@ -1786,11 +1798,11 @@ Floating-Point Numbers Accurately}, ACM SIGPLAN Notices @uref{https://doi.org/10.1145/93548.93559}. See also the papers by Clinger. +@c paywalled @item @c sort-key: Steele-2004 Guy L. Steele Jr. and Jon L. White, @cite{Retrospective: How to Print Floating-Point Numbers Accurately}, ACM SIGPLAN Notices -@b{39}(4) 372--389 (April 2004), -@uref{https://doi.acm.org/10.1145/989393.989431}. Reprint of 1990 +@b{39}(4) 372--389 (April 2004), Reprint of 1990 paper, with additional commentary. @item @c sort-key: Sterbenz