Articles of cython

Importando la función cython: AttributeError: el objeto ‘módulo’ no tiene ningún atributo ‘divertido’

He escrito un pequeño código de cython que es #t3.pyx from libc.stdlib cimport atoi cdef int fun(char *s): return atoi(s) el archivo setup.py es from distutils.core import setup from Cython.Build import cythonize setup(ext_modules=cythonize(“t3.pyx”)) setup.py usando este comando python setup.py build_ext –inplace Esto me da Compiling t3.pyx because it changed. Cythonizing t3.pyx running build_ext building ‘t3’ […]

¿Cómo pasar correctamente una matriz CSR scipy.sparse a una función cython?

Necesito pasar una matriz CSR scipy.sparse a una función cython. ¿Cómo especifico el tipo, como uno lo haría para una matriz numpy?

Cómo aplicar decoradores a las funciones cpdef de Cython.

He estado jugando con Cython últimamente y encontré este error al aplicar un decorador a una función de Cython Cdef functions/classes cannot take arbitrary decorators Aquí está el código con el que estaba jugando: import functools def memoize(f): computed = {} @functools.wraps(f) def memoized_f(main_arg, *args, **kwargs): if computed.get(main_arg): return computed[main_arg] computed[main_arg] = f(main_arg, *args, **kwargs) […]

¿Cuál es la forma más fácil de convertir ndarray en cv :: Mat?

Estoy intentando crear una envoltura de Python / Cython para la biblioteca de C ++ que usa la clase cv::Mat de OpenCV. En el envoltorio oficial de Python, todas las funciones toman el ndarray de NumPy en lugar de cv::Mat , lo cual es bastante conveniente. Pero en mi propia envoltura, ¿cómo hago tal conversión? […]

Cython / Python / C ++ – Herencia: pasar la clase derivada como argumento a función esperando la clase base

Estoy usando Cython para envolver un conjunto de clases de C ++, permitiéndoles una interfaz de Python. El código de ejemplo se proporciona a continuación: BaseClass.h: #ifndef __BaseClass__ #define __BaseClass__ #include #include #include using namespace std; class BaseClass { public: BaseClass(){}; virtual ~BaseClass(){}; virtual void SetName(string name){printf(“in base set name\n”);} virtual float Evaluate(float time){printf(“in base […]

Uso de setuptools para crear un paquete cython llamando a una biblioteca C externa

Estoy tratando de comstackr, instalar y ejecutar un paquete que llamaremos myPackage . Contiene un archivo *.pyx que llama a la función fftw_set_timelimit() desde la biblioteca fftw . Actualmente, cuando ejecuto un script clientScript.py que importa el paquete, obtengo el siguiente mensaje de error: Traceback (most recent call last): File “clientScript.py”, line 5, in import […]

Lista de Python a Cython

Quiero saber cómo convertir la lista de python normal a la lista C con Cython, procesarla y devolver una lista de python. Me gusta: Script Python: import mymodule a = [1,2,3,4,5,6] len = len(a) print(mymodule.process(a,len)) Script Cython (mymodule.pyd): cpdef process(a, int len): cdef float y for i in range(len): y = a[i] a[i] = y […]

¿Cómo se puede exponer un valor de C # definido a Python en un módulo de Cython?

Me gustaría hacer las constantes enteras (ACTIVE_TAG, etc.) definidas aquí : //island management, m_activationState1 #define ACTIVE_TAG 1 #define ISLAND_SLEEPING 2 #define WANTS_DEACTIVATION 3 #define DISABLE_DEACTIVATION 4 #define DISABLE_SIMULATION 5 disponible como atributos normales de un módulo definido por Cython en el que estoy trabajando, para que el código de la aplicación Python pueda acceder a […]

Lectura eficiente de archivos cython, análisis de cadenas y creación de matrices

Así que tengo algunos archivos de datos que se ven así: 47 425 425 -3 15000 15000 900 385 315 3 370 330 2 340 330 2 325 315 2 325 240 2 340 225 2 370 225 2 385 240 2 385 315 2 475 240 3 460 240 2 460 255 2 475 […]

llamar a la función Cython desde C ++

Tengo una biblioteca de C ++ que tiene un envoltorio de Python (escrito con SWIG). Esta biblioteca permite ejecutar código pequeño definido por el usuario (una callback), como operaciones de elementos en un vector. Es decir, en lugar de solo un +, puedes hacer cualquier función binaria arbitraria. En este momento, esto se logra aceptando […]