From 8cee72d5c6184e8ea1680b79390e869ea231ac01 Mon Sep 17 00:00:00 2001 From: matz Date: Thu, 17 Jul 2003 08:58:16 +0000 Subject: * eval.c (rb_clear_cache_by_class): check both klass and origin. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4083 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/complex.rb | 16 +++++++--------- lib/rational.rb | 9 +++------ 2 files changed, 10 insertions(+), 15 deletions(-) (limited to 'lib') diff --git a/lib/complex.rb b/lib/complex.rb index 6b3e42f4e2..53d0f5e0bb 100644 --- a/lib/complex.rb +++ b/lib/complex.rb @@ -411,19 +411,18 @@ end class Fixnum - alias power! ** - + unless defined? 1.power! + alias power! ** + p [__FILE__, defined? 1.power!] + end + # Redefined to handle a Complex argument. def ** (other) if self < 0 Complex.new!(self, 0) ** other else - if defined? Rational - if other >= 0 - self.power!(other) - else - Rational.new!(self,1)**other - end + if defined? self.rpower + self.rpower(other) else self.power!(other) end @@ -597,7 +596,6 @@ module Math end - # Documentation comments: # - source: original (researched from pickaxe) # - a couple of fixme's diff --git a/lib/rational.rb b/lib/rational.rb index e0a364246b..38af7b8a81 100644 --- a/lib/rational.rb +++ b/lib/rational.rb @@ -329,10 +329,6 @@ class Integer end class Fixnum - unless defined? Complex - alias power! **; - end - undef quo def quo(other) Rational.new!(self,1) / other @@ -346,8 +342,9 @@ class Fixnum Rational.new!(self,1)**other end end - - unless defined? Complex + + unless defined? 1.power! + alias power! ** alias ** rpower end end -- cgit v1.2.3