
26 Jul
2012
26 Jul
'12
12:27 p.m.
On 07/26/12 17:08, Scott N. Walck wrote:
Hi,
Is there a reason why I can't use ** to square zero as a complex number?
Prelude> :m Data.Complex Prelude Data.Complex> (0:+0) ** 2 NaN :+ NaN Prelude Data.Complex> (0 :: Complex Double) ** 2 NaN :+ NaN
I think that's because (**) allows foating exponents which can't be deterministically applied to a complex base (if I have my maths correct, that is). You can use the (^) which can be applied to any numeric base, but only allows integral exponents. Prelude Data.Complex> (0 :: Complex Double) ^ 2 0.0 :+ 0.0