On Wed, 8 Sep 2010 22:20:30 +0200, Sandro Tosi wrote: > On Wed, Sep 8, 2010 at 22:10, Michael Gilbert > <michael.s.gilb...@gmail.com> wrote: > > Here is an example: > > > > >>> 0.3/3.0 - 0.1 > > -1.3877787807814457e-17 > > > > >>> mpmath.mpf( '0.3' )/mpmath.mpf( '3.0' ) - mpmath.mpf( '0.1' ) > > mpf('-1.3877787807814457e-17') > > > > >>> decimal.Decimal( '0.3' )/decimal.Decimal( '3.0' ) - decimal.Decimal ( > > '0.1' ) > > Decimal("0.0") > > > > Decimal solves the problem; whereas mpmath doesn't. > > you can change mpmath precision up to an arbitrary high value: > > In [4]: mpmath.mp.prec = 100 > > In [5]: mpmath.mpf( '0.3' )/mpmath.mpf( '3.0' ) - mpmath.mpf( '0.1' ) > Out[5]: mpf('0.0')
Thanks. I already knew that. I tried prec = 500, which did of course get the error down quite a bit to begin with, but even so, it continued to grow and grow. So decimal wins out. Mike _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion