def testFromParamWithUInt16Array(self):
class UInt16ArrayArg():
def __init__(self, value):
self._ret= (ctypes.c_uint16 * len(value))()
for i in range(len(value)):
self._ret[i]= value[i]
def from_param(self):
return self._ret
def array(self):
return np.array([x for x in self._ret])
xsubi1= UInt16ArrayArg([1, 2, 4092])
self.assertTrue(np.allclose(np.array([1, 2, 4092]),
xsubi1.array()))
xsubi2= UInt16ArrayArg([1, 2, 4092])
self.libc.nrand48.argtypes= [UInt16ArrayArg]
ret1= self.libc.nrand48(xsubi1)
ret2= self.libc.nrand48(xsubi2)
self.assertEqual(ret1, ret2)
self.assertFalse(np.allclose(np.array([1, 2, 4092]),
xsubi1.array()))
评论列表
文章目录