memoview внутри структур Cython... как их назначить? (SIGSEGV)
Я думаю, что у меня есть похожая проблема:
Я определяю структуру, содержащую представления памяти:
ctypedef double[:] vector
ctypedef double[:,::1] matrix
ctypedef struct my_struct:
matrix A
vector b
Теперь я инициализирую такую структуру с помощью:
cdef my_struct *instance = <my_struct*>malloc(sizeof(my_struct))
instance.A = 2*np.eye(3, dtype='double')
instance.b = np.zeros((3,), dtype='double')
print(matmul(instance.A, instance.B))
игнорировать matmul
на данный момент (это хорошо протестированная функция Cython для вычисления умножения матриц). Я получаю ошибку SIGSEGV (11) в instance.A = ...
строка назначения. Кажется, что это должно работать (как). На самом деле, если A не находится внутри структуры, это назначение будет работать.