2011-07-25 2 views
5

Je veux allouer des nombres pour un tableau numpy en C/C++, et les passer à python en tant que tableau numpy. Que je peux faire avec PyArray_SimpleNewFromData. Le problème est que je veux aussi enregistrer une fonction qui devrait être invoquée à partir de Python lorsque le compteur de référence de tableau numpy atteint zéro, et qui invoquerait une sémantique de destructeur du côté C ... Voici un pseudo-exemple de ce dont j'ai besoin:Comment enregistrer un destructeur pour un tableau numpy alloué C?

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 ... */ 

Y a-t-il un moyen simple de le faire?

Répondre

Questions connexes