From 93710f336308b175f4f3b4ad517781ad003c3770 Mon Sep 17 00:00:00 2001 From: Stefan Karpinski Date: Sun, 23 Jan 2011 20:45:39 -0500 Subject: [PATCH] Add /(::Rational, ::Complex) method. This was needlessly casting to floats before. --- complex.j | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/complex.j b/complex.j index 238e687458f99..4314820770a59 100644 --- a/complex.j +++ b/complex.j @@ -59,13 +59,14 @@ inv(z::Complex) = conj(z)/norm(z) -(z::Complex) = Complex(-z.re, -z.im) +(z::Complex, w::Complex) = Complex(z.re + w.re, z.im + w.im) -(z::Complex, w::Complex) = Complex(z.re - w.re, z.im - w.im) -*(z::Complex, w::Complex) = Complex(z.re*w.re - z.im*w.im, - z.re*w.im + z.im*w.re) +*(z::Complex, w::Complex) = Complex(z.re * w.re - z.im * w.im, + z.re * w.im + z.im * w.re) ==(z::Complex, w::Complex) = (z.re == w.re && z.im == w.im) /(z::Number, w::Complex) = z*inv(w) /(z::Complex, x::Real) = Complex(z.re/x, z.im/x) +/(x::Rational, z::Complex) = inv(z/x) function /(a::Complex, b::Complex) are = a.re; aim = a.im; bre = b.re; bim = b.im