Is there any type for function in Cython? Is there any type for function in Cython? python python

Is there any type for function in Cython?


Should be self-explanatory..? :)

# Define a new type for a function-type that accepts an integer and# a string, returning an integer.ctypedef int (*f_type)(int, str)# Extern a function of that type from foo.hcdef extern from "foo.h":    int do_this(int, str)# Passing this function will not work.cpdef int do_that(int a, str b):    return 0# However, this will work.cdef int do_stuff(int a, str b):    return 0# This functio uses a function of that type. Note that it cannot be a# cpdef function because the function-type is not available from Python.cdef void foo(f_type f):    print f(0, "bar")# Works:foo(do_this)   # the externed functionfoo(do_stuff)  # the cdef function# Error:# Cannot assign type 'int (int, str, int __pyx_skip_dispatch)' to 'f_type'foo(do_that)   # the cpdef function