Last update: Thu Apr 12 03:37:15 MDT 2012
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{Clinger:1990:HRF,
author = "William D. Clinger",
title = "How to Read Floating Point Numbers Accurately",
journal = j-SIGPLAN,
volume = "25",
number = "6",
pages = "92--101",
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;
garbo.uwasa.fi:/pc/doc-soft/fpbiblio.txt;
http://portal.acm.org/;
http://www.acm.org/pubs/contents/proceedings/pldi/93542/",
note = "See also output algorithms in
\cite{Knuth:1990:SPW,Steele:1990:HPF,Burger:1996:PFP,Abbott:1999:ASS,Steele:2004:RHP}.",
URL = "http://www.acm.org:80/pubs/citations/proceedings/pldi/93542/p92-clinger/",
abstract = "Consider the problem of converting decimal scientific
notation for a number into the best binary floating
point approximation to that number, for some fixed
precision. This problem cannot be solved using
arithmetic of any fixed precision. Hence the IEEE
Standard for Binary Floating-Point Arithmetic does not
require the result of such a conversion to be the best
approximation. This paper presents an efficient
algorithm that always finds the best approximation. The
algorithm uses a few extra bits of precision to compute
an IEEE-conforming approximation while testing an
intermediate result to determine whether the
approximation could be other than the best. If the
approximation might not be the best, then the best
approximation is determined by a few simple operations
on multiple-precision integers, where the precision is
determined by the input. When using 64 bits of
precision to compute IEEE double precision results, the
algorithm avoids higher-precision arithmetic over 99\%
of the time.",
acknowledgement = ack-nhfb # " and " # ack-nj,
affiliation = "Oregon Univ., Eugene, OR, USA",
annote = "Published as part of the Proceedings of PLDI'90.",
classification = "722; 723; C1160 (Combinatorial mathematics); 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; Best binary floating point approximation;
Computer Programming Languages; Computers, Digital ---
Computational Methods; Decimal scientific notation;
Design; Efficient algorithm; experimentation; Fixed
precision; Floating point numbers; Floating Point
Numbers; Higher-precision arithmetic; IEEE double
precision results; IEEE Standard; IEEE-conforming
approximation; Intermediate result; Multiple-precision
integers",
meetingaddress = "White Plains, NY, USA",
meetingdate = "Jun 20--22 1990",
meetingdate2 = "06/20--22/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. {\bf
G.1.2} Mathematics of Computing, NUMERICAL ANALYSIS,
Approximation.",
thesaurus = "Digital arithmetic; Mathematics computing; Number
theory; Standards",
}
Related entries
- Abbott:1999:ASS,
25(6)112,
31(5)108
- accurately,
25(6)112,
27(7)273,
27(9)238,
28(6)187,
29(6)73,
29(11)132-1,
30(8)134,
30(8)207,
31(5)108
- ALGORITHMS,
25(6)40,
25(6)66,
25(6)102,
25(6)112,
25(6)137,
25(6)150,
25(6)234,
25(6)272,
25(6)322,
25(6)337,
26(6)30,
26(6)130,
26(6)192,
26(6)204,
26(6)241,
26(6)256,
27(7)140,
27(9)98,
27(9)238,
28(3)363,
28(6)78-1,
28(6)268,
28(6)278,
28(6)290,
29(6)61,
29(6)85,
29(6)97,
29(6)121,
29(6)171,
29(6)218,
29(6)302,
30(6)32,
30(6)47,
30(6)56,
30(6)139,
30(6)186,
30(6)246,
30(6)279,
30(11)7,
30(11)60,
30(11)134,
31(5)108,
31(5)193,
31(9)60,
32(5)194,
32(5)334,
33(5)72,
33(5)85-1,
33(5)142,
33(11)24,
33(11)262,
33(11)272
- always,
25(6)112,
25(6)127-1,
28(3)361,
28(7)229,
30(6)233,
30(6)279,
30(8)80-1,
30(8)179
- any,
25(4)73,
27(7)82,
27(7)116,
27(7)175,
27(7)200,
27(7)224,
27(7)273,
27(7)311,
28(3)69,
28(3)177,
28(3)359,
28(3)367,
28(6)177,
28(6)197,
28(8)90,
29(11)232,
29(11)242,
30(6)67,
30(6)186,
30(6)196,
30(6)218,
30(11)41,
30(11)134,
33(7)1
- approximation,
25(6)322,
27(7)140,
27(7)212,
28(6)56,
29(6)230,
30(6)13,
34(11)44
- arithmetic,
25(1)59,
25(6)102,
25(6)112,
25(12)85,
27(1)95,
27(6)54,
27(7)128,
28(8)90,
29(4)49,
29(6)61,
29(6)326,
29(6)349,
29(6)349-1,
29(11)98,
30(6)1,
30(6)186,
32(3)57,
33(5)118
- avoid,
26(9)321,
27(7)322,
27(9)262,
29(6)73,
30(6)56,
30(6)130,
30(8)217
- best,
25(6)16,
25(6)150,
26(4)28,
27(7)32,
27(7)283,
27(7)331,
28(7)83,
28(10)46,
29(2)44,
29(6)73,
29(11)25,
29(11)171,
29(11)252,
29(11)308,
29(11)328,
30(6)67,
30(6)79-1,
30(6)151,
30(6)279,
30(8)123,
30(8)134,
30(11)88,
33(11)252
- binary,
27(6)17,
28(7)129,
29(1)37,
29(11)242,
30(10)426,
30(10)426-1,
30(11)70,
32(5)249,
33(7)19,
33(10)341,
33(11)151,
34(1)153,
34(3)107
- bit,
28(6)197,
28(7)187,
29(6)49,
29(11)171,
29(11)297,
29(11)319,
33(2)56,
34(3)107
- Burger:1996:PFP,
25(6)112,
31(5)108
- C1160,
28(6)78-1,
28(6)248,
28(6)268,
28(6)290,
29(6)171,
29(6)349-1,
29(7)51,
30(3)1,
30(3)23,
30(3)35,
30(3)50,
30(3)83,
30(3)94
- C5230,
25(1)59,
25(6)112,
27(1)95,
29(6)61,
29(11)98
- C7310,
25(6)102,
25(6)112,
28(3)209,
28(3)355,
28(7)169,
28(7)179,
28(7)187,
28(8)90,
29(3)12,
30(8)48,
30(8)80-1
- cannot,
25(6)272,
27(7)311,
28(6)278,
28(7)83,
29(6)147,
29(6)218,
29(11)86,
30(3)13,
30(6)67,
30(6)151,
30(6)196,
30(6)205,
30(6)218
- Clinger, William D.,
32(5)97,
33(5)174
- Clinger:1990:HRF,
25(6)112,
31(5)108
- combinatorial,
28(6)78-1,
28(6)248,
28(6)268,
28(6)290,
29(6)171,
29(6)349,
29(6)349-1,
29(7)51,
30(3)1,
30(3)23,
30(3)35,
30(3)50,
30(3)83,
30(3)94
- COMPLEXITY,
25(6)40,
25(6)66,
25(6)102,
25(6)112,
25(6)137,
25(6)150,
25(6)234,
25(6)272,
25(6)322,
25(6)337,
26(6)30,
26(6)130,
26(6)192,
26(6)204,
26(6)241,
26(6)256,
27(7)140,
27(9)98,
27(9)238,
28(3)363,
28(6)78-1,
28(6)268,
28(6)278,
28(6)290,
29(6)61,
29(6)85,
29(6)97,
29(6)121,
29(6)171,
29(6)218,
29(6)302,
30(6)32,
30(6)47,
30(6)56,
30(6)139,
30(6)186,
30(6)246,
30(6)279,
30(11)7,
30(11)60,
30(11)134,
31(5)108,
31(5)193,
31(9)60,
32(5)194,
32(5)334,
33(5)72,
33(5)85-1,
33(5)142,
33(11)24,
33(11)262,
33(11)272
- computational,
25(6)112,
25(6)296,
27(7)12,
28(6)268,
28(7)179,
29(1)13,
29(4)23,
29(6)107,
29(6)121,
29(6)135,
29(6)171,
29(6)218,
29(6)349-1,
29(7)42,
29(10)324,
29(10)388,
30(3)13,
30(3)62,
30(3)83,
30(3)94,
30(6)186,
30(6)233,
30(8)19,
30(8)134,
30(11)1,
30(11)79,
32(1)106,
32(6)40
- compute,
25(6)311,
25(6)337,
27(1)95,
28(3)69,
29(6)1,
29(6)186,
29(11)12,
29(11)252,
29(11)308,
30(6)32,
30(6)47,
30(11)70,
31(9)279
- consider,
26(4)28,
27(7)273,
29(11)171,
29(11)286
- conversion,
25(5)34,
25(6)112,
28(6)227,
29(8)46,
29(8)101,
30(6)196,
30(12)51,
32(9)61,
32(9)61-1
- converting,
25(4)59,
25(6)112,
29(6)36,
29(8)101
- could,
25(6)78,
28(3)69,
28(3)299,
28(3)355,
28(6)139-1,
28(7)92,
30(3)50,
30(4)13,
30(6)103,
33(1)30,
33(2)34,
33(6)27,
33(6)27,
33(11)252
- decimal,
25(6)112
- determine,
25(6)112,
25(6)223,
25(6)311,
27(7)116,
27(7)283,
28(6)26,
28(6)56,
28(6)126,
29(6)85,
29(6)121,
29(6)278,
30(6)56,
30(6)93,
30(6)218,
30(11)20-1,
30(11)70,
30(11)79
- determined,
25(6)16,
28(3)299,
28(7)83,
29(6)278,
30(6)67,
30(6)174,
30(8)58,
30(8)156
- digital,
25(1)59,
25(6)112,
25(6)189,
25(6)311,
25(6)322,
27(1)95,
29(6)61,
29(11)98,
30(6)186,
30(7)7,
30(8)134,
31(9)234,
33(2)34
- do,
24(3)34,
25(6)66,
25(6)112,
25(6)127-1,
25(6)137,
25(12)85,
26(4)290,
27(7)300,
27(7)331,
28(3)347,
28(6)300,
28(7)83,
28(8)57,
29(2)44,
29(6)49,
29(6)349,
29(6)349-1,
29(8)74,
29(11)12,
29(11)51,
30(6)79-1,
30(6)130,
30(6)139,
30(6)246,
30(6)279,
30(11)88,
32(9)15,
32(9)15-1,
32(10)253,
32(10)345-1,
32(10)345-5,
33(7)35,
33(10)45,
33(10)45-1
- extra,
29(6)257,
29(6)257-1
- F.2.1,
25(6)102,
25(6)112,
26(6)30,
27(7)140,
29(6)61,
29(6)121,
29(6)218,
30(6)139,
30(6)279,
31(5)108,
31(9)60
- few,
25(6)112,
25(6)165,
27(7)82,
28(3)209,
28(3)231,
28(6)139-1,
29(6)36,
29(6)337,
29(6)337-1,
29(11)232,
29(11)242,
29(11)328,
30(6)186,
30(8)80-1,
33(7)51
- find,
25(6)53,
27(7)162,
27(9)248,
28(3)69,
28(6)126,
29(6)36,
29(6)171,
29(9)56,
29(11)252,
29(11)274,
29(11)286,
30(3)50,
30(6)23,
30(8)102,
30(8)134
- fixed,
25(6)85-1,
25(6)112,
27(5)z,
28(6)68,
29(11)25
- floating,
25(1)59,
25(6)112,
25(12)85,
26(4)28,
26(4)290,
26(6)219,
29(6)61,
29(11)98,
33(9)103
- Floating-Point,
25(6)112,
26(4)28,
31(5)108,
32(3)57,
33(5)118
- G.1.0,
25(6)102,
25(6)112,
29(6)61,
33(5)118
- G.1.2,
25(6)322
- hence,
29(6)1,
29(6)337,
29(6)337-1,
30(6)186
- how,
25(4)51,
25(5)95,
25(6)1,
25(6)53,
25(6)112,
25(6)223,
26(11)359,
27(1)95,
27(6)64,
27(7)82,
27(7)106,
27(7)140,
27(7)162,
27(7)212,
27(7)249,
27(7)311,
27(7)341,
27(9)248,
27(12)28,
27(12)47,
28(3)1,
28(3)353,
28(6)46,
28(6)78-1,
28(6)126,
28(6)177,
28(6)258,
28(7)64,
28(7)83,
28(7)149,
28(8)57,
28(10)429,
28(10)429-1,
28(11)9,
28(11)9-1,
29(6)121,
29(6)171,
29(8)35,
29(8)74,
29(8)84,
29(10)468,
29(11)2,
29(11)145,
29(11)208,
30(3)23,
30(3)62,
30(3)71,
30(3)94,
30(4)13,
30(5)3,
30(6)103,
30(6)116,
30(6)139,
30(8)102,
30(10)251,
30(11)50,
30(11)70,
30(11)79,
32(6)75,
32(10)206,
33(10)134,
33(11)252,
34(3)10
- IEEE,
25(6)112,
28(8)57,
32(4)16
- input,
25(4)51,
25(6)16,
25(6)112,
25(6)197,
25(6)246,
27(7)200,
28(7)13,
29(3)33,
29(6)85,
29(8)59,
29(9)91,
29(9)115,
29(12)58,
30(2)25,
30(3)35,
30(6)1,
30(8)134,
33(7)27
- integer,
25(1)59,
25(4)73,
25(6)53,
25(7)95,
26(4)290,
26(6)1,
27(5)z,
27(7)140,
27(7)162,
27(9)285,
28(3)363,
28(11)22,
29(6)36,
29(6)61,
29(6)121,
30(2)42,
30(6)139,
30(8)92,
30(8)102,
33(5)118,
33(5)186,
33(11)252
- intermediate,
28(6)166,
28(6)237,
28(7)102,
28(7)139,
29(6)36,
29(8)1,
30(3)35,
30(3)62,
30(3)71,
30(3)83,
30(3)111,
30(3)119,
30(6)103,
31(10)83,
34(1)313,
34(9)183
- Knuth:1990:SPW,
25(6)112
- might,
25(6)246,
27(7)212,
28(3)69,
28(6)197
- notation,
25(8)106,
25(10)237,
29(8)35,
30(8)19,
34(6)82,
34(12)35
- NUMERICAL,
25(6)102,
25(6)112,
25(6)322,
26(6)1,
26(6)15,
27(7)140,
29(6)61,
29(6)349-1,
30(6)139,
31(5)12,
32(5)122,
32(5)134,
32(5)146,
32(5)159,
32(5)183,
33(5)38,
33(5)118,
33(11)12,
33(11)228,
33(11)307
- numerical,
25(1)59,
25(3)109,
25(6)102,
25(6)112,
26(6)30,
27(7)140,
28(3)355,
28(6)13,
29(6)61,
29(6)121,
29(6)218,
29(6)349-1,
29(11)183,
30(6)139,
30(6)279,
30(8)48,
31(5)108,
31(9)60,
33(5)38
- output,
25(6)112,
27(7)200,
28(6)26,
28(6)100,
29(1)37,
29(8)59,
29(9)91,
29(12)58,
30(2)25,
30(3)35,
30(6)13,
30(6)32,
31(5)108
- PLDI'90.,
25(6)9,
25(6)16,
25(6)28,
25(6)40,
25(6)53,
25(6)66,
25(6)78,
25(6)85-1,
25(6)102,
25(6)127-1,
25(6)137,
25(6)150,
25(6)165,
25(6)174,
25(6)189,
25(6)197,
25(6)209,
25(6)223,
25(6)234,
25(6)246,
25(6)257,
25(6)272,
25(6)283,
25(6)296,
25(6)311,
25(6)322,
25(6)337
- point,
25(1)59,
25(6)112,
25(10)312,
25(12)85,
26(4)28,
26(4)290,
26(6)219,
27(7)32,
27(7)224,
27(7)235,
27(9)223,
28(3)69,
28(6)68,
28(6)197,
29(6)1,
29(6)61,
29(6)121,
29(6)349,
29(6)349-1,
29(8)59,
29(10)85,
29(11)12,
29(11)98,
29(11)122,
29(11)208,
31(1)9,
31(1)9-1,
31(3)6,
31(3)6-1,
33(9)103
- Point, Floating-,
25(6)112,
26(4)28,
31(5)108,
32(3)57,
33(5)118
- precision,
25(6)16,
25(6)102,
27(5)z,
27(7)235,
29(6)73,
29(6)230,
29(10)324,
30(6)13,
30(6)93,
30(8)144,
30(11)41,
33(7)51
- PROBLEM,
25(6)40,
25(6)66,
25(6)102,
25(6)112,
25(6)137,
25(6)150,
25(6)234,
25(6)272,
25(6)322,
25(6)337,
26(6)30,
26(6)130,
26(6)192,
26(6)204,
26(6)241,
26(6)256,
27(7)140,
27(9)98,
27(9)238,
28(3)363,
28(6)78-1,
28(6)268,
28(6)278,
28(6)290,
29(6)61,
29(6)85,
29(6)97,
29(6)121,
29(6)171,
29(6)218,
29(6)302,
30(6)32,
30(6)47,
30(6)56,
30(6)139,
30(6)186,
30(6)246,
30(6)279,
30(11)7,
30(11)60,
30(11)134,
31(5)108,
31(5)193,
31(9)60,
32(5)194,
32(5)334,
33(5)72,
33(5)85-1,
33(5)142,
33(11)24,
33(11)262,
33(11)272
- read,
26(4)279,
29(11)2,
29(11)86,
29(11)297,
30(8)39,
31(5)108
- require,
25(1)59,
25(6)66,
25(6)85-1,
25(6)102,
25(10)237,
27(7)1,
27(7)12,
27(7)32,
27(7)140,
27(7)311,
27(7)331,
28(3)69,
28(6)156,
28(6)227,
28(6)300,
28(7)13,
28(7)149,
29(6)24,
29(6)36,
29(6)49,
29(6)61,
29(6)196,
29(6)218,
29(6)302,
29(6)337,
29(6)337-1,
29(8)35,
29(11)51,
29(11)297,
30(3)1,
30(3)13,
30(6)196,
30(6)233,
30(11)88,
30(11)146-1,
33(7)35,
33(7)51,
33(7)59,
33(7)83,
33(11)252
- scientific,
25(6)137,
27(7)152,
27(7)188-1,
28(1)24,
28(6)1,
28(6)258,
28(7)33,
29(1)9,
29(10)191,
29(10)212,
29(11)196,
29(11)219,
29(11)252,
29(11)286,
30(6)139,
30(8)11,
30(8)48,
30(8)68,
30(8)144,
32(3)21,
34(12)13,
34(12)13-1
- see,
17(9)18,
23(1)17,
25(6)112,
27(7)1,
27(12)13,
27(12)20,
27(12)61,
28(5)3,
28(9)25,
28(11)3,
29(6)49,
29(9)8,
30(4)13,
31(3)28,
31(5)108,
31(8)40,
32(9)39,
33(4)27,
33(12)44,
33(12)52,
33(12)72,
34(2)42,
34(2)46,
34(5)1,
34(5)13,
34(5)25-1,
34(5)37,
34(5)50,
34(5)64,
34(5)77,
34(5)91,
34(5)104,
34(5)118,
34(5)128,
34(5)139,
34(5)150,
34(5)155,
34(5)169,
34(5)181,
34(5)192,
34(5)204,
34(5)215,
34(5)229,
34(5)242,
34(5)247,
34(5)259,
34(5)270,
34(5)281,
34(5)293,
34(6)82,
34(12)35
- solved,
27(7)152,
27(7)212,
28(6)126,
30(2)49,
34(3)26
- Steele:1990:HPF,
25(6)112,
31(5)108
- Steele:2004:RHP,
25(6)112,
31(5)108
- then,
25(6)102,
25(6)209,
25(6)223,
25(6)296,
27(7)152,
27(7)188-1,
27(7)300,
27(7)311,
28(3)37,
28(3)177,
28(3)209,
28(3)231,
28(3)333,
28(6)13,
28(6)78-1,
28(6)166,
28(7)64,
29(11)98,
29(11)122,
29(11)171,
29(11)242,
30(3)23,
30(3)94,
30(6)47,
30(6)67,
30(6)116,
30(6)186,
30(6)218,
30(8)166,
30(8)179,
30(11)79,
33(7)59
- when,
24(3)34,
25(6)40,
25(6)66,
25(6)78,
25(6)102,
25(6)112,
25(6)137,
25(6)174,
25(6)223,
25(10)181,
27(7)1,
27(7)116,
27(7)188-1,
27(7)235,
27(7)311,
27(7)322,
27(9)285,
28(3)97,
28(3)361,
28(6)56,
28(6)100,
28(6)147,
28(6)187,
28(6)258,
28(6)278,
28(7)44,
28(7)83,
28(7)239,
28(8)90,
28(12)169,
29(6)1,
29(6)49,
29(6)85,
29(6)206,
29(11)2,
29(11)86,
29(11)145,
29(11)171,
29(11)242,
29(11)252,
30(3)23,
30(3)94,
30(6)1,
30(6)56,
30(6)93,
30(6)103,
30(6)151,
30(6)279,
30(8)123,
30(8)179,
30(8)189,
30(8)199,
31(5)108,
32(3)27,
32(3)27-1,
33(2)59,
33(7)19,
33(7)27,
33(7)67,
34(9)1
- where,
25(4)73,
27(6)84,
27(7)82,
27(7)212,
27(7)224,
27(7)273,
28(3)231,
28(6)100,
28(6)126,
28(7)112,
28(7)239,
29(6)61,
29(6)107,
29(6)135,
29(6)186,
29(6)349,
29(6)349-1,
29(8)59,
29(8)74,
29(11)51,
29(11)61,
29(11)110,
29(11)219,
29(11)286,
29(11)297,
30(3)1,
30(3)50,
30(4)13,
30(6)56,
30(6)67,
30(6)93,
30(8)92,
30(8)189,
30(10)156,
30(11)31,
32(10)345-1,
32(10)345-4,
33(6)1
- whether,
25(6)137,
25(6)174,
25(6)337,
27(7)188-1,
29(11)76-1,
30(11)79,
33(7)27
- while,
25(4)51,
25(6)174,
26(4)290,
27(7)1,
27(7)162,
27(7)273,
27(9)248,
28(3)361,
28(6)90,
28(6)177,
28(7)54-1,
29(6)36,
29(6)97,
29(6)186,
29(6)349,
29(6)349-1,
29(8)119,
29(11)25,
29(11)38,
29(11)171,
29(11)308,
30(3)83,
30(3)111,
30(6)13,
30(6)23,
30(6)93,
30(6)130,
30(6)205,
30(6)258,
30(8)92,
30(11)1,
30(11)117,
30(11)125,
32(10)158,
32(10)158-1,
33(7)59