diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | lib/cmath.rb | 8 |
2 files changed, 8 insertions, 4 deletions
@@ -1,3 +1,7 @@ +Mon Aug 17 08:11:53 2009 Tadayoshi Funaba <tadf@dotrb.org> + + * lib/cmath.rb: use num#i. + Mon Aug 17 07:59:00 2009 Tadayoshi Funaba <tadf@dotrb.org> * numeric.c (flo_pow,fix_pow): may return complex number. diff --git a/lib/cmath.rb b/lib/cmath.rb index c4b14e3ef6..b23dac239c 100644 --- a/lib/cmath.rb +++ b/lib/cmath.rb @@ -148,7 +148,7 @@ module CMath if z.real? and z >= -1 and z <= 1 asin!(z) else - Complex(0, -1.0) * log(Complex(0, 1.0) * z + sqrt(1.0 - z * z)) + (-1.0).i * log(1.0.i * z + sqrt(1.0 - z * z)) end end @@ -156,7 +156,7 @@ module CMath if z.real? and z >= -1 and z <= 1 acos!(z) else - Complex(0, -1.0) * log(z + Complex(0, 1.0) * sqrt(1.0 - z * z)) + (-1.0).i * log(z + 1.0.i * sqrt(1.0 - z * z)) end end @@ -164,7 +164,7 @@ module CMath if z.real? atan!(z) else - Complex(0, 1.0) * log((Complex(0, 1.0) + z) / (Complex(0, 1.0) - z)) / 2.0 + 1.0.i * log((1.0.i + z) / (1.0.i - z)) / 2.0 end end @@ -172,7 +172,7 @@ module CMath if y.real? and x.real? atan2!(y,x) else - Complex(0, -1.0) * log((x + Complex(0, 1.0) * y) / sqrt(x * x + y * y)) + (-1.0).i * log((x + 1.0.i * y) / sqrt(x * x + y * y)) end end |