Re: Numeric literals, take 1
[email protected] (James Mastros) Tue, 26 Nov 2002 08:14:18 -0500
| Newsgroups | perl.perl6.documentation |
|---|---|
| Message-ID | <[email protected]> |
On 11/26/2002 8:02 AM, James Mastros wrote:
> Guys, can we please not argue over just how arithmetic and such works
> for NaN and Inf, and defer to IEEE specs (IEEE-754, AKA IEEE floating
> point)? It'll save much argument, and that's how it'll almost
> certianly be implemented anyway. Give examples and references, but
> don't define nonstandard "standard" perl6 semantics when a good
> standard exists. (I'm looking for a good reference on the IEEE
> semantics right now, but I'm not having much luck for some reason.)
(Yes, I'm replying to myself.)
The best reference I can find right now is
http://research.microsoft.com/~hollasch/cgindex/coding/ieeefloat.html.
If anybody has a better one, I'd /love/ to see it. (IEEE-754 itself is
non-free.)
(here -N is a negitive number, +N is a negive number, and N is any
number (but not NaN or Inf).)
N / Inf => 0
Inf / Inf => NaN
# Multipication between infintes follows normal sign rules, and is
infinite in result.
Inf * Inf => Inf
-N/0 => -Inf
0/0 => NaN
+N/0 => +Inf
Inf - Inf => NaN
Inf * 0 => NaN
All arithmetic ops with any arg NaN results in NaN. NaN==NaN is NaN,
which is false. NaN!=NaN is also NaN, which is false.
-=- James Mastros