The c function has a signature as follows: int cfun(int len_data, float* data, int* a, int num_a, int flag1, int flag2, int flag3, float* param, float* out1, float* out2, float* out3)
and in python: import numpy as np import ctypes as ct data = np.atleast_2d(np.float32(data)) a = np.atleast_2d(np.int32(a)) if a else np.zeros((2, 1), dtype=np.int32) param = np.atleast_2d(np.float32(param)) num_a = activity.shape[1] len_data = data.shape[1] num_inc = len_data//256 cf = ct.POINTER(ct.c_float) hr = np.zeros((2, num_inc), dtype=np.float32) of = np.zeros((num_inc, 207), dtype=np.float32) gait = np.zeros((num_inc, 14), dtype=np.float32) pt_of = of.ctypes.data_as(cf) if do_of else None pt_gait = gait.ctypes.data_as(cf) if do_gait else None pt_param = param.ctypes.data_as(cf) if param else None dl.run_plt_hrm(len_data, data.ctypes.data_as(cf), activity.ctypes.data_as(ct.POINTER(ct.c_int)), num_act, do_long_fft+0, do_cls_mitigate+0, do_weighted_average+0, pt_param, hr.ctypes.data_as(cf), pt_of, pt_gait) -- https://mail.python.org/mailman/listinfo/python-list