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?
Hmm, rzeczywiście skomplikowane, ale że to zrobi. Dzięki! – dsign