Division-Bug in decimal and mpmath

Liste des GroupesRevenir à cl python 
Sujet : Division-Bug in decimal and mpmath
De : ruppert (at) *nospam* hs-worms.de (Martin Ruppert)
Groupes : comp.lang.python
Date : 14. Dec 2024, 08:39:35
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vjjcnl$3tdnk$1@dont-email.me>
User-Agent : tin/2.6.2-20221225 ("Pittyvaich") (Linux/4.19.0-6-amd64 (x86_64))
Hi,

the division 0.4/7 provides a wrong result. It should give a periodic
decimal fraction with at most six digits, but it doesn't.

Below is the comparison of the result of decimal, mpmath, dc and calc.

0.0571428571428571460292086417861615440675190516880580357142857 decimal: 0.4/7
0.0571428571428571460292086417861615440675190516880580357142857 mpmath: 0.4/7
0.0571428571428571428571428571428571428571428571428571428571428 dc: 0.4/7
0.0571428571428571428571428571428571428571428571428571428571429 calc: 0.4/7
0.05714285714285715 builtin: 0.4/7

Both decimal and mpmath give an identical result, which is not a
periodic decimal fraction with at most six digits.

calc and dc provide as well an identical result, which *is* a periodic
decimal fraction with six digits, so I think that's right.

Below ist the python-script, with which the computation was done.

Best regards
Martin Ruppert

#!/usr/bin/env python3
from decimal import Decimal as dec
from mpmath import *
from os import popen
import decimal

z=.4
nen=7

decimal.getcontext().prec=60
print(dec(z)/dec(nen),end=' ');print(f"decimal: {z}/{nen}")

mp.dps=60
a=fdiv(z,nen);print(a,end=' ');print(f"mpmath: {z}/{nen}")

f=popen(f"dc -e'61k{z} {nen}/f'")
for i in f:i=i.rstrip()
f.close()
print(f"0{i}",end=' ');print(f"dc: {z}/{nen}")

f=popen(f"calc 'config(\"display\",61);{z}/{nen}'")
j=0
for i in f:
    if j>0:i=i.rstrip();print(i,end=' ');print(f"calc: {z}/{nen}")
    j+=1
f.close()

print(f"{z/nen}",end=' ');print(f"builtin: {z}/{nen}")

--
ruppert@hs-worms.de

Date Sujet#  Auteur
14 Dec 24 * Division-Bug in decimal and mpmath5Martin Ruppert
14 Dec 24 `* Re: Division-Bug in decimal and mpmath4Mark Bourne
14 Dec 24  +* Re: Division-Bug in decimal and mpmath22QdxY4RzWzUUiLuE
15 Dec 24  i`- Re: Division-Bug in decimal and mpmath1Mark Bourne
15 Dec22:29  `- Re: Division-Bug in decimal and mpmath1Oscar Benjamin

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal