Entry Steele:1990:HPF from sigplan1990.bib

Last update: Thu Apr 12 03:37:15 MDT 2012                Valid HTML 3.2!

Index sections

Top | Symbols | Numbers | Math | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

BibTeX entry

@Article{Steele:1990:HPF,
  author =       "Guy L. {Steele, Jr.} and Jon L. White",
  title =        "How to Print Floating-Point Numbers Accurately",
  journal =      j-SIGPLAN,
  volume =       "25",
  number =       "6",
  pages =        "112--126",
  month =        jun,
  year =         "1990",
  CODEN =        "SINODQ",
  ISBN =         "0-89791-364-7",
  ISBN-13 =      "978-0-89791-364-5",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:15:53 MST 2003",
  bibsource =    "Compendex database; http://portal.acm.org/;
                 http://www.acm.org/pubs/contents/proceedings/pldi/93542/",
  note =         "See also input algorithm in
                 \cite{Clinger:1990:HRF,Clinger:2004:RHR}, and a faster
                 output algorithm in \cite{Burger:1996:PFP} and
                 \cite{Knuth:1990:SPW}, IBM S/360 algorithms in
                 \cite{Abbott:1999:ASS} for both IEEE 754 and S/360
                 formats, and a twenty-year retrospective in
                 \cite{Steele:2004:RHP}. In electronic mail dated Wed,
                 27 Jun 1990 11:55:36 EDT, Guy Steele reported that an
                 intrepid pre-SIGPLAN 90 conference implementation of
                 what is stated in the paper revealed 3 mistakes:
                 \begin{itemize} \item[1.] Table~5 (page 124):\par
                 \noindent insert {\tt k <-- 0} after assertion, and
                 also delete {\tt k <-- 0} from Table~6. \item[2.]
                 Table~9 (page 125):\par \noindent \begin{tabular} {ll}
                 for & {\tt -1:USER!({"}{"});} \\
                 substitute & {\tt -1:USER!({"}0{"});} \end{tabular}\par
                 \noindent and delete the comment. \item[3.] Table~10
                 (page 125):\par \noindent \begin{tabular}{ll} for &
                 {\tt fill(-k, {"}0{"})}\\
                 substitute & {\tt fill(-k-1, {"}0{"})} \end{tabular}
                 \end{itemize}
                 \def\EatBibTeXPeriod#1{\ifx#1.\else#1\fi}\EatBibTeXPeriod",
  URL =          "http://www.acm.org:80/pubs/citations/proceedings/pldi/93542/p112-steele/",
  abstract =     "Algorithms are presented for accurately converting
                 floating-point numbers to decimal representation. The
                 key idea is to carry along with the computation an
                 explicit representation of the required rounding
                 accuracy. The authors begin with the simpler problem of
                 converting fixed-point fractions. A modification of the
                 well-known algorithm for radix-conversion of
                 fixed-point fractions by multiplication explicitly
                 determines when to terminate the conversion process; a
                 variable number of digits are produced. They derive two
                 algorithms for free-format output of floating-point
                 numbers. Finally, they modify the free-format
                 conversion algorithm for use in fixed-format
                 applications. Information may be lost if the fixed
                 format provides too few digit positions, but the output
                 is always correctly rounded. On the other hand, no
                 `garbage digits' are ever produced, even if the fixed
                 format specifies too many digit positions (intuitively,
                 the `4/3 prints as 1.333333328366279602' problem does
                 not occur).",
  acknowledgement = ack-nhfb,
  affiliation =  "Thinking Machines Corp",
  affiliationaddress = "Cambridge, MA, USA",
  classification = "722; 723; C5230 (Digital arithmetic methods); C7310
                 (Mathematics)",
  confdate =     "20-22 June 1990",
  conference =   "Proceedings of the ACM SIGPLAN '90 Conference on
                 Programming Language Design and Implementation",
  conferenceyear = "1990",
  conflocation = "White Plains, NY, USA",
  confsponsor =  "ACM",
  journalabr =   "SIGPLAN Not",
  keywords =     "algorithms; computer programming languages; computers,
                 digital --- computational methods; conversion process;
                 decimal representation; design; digit positions;
                 explicit representation; fixed-format applications;
                 fixed-point fractions; floating point numbers;
                 floating-point numbers; free-format conversion
                 algorithm; free-format output; garbage digits;
                 performance; radix-conversion; rounding accuracy;
                 verification",
  remark =       "Published as part of the Proceedings of PLDI'90.",
  sponsor =      "Assoc for Computing Machinery, Special Interest Group
                 on Programming Languages",
  subject =      "{\bf F.2.1} Theory of Computation, ANALYSIS OF
                 ALGORITHMS AND PROBLEM COMPLEXITY, Numerical Algorithms
                 and Problems. {\bf G.1.0} Mathematics of Computing,
                 NUMERICAL ANALYSIS, General, Computer arithmetic.",
  thesaurus =    "Digital arithmetic; Mathematics computing",
  xxabstract =   "We present algorithms for accurately converting
                 floating-point numbers to decimal representation. The
                 key idea is to carry along with the computation an
                 explicit representation of the required rounding
                 accuracy. We begin with the simpler problem of
                 converting fixed-point fractions. A modification of the
                 well-known algorithm for radix-conversion of
                 fixed-point fractions by multiplication explicitly
                 determines when to terminate the conversion process; a
                 variable number of digits are produced. We then derive
                 two algorithms for free-format output of floating-point
                 numbers. Finally, we modify the free-format conversion
                 algorithm for use in fixed-format applications.",
}

Related entries