У меня есть небольшой бит существующего кода на C, который я хочу обернуть, используя Cython. Я хочу иметь возможность настроить несколько массивов numpy, а затем передать эти массивы в качестве аргументов в код C, функции которого принимают стандартные c-массивы (1d и 2d). Я немного застрял в понимании того, как написать правильный .pyx-код, чтобы правильно обрабатывать вещи.
Есть несколько функций, но типичная функция в файле funcs.h выглядит примерно так:
double InnerProduct(double *A, double **coords1, double **coords2, const int len)
Затем у меня есть .pyx файл с соответствующей строкой:
cdef extern from "funcs.h":
double InnerProduct(double *A, double **coords1, double **coords2, int len)
где я избавился от const, потому что cython не поддерживает его. Где я застрял - это то, что должен выглядеть код оболочки, чтобы передать массив MxN numpy в аргументы ** coords1 и ** coords2.
Я изо всех сил пытался найти правильную документацию или учебники для этой проблемы. Любые предложения были бы наиболее оценены.