NumPy does not have a double** anywhere, what you did is the correct solution 
(as long as you make sure the array is C-contiguous). 
-- 
Sent from my Android phone with K-9 Mail. Please excuse my brevity.

"Adrian Martínez Vargas" <adriangeol...@yahoo.es> wrote:

Hi, I would like to get a double** from a 2d numpy array in cython in order to 
call properly some function written in C++. Can some one to give a pure cython 
solution? From now I have a double* from the np.ndarray[double, ndim=2] .data. 
I'm getting the double array in C++ with: array2D_=new double* [nrows]; for 
(int i=0; i<nrows; ++i) { array2D_[i]=ptr1D; ptr1D+=ncols; } with that I'm 
responsible to delete the array from C++ // delete [] this->array2D_[0]; // 
delete the memory pool delete [] this->array2D_; // delete the row pointers but 
this->array2D_[0]; is shared with the numpy array. I think that it may be more 
elegant to get directly a double** from numpy and let to python the 
responsibility of managing the memory. Regards Adrian Martínez 
Vargas_____________________________________________
cython-devel mailing list cython-devel@python.org 
http://mail.python.org/mailman/listinfo/cython-devel 

_______________________________________________
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel

Reply via email to