>Martin Sebor wrote:
>
>Yes, although it's not immediately obvious to me what the problem
>is, The first assertion above corresponds to this line:
>
>     TEST (T,  1.1, 0, 0, 0, ' ', "", "%g");
>
>I don't see where the test ends up formatting 1.1 as 1.1 using the
>"%g" directive (on AIX, printf("%g", 1.1) produces 1 as expected.
>

Uh, it most certainly does not.

  $ cat t.cpp
  #include <stdio.h>

  int main (int argc, char* argv [])
  {
      const float f = 1 < argc ? atof (argv [1]) : 1.1;

      printf ("%g\n", f);
      printf ("%.0g\n", f); // should be same as %.1g
      printf ("%.1g\n", f);
      printf ("%.2g\n", f);
      printf ("%.3g\n", f);
      printf ("%.4g\n", f);
      printf ("%.5g\n", f);
      printf ("%.6g\n", f);
      printf ("%.7g\n", f);
      printf ("%.8g\n", f);
      printf ("%.9g\n", f);
      return 0;
  }

  $ xlC t.cpp && a.out 1.1
  1.1
  1
  1
  1.1
  1.1
  1.1
  1.1
  1.1
  1.1
  1.1
  1.10000002

Travis
  

>Martin
>

Reply via email to