Как сделать ctypes.Array? - PullRequest
0 голосов
/ 09 июня 2018

Я пытаюсь заставить это ctypes.Array работать и продолжать получать TypeError: a float is required.

import ctypes
import numpy as np

m = np.zeros((n_inst,n_inst), dtype=np.float64)
ctypes.Array(ctypes.c_double, len(m.data))(*m.data)

Как это исправить?

1 Ответ

0 голосов
/ 09 июня 2018

Настоятельно рекомендуем библиотеку NumPy ctypes .Я предполагаю, что вы хотите, чтобы указатель передавался в библиотеку C.Следующее представит функцию C myfunc(double* data):

mylib = np.ctypeslib.load_library("mylib", ".")

mylib.myfunc.argtypes = (np.ctypeslib.ndpointer(), )

, которая затем может быть вызвана как:

mylib.myfunc(np.zeros((5, 5)))
...