#include <stdio.h> int main (void) { double a = 1.0; double b = 0.9999999999999999; printf("%#12.5g\n", a); printf("%#12.5g\n", b); return 0; } The above produces as output: 1.0000 1.00000 According to the C standard it should produce 1.0000 1.0000
You're not using the latest code.
I just updated to glibc 2.5 plus patches from CVS as made available by LFS, and the problem is still there. Is this fixed in 2.6, and if so is there a release date in mind for that? Thanks.