[Numpy-discussion] [ANN] Cython 0.15
Sturla Molden
sturla at molden.no
Mon Aug 8 11:29:38 EDT 2011
Den 08.08.2011 11:47, skrev Dag Sverre Seljebotn:
> This come up now and again and I believe there's several
> half-baked/started solutions out there by Cython users, but nothing
> that is standard or that I know is carried out to completion. I.e.,
> you should ask on the cython-users list. It'd be good if somebody
> would compile a list of the efforts so far on the wiki as well...
I wrote a mock-up pxd-generator for the OpenGL headers. It only worked
with a particular set of OpenGL header files, and the output still
required a few cases of manual editing. But this still saved me a lot of
time re-declaring OpenGL to Cython, and an important benefit is
correctness (i.e. almost no manual code to proof) :) The script is so
bad, though, I am not sure I want to show it to anyone ;-)
Writing a general "headerfile2pxd.py" script is a huge undertaking.
The C preprocessor makes this particularly annoying, because some
symbols might be defined at compile-time. To make things worse, C
headers can also be recursive. Running the preprocessor in advance is
not an option either, because some C APIs rely heavily on defined
symbols. These will not survive through the preprocessor. Sometimes we
want to fool Cython into thinking that a defined constant is an external
variable or function with some C types, which also complicates this
effort. It's not that bad if we write a generator for a particular set
of header files, but a PITA when we write one for general use.
Sturla
More information about the NumPy-Discussion
mailing list