6 #ifndef PYOTF_AUXILIARYFUNCTIONS_H
7 #define PYOTF_AUXILIARYFUNCTIONS_H
9 uint32_t* createInt32ArrayFromSequence( PyObject* list );
10 uint8_t* createInt8ArrayFromSequence( PyObject* list );
11 PyObject* createSequenceFromInt8Array( uint8_t* array, uint8_t len );
15 uint32_t* createInt32ArrayFromSequence( PyObject* list ) {
21 if (!PySequence_Check( list )) {
23 PyErr_SetString(PyExc_TypeError,
"Expecting a sequence");
28 dim= PyObject_Length( list );
30 ret= (uint32_t*) malloc(
sizeof(uint32_t) * dim );
32 for ( i =0; i < dim; ++i ) {
34 PyObject *o = PySequence_GetItem( list ,i );
36 if (!PyInt_Check(o)) {
39 PyErr_SetString(PyExc_ValueError,
"Expecting a sequence of integers");
45 ret[i] = PyInt_AsLong(o);
54 uint8_t* createInt8ArrayFromSequence( PyObject* list ) {
60 if (!PySequence_Check( list )) {
62 PyErr_SetString(PyExc_TypeError,
"Expecting a sequence");
67 dim= PyObject_Length( list );
69 ret= (uint8_t*) malloc(
sizeof(uint8_t) * dim );
71 for ( i =0; i < dim; ++i ) {
73 PyObject *o = PySequence_GetItem( list ,i );
75 if (!PyInt_Check(o)) {
78 PyErr_SetString(PyExc_ValueError,
"Expecting a sequence of integers");
84 ret[i] = PyInt_AsLong(o);
93 PyObject* createSequenceFromInt8Array( uint8_t* array, uint8_t len ) {
96 PyObject *pylist = PyList_New(len);
98 if( ! PyList_Check(pylist) ) {
99 printf(
"Creating PyList not possible\n");
102 for(i = 0; i < len; i++) {
103 PyList_SetItem( pylist, i, PyInt_FromLong(array[i]) );