On Mon, 06 Apr 2009 09:50:35 -0400, Don <nos...@nospam.com> wrote:
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.
Yes, I meant to say complex, sorry.
Turns out I was not reading fully the previous posts. I was not aware
that there were two separate types for complex and imaginary. I thought
idouble was a complex number.
That's kind of... um weird? Why do you need an imaginary AND a complex
type? Wouldn't just a complex type suffice?
Anyway, don't mind me, I just was confused.
-Steve