我们从Python开源项目中,提取了以下2个代码示例,用于说明如何使用numpy.ctypeslib()。
def __new__(cls, ctypesArray, shape, dtype=float, strides=None, offset=0, order=None): # some magic (copied from numpy.ctypeslib) to make sure the ctypes array # has the array interface tp = type(ctypesArray) try: tp.__array_interface__ except AttributeError: ctypeslib.prep_array(tp) obj = numpy.ndarray.__new__(cls, shape, dtype, ctypesArray, offset, strides, order) # keep track of the underlying storage # this may not be strictly necessary as the same info should be stored in .base obj.ctypesArray = ctypesArray return obj
def memcpy_dtoh(self, dest, src): """a simple memcpy expects a ctypes pointer, returns a numpy array :param dest: A numpy array to store the data :type dest: numpy.ndarray :param src: A ctypes pointer to some memory allocation :type src: ctypes.pointer """ dest[:] = numpy.ctypeslib.as_array(src, shape=self.arg_mapping[str(src)])