D - complex problems with sqrt
- Helmut Leitner (38/38) Apr 21 2003 This programm
- Walter (6/44) Apr 22 2003 That's true, the various math functions for complex arguments haven't be...
- Helmut Leitner (5/9) Apr 22 2003 No problem. But why do the calls match?
- Walter (4/8) Apr 22 2003 been
- Andy Friesen (4/21) Apr 22 2003 It may be worth the hassle to disallow floating points to be converted
- Helmut Leitner (10/20) Apr 22 2003 I don't understand that. I can't find anything about conversions in the
This programm import venus.all; int main (char [][] args) { float y=3.14; PrintLine("y=",y); cfloat cy=3.14 + 10i; PrintLine("cy.re=",cy.re); PrintLine("cy.im=",cy.im); PrintLine("cy=",cy); ifloat ix=1.5i; PrintLine("ix=",ix); cdouble z=cy*ix; PrintLine("z=",z); z=sqrt(z); PrintLine("sqrt(z)=",z); z= -1; PrintLine("z=",z); z=sqrt(z); PrintLine("sqrt(z)=",z); return 0; } Will produce the following output: y=3.140000 ok, only testing cy.re=3.140000 ok cy.im=10.000000 ok cy=3.140000 + 10.000000i ok, testing PrintLine for cfloat ix=1.500000i ok, ifloat assignment z=-15.000000 + 4.710000i ok, multiplication sqrt(z)=2.170253 + 0.000000i nok sqrt z=-1.000000 + 0.000000i ok, cdouble assignment sqrt(z)=-nan + 0.000000i nok sqrt The sqrt values calculated are in error. I don't no why sqrt is called at all. It seams that Phobos doesn't define a complex version for sqrt. The stdio and stdlib modules are imported, but they shouldn't match. -- Helmut Leitner leitner hls.via.at Graz, Austria www.hls-software.com
Apr 21 2003
That's true, the various math functions for complex arguments haven't been implemented yet. -Walter "Helmut Leitner" <helmut.leitner chello.at> wrote in message news:3EA4439C.135F6C1C chello.at...This programm import venus.all; int main (char [][] args) { float y=3.14; PrintLine("y=",y); cfloat cy=3.14 + 10i; PrintLine("cy.re=",cy.re); PrintLine("cy.im=",cy.im); PrintLine("cy=",cy); ifloat ix=1.5i; PrintLine("ix=",ix); cdouble z=cy*ix; PrintLine("z=",z); z=sqrt(z); PrintLine("sqrt(z)=",z); z= -1; PrintLine("z=",z); z=sqrt(z); PrintLine("sqrt(z)=",z); return 0; } Will produce the following output: y=3.140000 ok, only testing cy.re=3.140000 ok cy.im=10.000000 ok cy=3.140000 + 10.000000i ok, testing PrintLine for cfloat ix=1.500000i ok, ifloat assignment z=-15.000000 + 4.710000i ok, multiplication sqrt(z)=2.170253 + 0.000000i nok sqrt z=-1.000000 + 0.000000i ok, cdouble assignment sqrt(z)=-nan + 0.000000i nok sqrt The sqrt values calculated are in error. I don't no why sqrt is called atall.It seams that Phobos doesn't define a complex version for sqrt. The stdioandstdlib modules are imported, but they shouldn't match. -- Helmut Leitner leitner hls.via.at Graz, Austria www.hls-software.com
Apr 22 2003
Walter wrote:That's true, the various math functions for complex arguments haven't been implemented yet. -WalterNo problem. But why do the calls match? -- Helmut Leitner leitner hls.via.at Graz, Austria www.hls-software.com
Apr 22 2003
"Helmut Leitner" <leitner hls.via.at> wrote in message news:3EA56AF0.437F70A hls.via.at...Walter wrote:beenThat's true, the various math functions for complex arguments haven'tBoth are a conversion.implemented yet. -WalterNo problem. But why do the calls match?
Apr 22 2003
Walter wrote:"Helmut Leitner" <leitner hls.via.at> wrote in message news:3EA56AF0.437F70A hls.via.at...It may be worth the hassle to disallow floating points to be converted to integers, in that case. round/floor/truncate functions could fill the gap. (make it/them intrinsic?)Walter wrote:beenThat's true, the various math functions for complex arguments haven'tBoth are a conversion.implemented yet. -WalterNo problem. But why do the calls match?
Apr 22 2003
Walter wrote:"Helmut Leitner" <leitner hls.via.at> wrote in message news:3EA56AF0.437F70A hls.via.at...I don't understand that. I can't find anything about conversions in the language specs that would back that. Anyway nothing that would make a complex number match to the only //intrinsic.d real sqrt(real); I can find. Even if there were something it would be just plain wrong. -- Helmut Leitner leitner hls.via.at Graz, Austria www.hls-software.comWalter wrote:beenThat's true, the various math functions for complex arguments haven'tBoth are a conversion.implemented yet. -WalterNo problem. But why do the calls match?
Apr 22 2003