2 documentation bugs (5.0.2)

Tim Van Holder tim.vanholder at anubex.com
Thu Nov 24 16:57:28 CET 2011


Well, since that means it produces what I consider the wrong result in both
cases, it doesn't exactly help :-)

On 24 November 2011 16:51, Zimmermann Paul <Paul.Zimmermann at loria.fr> wrote:

>       Dear Tim,
>
> > The second doc bug could also be a library bug (depends on whether or not
> > the behaviour is expected or not).
> > Given:
> >
> > #include <gmp.h>
> >
> > #define MPF_BITS 128 /* same with 256 */
> >
> > int
> > main(void) {
> >   mpf_t f;
> >   mpf_init2(f, MPF_BITS);
> >   mpf_set_str(f, "999.9999999", 10);
> >   gmp_printf("f is either %Ff or %.Ff, depending how you look at it\n",
> f,
> > f);
> >   return 0;
> > }
> >
> > You get as output: "f is either 1000.000000 or 999.9999999, depending how
> > you look at it" (whereas I had expected the same number to be shown).
> > The total number of digits seems to be irrelevant (I initially noticed
> the
> > problem with 9999999999999999999999.9999999).
>
> if it can help you, with GNU MPFR you would get:
>
> tarte% ./a.out
>
>  Version: 3.1.0
>
> f is either 1000.000000 or 1000.000000, depending how you look at it
>
> tarte% cat bug.c
> #include <stdio.h>
> #include <mpfr.h>
>
> int main(void) {
>  mpfr_t f;
>  printf("\n Version: %s\n\n", MPFR_VERSION_STRING);
>  mpfr_init2(f, 128);
>  mpfr_set_str(f, "999.9999999", 10, GMP_RNDN);
>  mpfr_printf("f is either %Rf or %.Rf, depending how you look at it\n", f,
> f);
>  return 0;
> }
>
> Best regards,
> Paul Zimmermann
>


More information about the gmp-bugs mailing list