2011-11-30 21 views
13

me gustaría hacer exactamente esto en Cython:¿Puedo crear una matriz C estática con 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] 

he visto algunas referencias en los informes de errores fijos y listas de correo electrónico antiguos que existe funcionalidad matriz estática en Cython, pero no puedo encontrar anty ejemplos y este ejemplo particular me da un error de sintaxis: Syntax error in C variable declaration

¿Es posible crear matrices C estáticas con Cython?

Respuesta

23

uso de la notación de puntero en su lugar:

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] 

Y funcionará como un encanto.

+0

Woah Nelly funciona como un encanto. (Acabo de obtener una aceleración de 10x). – Rich

Cuestiones relacionadas