У меня есть функция, которая вызывается во внутренней l oop, поэтому я хочу использовать Cython для ускорения.
Добавление подсказок типа в файл .pxd
помогает, но заменяет реализацию с небольшим количеством C magi c помогает еще больше, поэтому я попытался определить функцию в файле pxd, а затем заменить ее:
# test.py
import cython
def foo_():
print('Hello world')
if not cython.compiled:
foo = foo_
# test.pxd
# What I want:
# @cython.skipdefinition
# foo()
cdef inline void foo():
print('Hello world from Cython')
И, конечно, это не удалось : test.py:7:4: Assignment to non-lvalue 'foo'
потому что C не позволяет назначать функции.
Есть ли способ заменить существующую функцию Python в файле pxd
?