Python -> C Dizin (Sequence) Gonderimi
Bir Python script icinden C fonksiyonuna dizin gondermek icin
static PyObject* py_dizin(PyObject* self, PyObject* args){
PyObject* seq;
if(!PyArg_ParseTuple(args, "O", &seq))
return 0;
seq = PySequence_Fast(seq, "argument must be iterable");
int seqlen = PySequence_Fast_GET_SIZE(seq);
float* dizin = new VL::float[seqlen];
double *dbar = new double[seqlen];
for(int i=0; i < seqlen; i++) {
PyObject *fitem; PyObject *item = PySequence_Fast_GET_ITEM(seq, i);
fitem = PyNumber_Float(item);
dizin[i] = PyFloat_AS_DOUBLE(fitem);
printf("%f\n",dizin[i]); // ekrana bas Py_DECREF(fitem);
}
Py_DECREF(seq);
delete[] pic; // is bitince dizin burada silinir
return Py_BuildValue("d", 0); // geri sifir dondur}Python icinden test
etmek icin dizin([10.,20.,30.]) gibi bir cagri yapilabilir.
Yukarı