No luck so far... >>> from decimal import Decimal >>> a = Decimal(10) ** Decimal(80) >>> b = a + Decimal(1) >>> b Decimal('1.000000000000000000000000000E+80') >>> 10 ** 80 100000000000000000000000000000000000000000000000000000000000000000000000000000000
bij Decimal gaat het 1 eentje al verloren voordat we de wortel trekken. >>> from fractions import Fraction >>> a = Fraction(10**100) >>> b = 1 + a >>> b Fraction(10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001, 1) >>> (b ** Fraction(2)) ** Fraction(1, 2) 1e+100 De implementatie van power en sqrt gebruiken intern floating points zo te zien. > Leuk. Kun je vertellen waar je integers vandaan komen [..] Ik werk een eigen compressie idee uit. Tot nu toe wordt mijn bestand alleen maar groter :-) Nou dat is niet helemaal waar, maar ik probeer met grotere brokken data te werken en nu loop ik tegen grenzen aan. Ik heb al even gespeeld met een implementatie van sqrt die enkel integers oplevert, maar die begint bij getallen groter dan 10**7 tijd te vragen... def sqrt(x): """ via http://www.pedrofreire.com/sqrt >>> sqrt(4) 2 >>> sqrt(144) 12 >>> sqrt((10**6 + 1) ** 2) 1000001 """ x = (x+1) >> 1 r = 0 while x > r: x -= r r += 1 return r hum... ik ga er nog even over nadenken. Misschien dat ik eerst met blokken ga werken van 30 cijfers in float128. Of mijn idee anders opzetten. Lastig. Bedankt voor nu, goede nacht! _______________________________________________ Python-nl mailing list Python-nl@python.org http://mail.python.org/mailman/listinfo/python-nl