Mapping 64 bit int from C to Python-2.2

pruebauno at pruebauno at
Mon Mar 9 20:42:45 CET 2009

On Mar 9, 11:51 am, Explore_Imagination <Mr.HassanShab... at>
> Hi
> I want to map 64 bit integers from C to python. I must use Python 2.2
> BUT There is no support for 64 bits integers in Python2.2 (Supported
> in 2.5).
> Now the problem is that I have these four variables:
> unit32_t a,b,c;
> uint64_t w,x,y,z;
> I use this funtion to map values:
> Py_BuildValue( "(lllllll)", a,b,c,w,x,y,z );
> As I access 32 bit values in Python it works fine BUT 64 bit intergers
> in Pythong give garbage values . I think there may be a case of
> overflow when 64 bit values in C are mapped to python.
> Any Suggestions?

You should be able to create PyLong objects from your 64 bit integers.
PyLong objects have unlimited integer precision. Alas I don't know
enough about the internal C code of Python to know what function to
use to do the conversion from an int64 to a PyLong object.

More information about the Python-list mailing list