# HG changeset patch # User Chris Cannam # Date 1416846161 0 # Node ID e7d03f88ef43458d5e2954f8368d489e862f1a25 # Parent 76355b91cd92c57633e72f680494a2f67740ba58 Float vector conversion diff -r 76355b91cd92 -r e7d03f88ef43 PyTypeConversions.cpp --- a/PyTypeConversions.cpp Mon Nov 24 11:02:20 2014 +0000 +++ b/PyTypeConversions.cpp Mon Nov 24 16:22:41 2014 +0000 @@ -739,6 +739,19 @@ return Output; } } + +PyObject * +PyTypeConversions::FloatVector_To_PyArray(const vector &v) const +{ + npy_intp ndims[1]; + ndims[0] = (int)v.size(); + PyObject *arr = PyArray_SimpleNew(1, ndims, dtype_float32); + float *data = (float *)PyArray_DATA((PyArrayObject *)arr); + for (int i = 0; i < ndims[0]; ++i) { + data[i] = v[i]; + } + return arr; +} #endif PyObject * diff -r 76355b91cd92 -r e7d03f88ef43 PyTypeConversions.h --- a/PyTypeConversions.h Mon Nov 24 11:02:20 2014 +0000 +++ b/PyTypeConversions.h Mon Nov 24 16:22:41 2014 +0000 @@ -103,6 +103,7 @@ // Numpy types #ifdef HAVE_NUMPY std::vector PyArray_To_FloatVector (PyObject *pyValue) const; + PyObject *FloatVector_To_PyArray(const std::vector &) const; // Copying the data #endif /// Convert DTYPE type 1D NumpyArray to std::vector