Todavía estoy escribiendo en una interfaz de python para mi código c con ctypes. Hoy sustituí mi función de lectura de archivos por una versión de Python, que fue programada por otra persona con NumPy. La 'vieja' versión c fue llamada con un byref (p_data) mientras que p_data = PFloat() (ver a continuación). La función principal toma p_data.¿Cómo usar la matriz NumPy con ctypes?
vieja lectura de archivos:
p_data=POINTER(c_float)
foo.read(filename,byref(p_data))
result=foo.pymain(p_data)
La función de lectura de archivos pitón por el contrario devuelve una matriz NumPy. Mi pregunta ahora es:
¿Cómo convierto una matriz NumPy en POINTER (c_float)?
Googled pero sólo encontré al revés: C arrays through ctypes accessed as NumPy arrays y cosas que no comprendían: C-Types Foreign Function Interface (numpy.ctypeslib)
[Actualización] corregido un error en el código de ejemplo
¡Gracias! ¡Esto fue realmente útil! –