First page Back Continue Last page Overview Graphics

Returning Lists

%module Foo

%typemap(out) double *bar %{

$result = PyList_New(2); // size of list

for (int i = 0; i < 2; ++i) {

PyList_SetItem($result, i, PyFloat_FromDouble($1[i]));

}

delete $1; // important to avoid a memory leak

%}

%inline %{

double *bar() {

double *toReturn = new double[2];

toReturn[0] = 42;

toReturn[1] = 7;

return toReturn;

}

%}