diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-07-22 08:42:47 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-07-22 08:42:47 +0000 |
commit | 0d1df1cd7dde2396d1b81379b47e65e98b1b60f2 (patch) | |
tree | fa4c6633759cb9eb87ca7435a3bad901075c855f /lib | |
parent | 27daa53c544d2654a8fe05fad95df6bce18cdf7a (diff) | |
download | ruby-0d1df1cd7dde2396d1b81379b47e65e98b1b60f2.tar.gz |
* variable.c (rb_mod_const_missing): new method. [ruby-core:00441]
* variable.c (rb_const_get_at): allow "const_missing" hook.
* variable.c (rb_const_get_0): ditto.
* eval.c (method_missing): rename from rb_undefined to clarify.
* eval.c (ruby_finalize_0): update exit status if any of END proc
raises SystemExit. [ruby-core:01256]
* eval.c (rb_exec_end_proc): reduce rb_protect().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4116 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rw-r--r-- | lib/complex.rb | 16 | ||||
-rw-r--r-- | lib/tmpdir.rb | 2 |
2 files changed, 11 insertions, 7 deletions
diff --git a/lib/complex.rb b/lib/complex.rb index 53d0f5e0bb..2ee7274a1c 100644 --- a/lib/complex.rb +++ b/lib/complex.rb @@ -184,7 +184,7 @@ class Complex < Numeric Complex.polar(r.power!(other), theta * other) else x, y = other.coerce(self) - x/y + x**y end end @@ -222,7 +222,7 @@ class Complex < Numeric # plane. # def abs - Math.sqrt!((@real*@real + @image*@image).to_f) + Math.hypot(@real, @image) end # @@ -352,6 +352,7 @@ class Complex < Numeric # The imaginary part of a complex number. attr :image + alias imag image end @@ -382,6 +383,7 @@ class Numeric def image 0 end + alias imag image # # See Complex#arg. @@ -390,7 +392,7 @@ class Numeric if self >= 0 return 0 else - return Math.atan2(1,1)*4 + return Math::PI end end @@ -458,10 +460,12 @@ module Math Complex(0,sqrt!(-z)) end else - if defined? Rational - z**Rational(1,2) + if z.image < 0 + sqrt(z.conjugate).conjugate else - z**0.5 + r = z.abs + x = z.real + Complex( sqrt!((r+x)/2), sqrt!((r-x)/2) ) end end end diff --git a/lib/tmpdir.rb b/lib/tmpdir.rb index 8a21cdc789..6fde398ed4 100644 --- a/lib/tmpdir.rb +++ b/lib/tmpdir.rb @@ -16,7 +16,7 @@ class Dir if $SAFE > 0 TMPDIR = '/tmp' else - TMPDIR = ENV['TMPDIR']||ENV['TMP']||ENV['TEMP']||'/tmp' + TMPDIR = File.expand_path(ENV['TMPDIR']||ENV['TMP']||ENV['TEMP']||'/tmp') end end end |