Daniel Fetchinson wrote:
I'm trying to write an extension module in C which contains a single
function with the following prototype:
    void func( int N, int * arg1, int * arg2, int * ret );
Here arg1 and arg2 are length N arrays, and the function computes ret
which is also an N length array. From python I'd like to call this
function as
ret = func( [ 1, 2, 3 ], [ 2, 3, 4] )

This requirement pretty much dictates the slow answer you have.

> Does this mean that I can only pass the arrays from python to C as
> generic python objects and in a later operation I need to get the
> elements from this generic python object, construct a C array and pass
> that to the C function? ... What's the simplest way of doing this?

Either use ctypes, look into array.array, or look into numpy.array.

I'd just use numpy, myself:
    import numpy
    total = numpy.array([1, 2, 3]) + numpy.array([2, 3, 4])

--Scott David Daniels
scott.dani...@acm.org
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to