Closed p6rt closed 8 years ago
*Code:* say 0**NaN; say 1**NaN; say 2**NaN;
*Output:* NaN 1 NaN
See also IRC log: https://irclog.perlgeek.de/perl6-dev/2016-10-16#i_13412758
More, at nqp level:
\
The RT System itself - Status changed from 'new' to 'open'
This was uncovered by coverage work and the num case is fudged in https://github.com/perl6/roast/commit/47aba2d2ea
Once fixed, more tests will be needed for this ticket, but please unfudge that test as well.
Just for the record, another case:
Code: say NaN**0
Output: 1
On Sun Oct 16 11:07:16 2016, alex.jakimenko@gmail.com wrote:
Just for the record, another case:
Code: say NaN**0
Output: 1
There was an earlier RT for this one (coming to the conclusion that 1 is a reasonable answer here): https://rt-archive.perl.org/perl6/Ticket/Display.html?id=124450. It has a link to a discussion from stackoverflow -- to me the following comment was interesting: http://stackoverflow.com/a/17865226
So that leaves nqp::pow_n(1e0, NaN) == 1e0. Is that also part of IEEE?
I see that Perl 5 gives a NaN for NaN**0, but 1 for 1**NaN:
zoffix@VirtualBox:\~$ perl -wlE 'say -sin(9**9**9)**0'
NaN
zoffix@VirtualBox:\~$ perl -wlE 'say 1**-sin(9**9**9)'
1
On Mon Oct 17 00:25:15 2016, bartolin@gmx.de wrote:
On Sun Oct 16 11:07:16 2016, alex.jakimenko@gmail.com wrote:
Just for the record, another case:
Code: say NaN**0
Output: 1
There was an earlier RT for this one (coming to the conclusion that 1 is a reasonable answer here): https://rt-archive.perl.org/perl6/Ticket/Display.html?id=124450. It has a link to a discussion from stackoverflow -- to me the following comment was interesting: http://stackoverflow.com/a/17865226
I took a gander at 2008 IEEE 754 standard and section "9.2.1 Special values" has this to say:
pow (x, ±0) is 1 for any x (even a zero, quiet NaN, or infinity) pow (+1, y) is 1 for any y (even a quiet NaN)
So our behaviour is correct. Rejecting.
On Mon Oct 17 03:05:33 2016, cpan@zoffix.com wrote:
So that leaves nqp::pow_n(1e0, NaN) == 1e0. Is that also part of IEEE?
I see that Perl 5 gives a NaN for NaN**0, but 1 for 1**NaN:
zoffix@VirtualBox:\~$ perl -wlE 'say -sin(9**9**9)**0' NaN zoffix@VirtualBox:\~$ perl -wlE 'say 1**-sin(9**9**9)' 1
On Mon Oct 17 00:25:15 2016, bartolin@gmx.de wrote:
On Sun Oct 16 11:07:16 2016, alex.jakimenko@gmail.com wrote:
Just for the record, another case:
Code: say NaN**0
Output: 1
There was an earlier RT for this one (coming to the conclusion that 1 is a reasonable answer here): https://rt-archive.perl.org/perl6/Ticket/Display.html?id=124450. It has a link to a discussion from stackoverflow -- to me the following comment was interesting: http://stackoverflow.com/a/17865226
@zoffixznet - Status changed from 'open' to 'rejected'
Migrated from rt.perl.org#129894 (status was 'rejected')
Searchable as RT129894$