Has anyone seen this on Solaris with 5.8.0:
print sprintf ( "%.16g\n" , -0.0005000000000000000104 ) ; print sprintf ( "%.16g\n" , -0.00049999999999999999999999999999999999999 ) ; print sprintf ( "%.16g\n" , -0.0007999999 ) ; print sprintf ( "%.16g\n" , -0.00089999999999999999999999999999999999999 ) ; print sprintf ( "%.16g\n" , -0.0008999999999999999999999999999999999999 ) ; print sprintf ( "%.16g\n" , 8.000000000000000000 ) ; print sprintf ( "%.16g\n" , 8.0000000000000000000000000000000000000 ) ; produces: -0.0005 -0.0005000000000000001 -0.0007999999 -0.0008999999999999999 -0.0009 8 7.999999999999999 The same code works fine under Linux except if you compile with debugging (-g) then you get the same result. On Solaris it does not seem to matter how you configure it (I have tried many permutations). MM;
