On Wed, May 23, 2007 at 03:25:26PM -0400, Paul Davis wrote: > I am very disappointed to hear that the Debian package is using > SYSLIBS=1. This gives me two occasions to show my ignorance instead of just the one I was going to post :-) 1. What does SYSLIBS=1 imply ? 2. (Original reason for this post) I've been chasing a bug for hours this afternoon, and the conclusion is that apparently g++, under some conditions, is not consistent in the way it rounds floats to ints in a expression such as float a, b, x; int y; y = (int)((x - a) * b + 0.5f); I have this calculation twice, in the same source file. In one case it's within a for loop, in the second case it's just a single calculation. Both use exactly the same values for a, b, and x, yet the result is different (by 1). The value before the cast its something like 115.50424, and that gets rounded up in one case and down in the other. This is with -O3. Same with -O2, -O1, but OK without optimisation, and also OK if I use -O3 -march=pentium4. Is this to be expected, and should I use floorf() to avoid it, or is it something that should not happen ? -- FA Follie! Follie! Delirio vano è questo ! _______________________________________________ Linux-audio-user mailing list Linux-audio-user@xxxxxxxxxxxxxxxxxxxx http://lists.linuxaudio.org/mailman/listinfo.cgi/linux-audio-user