
26 Jul
2012
26 Jul
'12
1:40 p.m.
On Thu, Jul 26, 2012 at 12:08:00PM -0400, 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
It appears that Complex uses the default implementation of (**), namely, x ** y = exp (log x * y) I have no opinions on whether this is a good idea. But as someone else noted, (^) works fine if you know you want to use a positive integral power. -Brent