aboutsummaryrefslogtreecommitdiffstats
path: root/lib/complex.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/complex.rb')
-rw-r--r--lib/complex.rb3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/complex.rb b/lib/complex.rb
index 516bbbfd89..6b086661af 100644
--- a/lib/complex.rb
+++ b/lib/complex.rb
@@ -90,6 +90,9 @@ end
def Complex(a, b = 0)
if b == 0 and (a.kind_of?(Complex) or defined? Complex::Unify)
a
+ elsif a.scalar? and b.scalar?
+ # Don't delete for -0.0
+ Complex.new(a, b)
else
Complex.new( a.real-b.imag, a.imag+b.real )
end