Wht std.complex is needed?

Steven Schveighoffer schveiguy at yahoo.com
Mon Apr 6 06:07:49 PDT 2009


On Mon, 06 Apr 2009 08:36:18 -0400, Don <nospam at 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?

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


More information about the Digitalmars-d-learn mailing list