Могу ли я создать статический массив C с помощью Cython? - PullRequest
15 голосов
/ 30 ноября 2011

Я бы хотел сделать именно это на Cython:

cdef int shiftIndexes[] = [1,-1, 0, 2,-1, -1, 4, 0, -1, 8, 1, -1, 16, 1, 0, 32, 1, 1, 64, 0, 1, 128, -1, 1]

Я видел несколько ссылок в отчетах об исправленных ошибках и старых списках адресов электронной почты о том, что в Cython есть функциональность статического массива, но я не могу найти античные примеры, и этот конкретный пример дает мне синтаксическую ошибку: Syntax error in C variable declaration

Можно ли создавать статические массивы C с помощью Cython?

1 Ответ

26 голосов
/ 30 ноября 2011

Вместо этого используйте обозначение указателя:

cdef int *shiftIndexes = [1,-1, 0, 2,-1, -1, 4, 0, -1, 8, 1, -1, 16, 1, 0, 32, 1, 1, 64, 0, 1, 128, -1, 1]

И это будет работать как шарм.

...