critical bug in mpf_set_str

Torbjorn Granlund tg at swox.com
Mon Feb 16 19:38:26 CET 2004


Paul.Zimmermann at loria.fr (Paul Zimmermann) writes:

  There is a critical bug in gmp-4.1.2: two equal (up to trailing zeros) 
  strings are converted into different floating-point numbers:
  
  mermoz% gcc gmp_bug.c -lgmp
  mermoz% ./a.out 
  x=0.111101010111e15 and
  y=0.111101010111e15 equal
  x=0.111101010111e15 and
  y=0.111101010111e15 differ

I would argue that this is not a bug, it is merely a surprising
effect of rounding.  There are a few rough corners in mpf of this
sort.

We have been considering to refine mpf to handle rounding better.
Its current "rounding" is basically just chopping, which at best
means rounding towards zero.

-- 
Torbjörn


More information about the gmp-bugs mailing list