Articles of cython

Cython Pickling en paquete “no encontrado como” Error

Tengo problemas para decapar una clase de Cython, pero solo cuando está definido dentro de un paquete. Este problema se notó anteriormente en línea , pero no indicaron cómo se resolvió. Aquí hay dos componentes: el decapado de Cython utilizando un método __reduce__ y un error de paquete. Éxito de Cython Pickling Primero mostraré cómo […]

Optimizando dict de conjunto de tupla de ints con Numba?

Estoy aprendiendo a usar Numba (aunque ya estoy bastante familiarizado con Cython). ¿Cómo debo ir para acelerar este código? Observe que la función devuelve un dictado de conjuntos de dos tuplas de entradas. Estoy usando el cuaderno de IPython. Preferiría Numba sobre Cython. @autojit def generateadj(width,height): adj = {} for y in range(height): for x […]

¿Puedo incrustar CPython dentro de PyPy?

Me gustaría escribir una aplicación sensible al rendimiento en Python, por lo que ejecutarlo bajo PyPy es una elección natural. Sin embargo, una parte importante de mi código depende de numpy, scipy y scikit-learn. ¿Sería posible incrustar una instancia de CPython dentro de un progtwig PyPy en ejecución para llamar código orientado a matriz? Si […]

Python / Cython / C y devoluciones de llamada, llamando a una función de Python desde C usando Cython

Tengo la siguiente pregunta. Tenemos que pasar funciones de callback al código C. Si la función es una función de Cython en el mismo módulo, la situación es bastante simple En Cython: def callme(int x): c_callme(x, &callbackme) cdef int callbackme(int x): print x return x Cía: int c_callme(int x, int (*f)(int)) { printf(“—%d\n”,x); printf(“–%d\n”,f(x)); return […]

El ejemplo de Cython c ++ no reconoce c ++, ¿por qué?

Estoy intentando construir el ejemplo para ‘usar c ++ en cython‘ en la página de Cython C ++ , pero la configuración parece no reconocer el idioma, c ++. Los archivos, tomados de esa misma página son: Rectangle.cpp #include “Rectangle.h” using namespace shapes; Rectangle::Rectangle(int X0, int Y0, int X1, int Y1){ x0 = X0; y0 […]

La callback de Cython funciona correctamente para la función, pero no para el método enlazado

Estoy implementando una interfaz basada en cython para una biblioteca C ++. Implementé un sistema de callback que funciona con las funciones normales pero falla extrañamente cuando se pasan los métodos enlazados. Aquí hay una parte de mi código de cython: cdef extern from “VolumeHapticTool.h”: cdef cppclass HDButtonEvent: bool isPressed() unsigned int getButtonId() Vec3[float] getPosition() […]

Los cálculos de Cython son incorrectos.

Implementé la serie Madhava-Leibniz para calcular pi en Python, y luego en Cython para mejorar la velocidad. La versión de Python: from __future__ import division pi = 0 l = 1 x = True while True: if x: pi += 4/l else: pi -= 4/l x = not x l += 2 print str(pi) La […]

Cython Memoryviews – De la matriz de estructuras?

Me gustaría llenar rápidamente con la menor cantidad posible de copias una amplia gama de estructuras que estoy recibiendo de forma incremental desde C. Si mi estructura es solo tipos de datos primarios, como los siguientes: cdef packed struct oh_hi: int lucky char unlucky Entonces lo siguiente funciona bien: DEF MAXPOWER = 1000000 cdef oh_hi […]

Leer en archivo grande y hacer diccionario.

Tengo un archivo grande que necesito leer y crear un diccionario. Me gustaría que esto fuera lo más rápido posible. Sin embargo, mi código en python es demasiado lento. Aquí hay un ejemplo mínimo que muestra el problema. Primero haz algunos datos falsos paste <(seq 20000000) largefile.txt Ahora aquí hay una pieza mínima de código […]

problema de cython: ‘bool’ no es un identificador de tipo

Estoy intentando desesperadamente exponer un miembro de la clase std::vector a una clase de Python. Aquí está mi clase de C ++: class Test { public: std::vector test_fail; std::vector test_ok; }; Mientras que el acceso y la conversión de test_ok de tipo double (o int, float, ..) funciona, no lo hace para bool ! Aquí […]