Re: [Cython] Correct way of defining enums

2011-11-30 Thread Stéfan van der Walt
On Tue, Nov 29, 2011 at 11:15 PM, Robert Bradshaw wrote: > The problem was that NPY_SEARCHSIDE wasn't defined as a type, so it > was treating that as the argument name (implicitly typed to be > object). > > https://github.com/cython/cython/commit/5ba30c45c7d3478f7b7d0490e720fb0a184c6050 Thanks fo

Re: [Cython] Correct way of defining enums

2011-11-30 Thread Lisandro Dalcin
On 30 November 2011 04:15, Robert Bradshaw wrote: > > There should probably be at least a mode to give warnings for untyped > arguments (and return types) of cdef functions. > Definitely +1. -- Lisandro Dalcin --- CIMEC (INTEC/CONICET-UNL) Predio CONICET-Santa Fe Colectora RN 168 K

Re: [Cython] Correct way of defining enums

2011-11-29 Thread Robert Bradshaw
The problem was with the definition of PyArray_SearchSorted, namely cdef object PyArray_SearchSorted (ndarray, object, NPY_SEARCHSIDE) The problem was that NPY_SEARCHSIDE wasn't defined as a type, so it was treating that as the argument name (implicitly typed to be object). https://github.co

Re: [Cython] Correct way of defining enums

2011-11-29 Thread Stéfan van der Walt
On Tue, Nov 29, 2011 at 9:08 PM, Greg Ewing wrote: > Did you try both together? I.e. > >  cdef extern from "ndarraytypes.h": >    ctypedef enum NPY_SEARCHSIDE: >      NPY_SEARCHLEFT = 0 >      NPY_SEARCHRIGHT = 1 Yeap, no luck :( Does this work on your system? Stéfan ___

Re: [Cython] Correct way of defining enums

2011-11-29 Thread Greg Ewing
Stéfan van der Walt wrote: Hi Licandro On Tue, Nov 29, 2011 at 10:32 AM, Lisandro Dalcin wrote: Try "ctypedef enum ..." Unfortunately, that doesn't work either :/ Did you try both together? I.e. cdef extern from "ndarraytypes.h": ctypedef enum NPY_SEARCHSIDE: NPY_SEARCHLEFT =

Re: [Cython] Correct way of defining enums

2011-11-29 Thread Stéfan van der Walt
Hi Licandro On Tue, Nov 29, 2011 at 10:32 AM, Lisandro Dalcin wrote: > This is (near to, see below) the right way, as that NumPy enum do is > declared in NumPy headers. > > Try "ctypedef enum ..." Unfortunately, that doesn't work either :/ (Same error message, no matter which incantation, Cytho

Re: [Cython] Correct way of defining enums

2011-11-29 Thread Lisandro Dalcin
2011/11/28 Stéfan van der Walt : > > I tried different ways of defining the enum, e.g. > > cdef extern from "ndarraytypes.h": >     cpdef enum NPY_SEARCHSIDE: >     NPY_SEARCHLEFT = 0 >     NPY_SEARCHRIGHT = 1 > This is (near to, see below) the right way, as that NumPy enum do is declared

[Cython] Correct way of defining enums

2011-11-28 Thread Stéfan van der Walt
Hi all, What is currently the correct way of defining an enum? I am trying to call a NumPy function with an enum as its third argument, and the following does not compile: cimport numpy as np np.import_array() cdef enum NPY_SEARCHSIDE: NPY_SEARCHLEFT = 0 NPY_SEARCHRIGHT = 1 cdef sort_so