Zeroing in on one point: > > A solution might be to instead provide a pragmatic, rather than > mathematical > > parameter: > > > > :$numbits = 64 > > > > This would say to keep as much precision as possible while making the > result > > fit in 64 bits. For example 2.147483647e0.Rat would result in > > 2147483647/1000000000 instead of 4310/2007. > > The Num type basically has a denominator which is based on 2s, not 10s. > The proposal is more-or-less expressible as having epsilon = 2/:numbits - presuming that the numerator and denominator are about the same size. From my POV the default epsilon is fine for practical use, but imprecise enough to have this conversation come up repeatedly. Search this list for "$epsilon = 1.0e-6 feels too big for Rat()" How about setting the default epsilon to 1/2**32 or 1/2**64 and closing that 2015 New Year's Eve post & this one too? -yThread Previous | Thread Next