[SciPy-User] Problem with passing a 2D Numpy array in the C code by weave.inline
Dag Sverre Seljebotn
dagss at student.matnat.uio.no
Thu Dec 3 09:31:35 EST 2009
Steven Nien wrote:
> Hi,
> Thanks.
> I use the following code, and it works.
>
> inline(code,['arr'], verbose = 1, compiler = 'gcc', type_converters =
> converters.blitz)
>
> But it works in the arr(i,j) syntax.
>
> Is there any way to use the original C syntax ( arr[i][j] ) ?
arr[i][j] fundamentally access something else than a NumPy array. NumPy
arrays are blocks of memory indexed by indexes and strides, while
arr[i][j] refer to a double-pointer-indirection style array. I.e. they
are simply not the same thing, and the answer is no.
I'd use a regex search&replace. Alternatively, you can get what you want
with a custom written C++ class (with an operator overload which defines
[] in the way you need it).
Dag Sverre
More information about the SciPy-User
mailing list