I don't understand why the sqrt function doesn't seem to work for 
Complex arguments. "Programming Ruby" page 443 says that Math functions 
including sin, cos and sqrt are extended to support a Complex argument. 
When I try it the sin and cos functions work but sqrt does not.

Is this a bug in Ruby 1.6.8 or am I doing something wrong?

Thanks in advance.


bash-2.05b$ cat ztest.rb
require "complex"

z=Complex(1.0,1.0)
p Math.sin(z)
p Math.cos(z)
p z**0.5
p Math.sqrt(z)

bash-2.05b$ ruby -w ztest.rb
Complex(1.298457581, 0.6349639148)
Complex(0.8337300251, -0.9888977058)
Complex(1.098684113, 0.4550898606)
/USR/LOCAL/lib/ruby/1.6/complex.rb:389:in `sqrt': undefined method 
`Rational' for Math:Module (NameError)
         from ztest.rb:7
bash-2.05b$
bash-2.05b$ ruby --version
ruby 1.6.8 (2002-12-24) [i686-cygwin]
[1]+  Done                    emacs ztest.txt
bash-2.05b$
-- 
Alan Linton