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, c...@zoffix.com 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



Reply via email to