Unverified Commit fc5a9c2b authored by Yukihiro "Matz" Matsumoto's avatar Yukihiro "Matz" Matsumoto Committed by GitHub

Merge pull request #4877 from shuujii/drop-dependencies-from-mruby-complex-to-some-gems

Drop dependencies from `mruby-complex` to some gems
parents cc6d1742 4bdb1eb5
...@@ -3,8 +3,5 @@ MRuby::Gem::Specification.new('mruby-complex') do |spec| ...@@ -3,8 +3,5 @@ MRuby::Gem::Specification.new('mruby-complex') do |spec|
spec.author = 'mruby developers' spec.author = 'mruby developers'
spec.summary = 'Complex class' spec.summary = 'Complex class'
spec.add_dependency 'mruby-metaprog', core: 'mruby-metaprog'
spec.add_dependency 'mruby-object-ext', core: 'mruby-object-ext'
spec.add_dependency 'mruby-numeric-ext', core: 'mruby-numeric-ext'
spec.add_dependency 'mruby-math', core: 'mruby-math' spec.add_dependency 'mruby-math', core: 'mruby-math'
end end
...@@ -8,7 +8,7 @@ class Complex < Numeric ...@@ -8,7 +8,7 @@ class Complex < Numeric
end end
def to_s def to_s
"#{real}#{'+' unless imaginary.negative?}#{imaginary}i" "#{real}#{'+' unless imaginary < 0}#{imaginary}i"
end end
def +@ def +@
...@@ -56,7 +56,7 @@ class Complex < Numeric ...@@ -56,7 +56,7 @@ class Complex < Numeric
if rhs.is_a? Complex if rhs.is_a? Complex
real == rhs.real && imaginary == rhs.imaginary real == rhs.real && imaginary == rhs.imaginary
elsif rhs.is_a? Numeric elsif rhs.is_a? Numeric
imaginary.zero? && real == rhs imaginary == 0 && real == rhs
end end
end end
...@@ -106,14 +106,14 @@ class Complex < Numeric ...@@ -106,14 +106,14 @@ class Complex < Numeric
[Fixnum, Float].each do |cls| [Fixnum, Float].each do |cls|
[:+, :-, :*, :/, :==].each do |op| [:+, :-, :*, :/, :==].each do |op|
cls.instance_exec do cls.instance_eval do
original_operator_name = "__original_operator_#{op}_complex" original_operator_name = "__original_operator_#{op}_complex"
alias_method original_operator_name, op alias_method original_operator_name, op
define_method op do |rhs| define_method op do |rhs|
if rhs.is_a? Complex if rhs.is_a? Complex
Complex(self).send(op, rhs) Complex(self).__send__(op, rhs)
else else
send(original_operator_name, rhs) __send__(original_operator_name, rhs)
end end
end end
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment