Ondrej Certik wrote:
> one drawback is that I still need to use .pxd files to
> declare cdef functions. Example:
>
> @cython.locals(n=cython.int)
> def fact(n):
> ...
>
> in order for this to become a "cdef int foo()" function, I need to
> have this line in foo.pxd:
>
> cdef int fact(int n)
>
> (And then the @cython decorator is not necessary). I'd like to have
> everything in the .py file. Could that be approached by for example
> something like:
>
> @cython.locals(n=cython.int, _return=cython.int, cdef=True)
> def fact(n):
> ...
That would block calling a local variable "cdef", which would be valid
Python. Calling it _cdef might solve this, but having "_return" blocked
already is bad enough.
How about a generic decorator @cython.cdef ?
@cython.cdef
@cython.locals(n=cython.int, _return=cython.int)
def fact(n):
...
would become
cdef int fact(int n):
...
Stefan
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev