[Numpy-discussion] Record Arrays and ctypes Interfacing

vel.accel@gmai... vel.accel@gmai...
Tue Mar 18 14:36:58 CDT 2008

On Tue, Mar 18, 2008 at 2:18 PM, Robert Kern <robert.kern@gmail.com> wrote:
> On Tue, Mar 18, 2008 at 9:48 AM,  <vel.accel@gmail.com> wrote:
>  > Hi all,
>  >
>  >  How do I handle numpy record arrays (heterogenous dtype) with ctypes?
>  >  The python side is reasonably obvious to me, but I'm confused about
>  >  how to declare my C function's signature; whether I need to include
>  >  the numpy array interface header file or not... etc...
>  >
>  >  It's not obvious to me how a heterogeneous dtype is handled on the C
>  >  side. Could someone give me a quick and dirty example.
>  Record arrays (loosely) correspond to arrays of C structs. The
>  correspondence is only loose because the C standard does not specify
>  how the struct members should be aligned. Different systems may place
>  padding in places where numpy didn't. There are often #pragmas one can
>  use to force a particular kind of padding. Here is a reasonably good
>  article on the subject:
>   http://en.wikipedia.org/wiki/Data_structure_alignment
>  You shouldn't need any numpy headers.
>  --
>  Robert Kern
>  "I have come to believe that the whole world is an enigma, a harmless
>  enigma that is made terrible by our own mad attempt to interpret it as
>  though it had an underlying truth."
>   -- Umberto Eco
>  _______________________________________________
>  Numpy-discussion mailing list
>  Numpy-discussion@scipy.org
>  http://projects.scipy.org/mailman/listinfo/numpy-discussion

Thank you Robert.

I had figured out that all that was required was a struct analogous to
the dtype be defined in the C file. I inserted an simple example in
the ctypes entry of the Wiki for others' reference .
<a href="http://www.scipy.org/Cookbook/Ctypes#head-9c2123bb99fa424ed4a3fc0b4ef38cddf3aa21c6">heterogeneous
types example</a>

More information about the Numpy-discussion mailing list