Charles Vejnar wrote: > Hi, > > I have a C library using "long double" numbers. I would like to be able to > keep this precision in Python (even if it's not portable) : for the moment I > have to cast the "long double" numbers to "double" numbers. > > 1st solution . Is it possible that by re-compiling Python, Python Float > object > becomes "long double" C type instead of "double" ?
It might be possible, but I recommend against it. > 2nd solution : Numpy. In memory, a "numpy.longdouble" is a C "long double" or > a string ? Well, it's always a sequence of bytes, but yes, it is a C "long double," whatever that happens to be on your platform. On my Intel MacBook: In [55]: import numpy In [56]: x = numpy.longdouble(1e200) In [57]: x Out[57]: 9.99999999999999969733e+199 In [58]: x * x Out[58]: 9.99999999999999939489e+399 In [59]: x * x * x Out[59]: 9.99999999999999909194e+599 In [60]: 1e200 * 1e200 * 1e200 Out[60]: inf -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco -- http://mail.python.org/mailman/listinfo/python-list