On Fri, 22 Sep 2000, Masahiro Tanaka wrote:

> > A cautionary tale for users of dynamical languages such as Ruby:
> > 
> > I had the constant definitions above in a unit test file but the test
> > cases kept failing no matter what I did. The problem was that I included
> > the NArray extension which in turn included Complex which redefined
> > Math.log so that it returned the correct complex number instead of
> > -Infinity above. Makes you think before changing the behavior of methods
> > in the standard distr... (and yes, I now know complex aliases Math.log to
> > Math.log!)
> 
> I do not know how you use the NArray extension, but 
> to avoid other readers confuse, I note:
> 
> * NArray function module is NMath, not Math.
> * NMath.log(-1) returns -Infinity.
> 
> % irb -r narray
> irb(main):001:0> NMath.log(-1)
> -Infinity
> irb(main):002:0> NMath.log(-1.0+0.im)
> Complex(0.0, 3.141592654)
> 
I was using NArray for some other stuff but not for getting INF. So:

$ irb
irb(main):001:0> Math.log(-1)
-Infinity
irb(main):002:0> require 'narray'
true
irb(main):003:0> Math.log(-1)
Complex(0.0, 3.141592654)
irb(main):004:0>

Regards,

Robert