I should've read more: "Section 7.3 Division by zero", says 'For logB(0) when logBFormat is a floating-point format, the sign of the infinity is minus (−∞).'
And I'm guessing this case matches it, because JVM and C standard lib too give -Inf and nqp just maps the operations to VM's operations. Reclosing :) On Mon Oct 17 05:58:14 2016, [email protected] wrote: > Looks like this bug re-appeared and Rakudo's function all come down to > nqp::log_n(): > > <ZoffixW> m: say log 0 > <camelia> rakudo-moar 2dd0dd: OUTPUT«-Inf» > <ZoffixW> m: use nqp; say nqp::log_n(0e0) > <camelia> rakudo-moar 2dd0dd: OUTPUT«-Inf» > > 2008 IEEE 754[^1], in section 9.2, says log(0) needs to give a > divideByZero exception. > > [1] http://www.csee.umbc.edu/~tsimo1/CMSC455/IEEE-754-2008.pdf > > > > On Wed Nov 12 07:53:52 2008, pmichaud wrote: > > On Tue, Nov 11, 2008 at 11:57:02PM -0800, Carl Mäsak wrote: > > > Rakudo r32568: > > > > > > $ ./perl6 -e 'my $result = log(0); say "Still alive after getting > > > $result"' > > > Still alive after getting -inf > > > > Now fixed in r32574: > > > > $ ./parrot perl6.pbc -e 'my $result = log(0); say $result;' > > Can't take log of 0 > > > > $ > > > > > > Note that instead of throwing an exception immediately, log(0) > > returns a Failure that then throws an exception if it is used. > > > > Pm
