@@ -27,18 +27,6 @@ implementation Show a => Show (Complex a) where
27 plus_i = User 6
27 plus_i = User 6
30−-- when we have an interface 'Fractional' (which contains Double),
33−implementation Fractional a => Fractional (Complex a) where
34− (/) (a:+b) (c:+d) = let
35− real = (a*c+b*d)/(c*c+d*d)
36− imag = (b*c-a*d)/(c*c+d*d)
43------------------------------ Polarform
31------------------------------ Polarform
@@ -78,3 +66,10 @@ implementation Neg a => Neg (Complex a) where
78-- operates on Double.
66-- operates on Double.
79implementation Abs (Complex Double) where
67implementation Abs (Complex Double) where
80 abs (a:+b) = (magnitude (a:+b):+0)
68 abs (a:+b) = (magnitude (a:+b):+0)
70+implementation (Neg a, Fractional a) => Fractional (Complex a) where
71+ (/) (a:+b) (c:+d) = let
72+ real = (a*c+b*d)/(c*c+d*d)
73+ imag = (b*c-a*d)/(c*c+d*d)