digitalmars.D.bugs - [Issue 730] New: broken operator handling of ifloat/idouble/ireal
- d-bugmail puremagic.com (25/25) Dec 23 2006 http://d.puremagic.com/issues/show_bug.cgi?id=730
- Thomas Kuehne (12/17) Dec 23 2006 -----BEGIN PGP SIGNED MESSAGE-----
- d-bugmail puremagic.com (9/9) Oct 31 2007 http://d.puremagic.com/issues/show_bug.cgi?id=730
- d-bugmail puremagic.com (17/18) Nov 01 2007 http://d.puremagic.com/issues/show_bug.cgi?id=730
- d-bugmail puremagic.com (12/12) Oct 14 2009 http://d.puremagic.com/issues/show_bug.cgi?id=730
http://d.puremagic.com/issues/show_bug.cgi?id=730 Summary: broken operator handling of ifloat/idouble/ireal Product: D Version: 0.177 Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: bugzilla digitalmars.com ReportedBy: thomas-dloop kuehne.cn It looks like all arithmetic operators for imaginary types perform insufficient type checks. test cases: http://dstress.kuehne.cn/nocompile/o/opAssign_21_A.d http://dstress.kuehne.cn/nocompile/o/opAssign_21_B.d http://dstress.kuehne.cn/nocompile/o/opAssign_21_C.d --
Dec 23 2006
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 d-bugmail puremagic.com schrieb am 2006-12-23:http://d.puremagic.com/issues/show_bug.cgi?id=730test cases: http://dstress.kuehne.cn/nocompile/o/opAssign_21_A.d http://dstress.kuehne.cn/nocompile/o/opAssign_21_B.d http://dstress.kuehne.cn/nocompile/o/opAssign_21_C.dShould have been: http://dstress.kuehne.cn/nocompile/o/opMulAssign_21_A.d http://dstress.kuehne.cn/nocompile/o/opMulAssign_21_B.d http://dstress.kuehne.cn/nocompile/o/opMulAssign_21_C.d -----BEGIN PGP SIGNATURE----- iD8DBQFFjT5cLK5blCcjpWoRAtWEAKCOxes9Y4yOPIUHzXdzthB4topa+ACfU6Ho znTa8F9q1YbtXUaIWPGrmkQ= =xHSE -----END PGP SIGNATURE-----
Dec 23 2006
http://d.puremagic.com/issues/show_bug.cgi?id=730 bugzilla digitalmars.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID It's not illegal. The mathematical result is 0, which is what is assigned to f. --
Oct 31 2007
http://d.puremagic.com/issues/show_bug.cgi?id=730 clugdbug yahoo.com.au changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|INVALID |It's not illegal. The mathematical result is 0, which is what is assigned to f.The imaginary part of the expression is indeed 0. But that involves an implicit cast from double to idouble, which is very hard to justify. The type of (1.0i * 2.0i) is double. It's not even a cdouble. The current behaviour violates a *= b <---> a = a*b, since the latter won't compile. idouble *= idouble is a bug in user code, 100% of the time. (I actually got bitten by this, when I wrote generic dot product code. You can't assume that a = a*a compiles). --
Nov 01 2007
http://d.puremagic.com/issues/show_bug.cgi?id=730 Don <clugdbug yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED CC| |clugdbug yahoo.com.au Resolution| |FIXED Fixed in DMD1.048 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Oct 14 2009