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, c...@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, barto...@gmx.de wrote: > > On Sun Oct 16 11:07:16 2016, alex.jakime...@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.perl.org/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