Thomas Lord wrote:
> I don't have a cite handy but maybe someone can play with
> Google to find it.    Sun Microsystems, some years ago,
> published a long paper called something like "everything programmers
> need to know about floating point numbers" which I would like
> to recommend.

http://portal.acm.org/citation.cfm?id=103163.

Unfortunately, it's not public :(

Arthur
> 
> 
> 
> Arthur Smyles wrote:
>> Second, +inf and -inf are not ranges they are points.
> 
> 
> That's wrong too.
> 
> 1.0 / 0.0 == +inf for a very specific reason: that "0.0" might not
> actually mean "naught".   In particular, "0.0" might mean "a very,
> very small positive Real number (or negative)".    Thus, "+inf"
> means "a very, very large Real number."
> 
> 
> A visualization that I can't do much justice to in ASCII might
> help:
> 
> There are a finite number of bit patterns corresponding to floating
> point numbers.   These are distributed on the real line (except for
> NaN).   They are distributed unevenly:
> 
> 
>    ...============== -1 === 0 === 1 ===============...
>       ^     ^      ^   ^  ^  ^ ^ ^^^^^^^^^^^^ ^ ^   ^    ^    ^      ^    ^
> 
> Each bit pattern is the name for the interval formed by splitting the
> distance to its neighbors.    For example, "0.0" really means "plus
> or minus epsilon".
> 
> Since the list of bit patterns is finite, it has a start and end --
> there smallest and largest floating point bit patterns.    Each of those
> has no  neighbor on one side:
> 
> 
>                              ========================
>                               ^                       ^         (no
> neighbor on this side)
>                                                     +inf
> 
> 
> Those "inf" values therefore stand for half-infinite intervals.
> 
> When you ask a floating point unit to compute something like x/y
> you are asking, in effect "Suppose I know that there is a number X in
> one interval, and a number Y in another interval --   In what interval
> can I find the quotient of these numbers, if it exists?"
> 
> The "+inf" and "-inf" answers tell you "The quotient might exist
> and, if so, it is very very large or very very small".
> 
> When an operation gives you "NaN" it is telling you that "Either
> the floating point circuits can prove that no answer  exists or
> they can prove that they can not prove that any answer might exist."
> 
> 
> 
> 
> -t
> 

_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to