Steven Schveighoffer wrote:
On Mon, 06 Apr 2009 08:36:18 -0400, Don <nos...@nospam.com> wrote:

Sam Hu wrote:
Thank you!
Anothe silly question then:What's the disadvantage to have the built-in type of i-type?
 Regards,
Sam

It's a very nasty type. It supports *, but isn't closed under *.
Which is really annoying for generic programming.

idouble x = 2i;
x *= x; // oops, this isn't imaginary. (BTW this currently compiles :o).

This may be a dumb question, but aren't all real numbers also technically imaginary numbers with a 0i term? that is, I would expect the above to evaluate to:

-4 + 0i

Which I would view as an imaginary number.  Am I completely wrong here?

It's a complex number.
(real OP real OP real) is real.
(complex OP complex OP complex) is complex.
BUT
(imaginary OP imaginary OP imaginary) is imaginary, or real, or complex.




That being said, I hope I never have to deal with imaginary numbers in my career, I had enough of them in school ;) So I don't really care whether it's a builtin or not.

-Steve

Reply via email to