Re: floating-WTF - Compiler-BUG with 64bit

2012-01-29 Thread Jonathan M Davis
On Sunday, January 29, 2012 08:43:54 sclytrack wrote: > Prior to filing the bug I tried to compile dmd from source. > I have now succeeded. The only problem I had was a missing > symbolic link libstdc++.so and this in Ubuntu 11.10. So > I just created it. > > /usr/lib32/libstdc++.so -> /usr/lib/i3

Re: floating-WTF - Compiler-BUG with 64bit

2012-01-28 Thread sclytrack
Prior to filing the bug I tried to compile dmd from source. I have now succeeded. The only problem I had was a missing symbolic link libstdc++.so and this in Ubuntu 11.10. So I just created it. /usr/lib32/libstdc++.so -> /usr/lib/i386-linux-gnu/libstdc++.so.6 Then "make -f posix" and in the dmd

Re: floating-WTF - Compiler-BUG with 64bit

2012-01-28 Thread Caligo
On Sat, Jan 28, 2012 at 2:04 PM, sclytrack wrote: > > > Now I've waisted Walter's precious time. > I feel so sad now :-( > I should have made a post about the fact that I had already bug reported it, but I forgot. Sorry.

Re: floating-WTF - Compiler-BUG with 64bit

2012-01-28 Thread sclytrack
01/25/2012 01:12 AM, Timon Gehr wrote: On 01/24/2012 10:28 PM, %u wrote: Shouldn't this go into 'digitalmars.D' ? It should go straight to the bug tracker. Issue 7391 - floating wtf dmd 2.057 64

Re: floating-WTF - Compiler-BUG with 64bit

2012-01-28 Thread Caligo
;> Shouldn't this go into 'digitalmars.D' ? >> >> >> It should go straight to the bug tracker. > > > Issue 7391 - floating wtf dmd 2.057 64

Re: floating-WTF - Compiler-BUG with 64bit

2012-01-28 Thread Timon Gehr
On 01/28/2012 04:56 PM, sclytrack wrote: On 01/25/2012 01:12 AM, Timon Gehr wrote: On 01/24/2012 10:28 PM, %u wrote: Shouldn't this go into 'digitalmars.D' ? It should go straight to the bug tracker. Issue 7391 - floating wtf dmd 2.057 64 Thanks!

Re: floating-WTF - Compiler-BUG with 64bit

2012-01-28 Thread sclytrack
On 01/25/2012 01:12 AM, Timon Gehr wrote: On 01/24/2012 10:28 PM, %u wrote: Shouldn't this go into 'digitalmars.D' ? It should go straight to the bug tracker. Issue 7391 - floating wtf dmd 2.057 64

Re: floating-WTF - Compiler-BUG with 64bit

2012-01-24 Thread Timon Gehr
On 01/24/2012 10:28 PM, %u wrote: Shouldn't this go into 'digitalmars.D' ? It should go straight to the bug tracker.

Re: floating-WTF - Compiler-BUG with 64bit

2012-01-24 Thread %u
Shouldn't this go into 'digitalmars.D' ?

Re: floating-WTF - Compiler-BUG with 64bit

2012-01-24 Thread dennis luehring
Am 24.01.2012 19:13, schrieb Caligo: How did you compile it? As in my original post, it matters how you compile it. In this case (I'm on a 64-bit GNU/Linux system), compiling with '-inline' doesn't trigger the bug. im on win7 (64bit) - but the windows dmd2.057 isn't able to produce x64 code

Re: floating-WTF - Compiler-BUG with 64bit

2012-01-24 Thread Caligo
How did you compile it? As in my original post, it matters how you compile it. In this case (I'm on a 64-bit GNU/Linux system), compiling with '-inline' doesn't trigger the bug.

Re: floating-WTF - Compiler-BUG with 64bit

2012-01-24 Thread dennis luehring
Am 24.01.2012 18:49, schrieb sclytrack: dmd 2.057 give this result under windows/32bit calculate1: 1.5 1.5 calculate2: 1.5 1.5 calculate3: 1.5 1.5 so its seems to be an x64 compiler bug Yes, I missed my lessons in clear communication. - +

Re: floating-WTF

2012-01-24 Thread Caligo
On Tue, Jan 24, 2012 at 6:51 AM, Dejan Lekic wrote: > No, it is not a bug. > > Here is a hint: > > import std.stdio; > > int main() { >  float f; >  writeln(f); >  return 0; > } > > /+--- output --+ > nan > +--- end of output ---+/ > wow, what a great hint. sorry, but I'm not convinced

Re: floating-WTF

2012-01-24 Thread sclytrack
Yes, I missed my lessons in clear communication. - + The complete source files. - import std.stdio; void calculate1(float a, float b) { float s1 = 1.0f - a; float s2 = a * b;

Re: floating-WTF

2012-01-24 Thread dennis luehring
double works correct under dmd64, but float not? what is the behavior of dmd32 in this szenario?

Re: floating-WTF

2012-01-24 Thread dennis luehring
can you give us a complete out-of-the-box compileable example (with imports,main,etc.) with both examples the working/and nonworking does it work correct with dmd(32bit)? is this "calculate2" needed to reproduce the behavior? and what compiler did you test: dmd64, (dmd32?), ...? Am 24.01.2012

Re: floating-WTF

2012-01-24 Thread sclytrack
On 01/24/2012 04:41 PM, sclytrack wrote: On 01/24/2012 01:51 PM, Dejan Lekic wrote: No, it is not a bug. Here is a hint: import std.stdio; int main() { float f; writeln(f); return 0; } /+--- output --+ nan +--- end of output ---+/ I don't understand. I see now I forgot the input

Re: floating-WTF

2012-01-24 Thread sclytrack
On 01/24/2012 01:51 PM, Dejan Lekic wrote: No, it is not a bug. Here is a hint: import std.stdio; int main() { float f; writeln(f); return 0; } /+--- output --+ nan +--- end of output ---+/ I don't understand.

Re: floating-WTF

2012-01-24 Thread sclytrack
void calculate2(float a, float b) { float s1 = 1.0 - a; float s2 = a * b; writeln(s2); writeln(a * b); } Output: t*b= 0 t*b= 1.5 assume CS:.text._D4main10calculate2FffZv _D4main10calculate2FffZv: push

Re: floating-WTF

2012-01-24 Thread Dejan Lekic
No, it is not a bug. Here is a hint: import std.stdio; int main() { float f; writeln(f); return 0; } /+--- output --+ nan +--- end of output ---+/

Re: floating-WTF

2012-01-24 Thread sclytrack
--- alias float Real; Real lerp(Real t, Real a, Real b) { Real s2 = t * b; writeln("t*b= ", s2); writeln("t*b= ", t * b); return s2; } Output: t*b= 1.5 t*b= 1.5 - alias float Real; Real lerp(Real t,

Re: floating-WTF

2012-01-24 Thread sclytrack
t=0.75, a=-2.00, b=2.00, s1=-0.50, s2=0.00, rt1=-0.50, rt2=1.50 ::: 1.5 t = 0.75ok a = -2.0ok b = 2.0 ok s1 = -0.5 ok s2 = 1.5 //

Re: floating-WTF

2012-01-24 Thread sclytrack
On 01/24/2012 04:13 AM, Caligo wrote: alias double Real; //alias float Real; // simple linear interpolation; I partitioned the internals to help me figure out what was happening. Real lerp(Real t, Real a, Real b){ Real s1 = (1.0 - t) * a; Real s2 = t * b; Real rt1 = s1 + s2; Real rt2

floating-WTF

2012-01-23 Thread Caligo
alias double Real; //alias float Real; // simple linear interpolation; I partitioned the internals to help me figure out what was happening. Real lerp(Real t, Real a, Real b){ Real s1 = (1.0 - t) * a; Real s2 = t * b; Real rt1 = s1 + s2; Real rt2 = ((1.0 - t) * a) + (t * b); writefln("t=