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