[Issue 5866] std.math.sin(float), std.math.cos(float) to return float
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Wed Apr 20 09:48:15 PDT 2011
http://d.puremagic.com/issues/show_bug.cgi?id=5866
--- Comment #2 from bearophile_hugs at eml.cc 2011-04-20 09:44:40 PDT ---
(In reply to comment #1)
> float = float * float + float
>
> contains a conversion from double to float.
Thank you for your comment. In programming I'm always finding new and new ways
to be wrong or just to show ignorance :-) But this program, gives no errors
with DMD 2.052:
float f1() { return 1.0f; }
float f2() { return 2.0f; }
float f3() { return 3.0f; }
void main() {
static assert(is(typeof(f1() * f2()) == float));
static assert(is(typeof(f1() * f2() + f3()) == float));
float result;
static assert(is(typeof(result = f1() * f2() + f3()) == float));
}
And a good C lint gives no double->error warnings in this C program:
float f1() { return 1.0f; }
float f2() { return 2.0f; }
float f3() { return 3.0f; }
int main() {
float result = f1() * f2() + f3();
return 0;
}
So where's the double->float conversion?
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list