[SciPy-user] Need very simple example showing how to return numpy array from C/C++ function
Thu Dec 27 18:16:04 CST 2007
On Dec 27, 2007 3:20 PM, Jeremy Conlin <email@example.com> wrote:
> I have a class member function that looks like this:
> std::vector<double> discretize(...);
> I would like to return a numpy array instead of a std::vector<double>. I
> could (of course) rewrite my function to return a pointer to the first
> element of an array if needed. I am currently using SWIG for wrapping my
> code for Python.
> I have searched far and wide for a simple example of how I should do this.
> Everything I find is *far* too complicated for someone doing this for the
> first time. Does someone have a simple example they would like to share? I
> have the "Guide to Numpy"; it has lots of information about the different
> functions, it doesn't have any examples.
I use STL vectors for ouput in scipy.sparse. See line 517 of:
For a STL vector<double> named myvec this should work:
int length = myvec.size();
PyObject *obj = PyArray_FromDims(1, &length, PyArray_DOUBLE);
If you know the size of the output in advance, then you might follow
Matthieu's suggestion since a copy is not required.
Nathan Bell firstname.lastname@example.org
More information about the SciPy-user