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