Wht std.complex is needed?
    Don 
    nospam at nospam.com
       
    Mon Apr  6 06:50:35 PDT 2009
    
    
  
Steven Schveighoffer wrote:
> 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?
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
    
    
More information about the Digitalmars-d-learn
mailing list