2011-07-25 7 views
5

Chcę przydzielić numery dla tablicy numpy w języku C/C++ i przekazać je do Pythona jako tablicę numpy. To mogę zrobić z PyArray_SimpleNewFromData.Jak zarejestrować destruktor dla macierzy szeregowej przydzielonej przez C?

Problem polega na tym, że chcę zarejestrować funkcję, która powinna zostać wywołana z Pythona, gdy licznik odwołania do numpy tablicy osiągnie zero, a to wywoła semantykę destruktora po stronie C ... Oto pseudo przykład czego potrzebuję:

float* arr; PyObject* np_arr; void (*destructor)(float* arr); 
// ... C-allocate array on arr, ... 
// ... 
// ... initialize destructor with some suitable value, and then: 
np_arr = /* ... create the array to wrap arr, 
      and to use destructor on some meaningful way ... */ 

Czy istnieje prosty sposób na zrobienie tego?

Odpowiedz

Powiązane problemy