# really small values

mensanator at aol.com mensanator at aol.com
Thu Jul 19 07:11:54 CEST 2007

```On Jul 17, 4:13?pm, "Dee Asbury" <deeasb... at msn.com> wrote:
> In multiplying a value of xe^-325 with ye^-4, Python is returning zero. How
> do I get it to give me back my tiny value?

Use the right tool for the right job.

>>> import gmpy
>>> help(gmpy.mpf)
Help on built-in function mpf in module gmpy:

mpf(...)
mpf(n): builds an mpf object with a numeric value n (n may be any
Python number, or an mpz, mpq, or mpf object) and a
default
precision (in bits) depending on the nature of n
mpf(n,bits=0): as above, but with the specified number of bits (0
means to use default precision, as above)
mpf(s,bits=0,base=10): builds an mpf object from a string s made
up of
digits in the given base, possibly with fraction-part
(with
period as a separator) and/or exponent-part (with exponent
marker 'e' for base<=10, else '@'). If base=256, s must be
a gmpy.mpf portable binary representation as built by the
function gmpy.fbinary (and the .binary method of mpf
objects).
The resulting mpf object is built with a default precision
(in
bits) if bits is 0 or absent, else with the specified
number
of bits.

>>> a = gmpy.mpf('3e-325')
>>> a
mpf('3.e-325')
>>> b = gmpy.mpf('2e-4')
>>> b
mpf('2.e-4')
>>> a*b
mpf('6.e-329')

>
> Thanks!
> Dee
>
> "The most exciting phrase to hear in science, the one that
> heralds new discoveries, is not 'Eureka!' but 'That's funny...'"
>
>        - Isaac Asimov

```