def c_bind(X, Xpinv):
(n,p) = X.shape
# print X
# XT = X.T
XT = np.array(list(X.transpose())) ####AAAARGHHHHHHH MUST COPY THIS WAY!!!
# print XT
# return
# print("cuda.pinv(X) before:")
# print Xpinv.T
# print testlib
# testlib.pm(m.ctypes.data_as(ctypes.POINTER(ctypes.c_float)),
# ctypes.c_int(r), ctypes.c_int(c))
# pinv_bridge(float * h_X, float * h_Xpinv, int n, int p)
testlib.pinv_bridge(
XT.ctypes.data_as(ctypes.POINTER(ctypes.c_float)),
Xpinv.ctypes.data_as(ctypes.POINTER(ctypes.c_float)),
ctypes.c_int(n),
ctypes.c_int(p)
)
# print("cuda.pinv(X):")
# print Xpinv.T
return Xpinv.T
评论列表
文章目录