From NumPy array to double pointer

The wrapper code must allocate extra data:
double **app;  double *ap;
ap = (double *) a->data;   /* a is a PyArrayObject* pointer */
app = (double **) malloc(nx*sizeof(double*));
for (i = 0; i < nx; i++) { 
  app[i] = &(ap[i*ny]);    /* point row no. i in a->data */
}
/* clean up when app is no longer needed: */ free(app);

previousnexttable of contents