« Previous | Next » 

Revision d58d44f3

IDd58d44f30b8a39a40716903df645767b12445b09

Added by Iustin Pop about 11 years ago

Switch Attoparsec parser from double to rational

According to the documentation, “This function is almost ten times
faster than rational, but is slightly less accurate. For 94.2% of
numbers, this function and rational give identical results, but for
the remaining 5.8%, this function loses precision around the 15th
decimal place. For 0.001% of numbers, this function will lose
precision at the 13th or 14th decimal place.”. What happens is that
for our tests, it can happen that “Attoparsec.double (show a_double)”
is quite different from “a_double”, such that we have much more than
1e-12 absolute difference.

Since our xm lists should not be too big, I think switching to
rational is better. Next patch also changes the way we compare
doubles, so maybe this patch is not really needed…

Signed-off-by: Iustin Pop <>
Reviewed-by: Michele Tartara <>

Files

  • added
  • modified
  • copied
  • renamed
  • deleted

View differences