How to convert a Python Tuple into a C/C++ array?
Jinming Xu
cybermanxu at hotmail.com
Thu May 20 21:15:35 EDT 2004
Rick,
I got it by following your instructions!
Thank you very much!
Jinming
>From: "Rick L. Ratzel" <rick.ratzel at scd.magma-da.com>
>To: python-list at python.org
>Subject: Re: How to convert a Python Tuple into a C/C++ array?
>Date: Thu, 20 May 2004 16:37:30 -0500
>
>
> Here is one way to do it (untested...consider it pseudo-code):
>
>...
> my_array = (double*) malloc(sizeof(double) * PyTuple_Size(pyObj));
>
> tupleSize = PyTuple_Size(pyObj);
>
> for( i=0; i < tupleSize; i++ ) {
> tupleItem = PyTuple_GetItem(pyObj, i);
>
> if( !PyFloat_Check(tupleItem) ) {
> printf("Error: tuple contains a non-float value");
> exit(1);
> }
> my_array[i] = PyFloat_AsDouble(tupleItem);
> }
>...
>
>
>Jinming Xu wrote:
>>Hello everyone,
>>
>>While embedding my C++ program with Python, I am impeded by the conversion
>>from a Python Tuple to a C++ array. I hope to get some assistance from
>>you guys.
>>
>>I have a sequence of float numbers to be passed from Python to C++, with
>>indefinite size. So I chose to use Tuple on the Python side. Since
>>PyArg_ParseTuple() has no appropriate format to parse Tuple (The Tuple I
>>am saying is not the Tuple of arguments) of arbitray size, I simply passed
>>the tuple as follows
>>
>>PyObject* myTuple;
>> if(!PyArg_ParseTuple(args,"O",&myTuple))
>> return NULL;
>>
>>Now I have the pointer, myTuple, to the Tuple passed in. How can I convert
>>the the entired tuple, myTuple pointing to, into a float array, or convert
>>an individual element into a C/C++ float number? Are there any conversion
>>functions?
>>
>>Any suggestions or hints will be deeply appreciated!
>>
>>Thanks in advance!
>>
>>Jinming
>>
>>_________________________________________________________________
>>Express yourself with the new version of MSN Messenger! Download today -
>>it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
>>
>>
>--
>http://mail.python.org/mailman/listinfo/python-list
_________________________________________________________________
FREE pop-up blocking with the new MSN Toolbar get it now!
http://toolbar.msn.click-url.com/go/onm00200415ave/direct/01/
More information about the Python-list
mailing list