typed-memory-views相关内容
我有一个numpy布尔数组: myarr = np.array([[False,True],[True,False]]) 如果我尝试用它初始化Cython MemoryView,如下所示: cdef bint [:,:] mymem = myarr 我收到此错误: ValueError:不了解字符缓冲区dtype格式字符串('?') 如果我改为执行此操作,则效果很好:
..
在函数的cdef签名中: cdef const unsigned char[:, :] my_fn(input) except : 我应该在中放入什么? 如果我了解文档正确,指定异常类型对于异常沿Python堆栈向上传播是必要的. 我尝试使用[b'\x00']和空Cython数组进行操作,但均无效果. 解决方案 坏消息:您无法做到.好消息:您
..
目标:使用Cython从2D C ++ char数组获取Memoryview。 一些背景知识: 我有一个本地C ++库,该库会生成一些数据并通过 char ** 将其返回给Cython世界。数组的初始化和操作如下: struct Result_buffer { char ** data_pointer; int length = 0; Result_buffer(
..
我有一个函数(来自外部Python库),该函数返回要在Cython中处理的 memoryview 对象。 有没有一种方法可以将其转换为输入的字节存储视图(无副本)以提高效率?我该怎么办?这不起作用: mv = memoryview(b'1234') cdef char [:] * tmv tmv = mv ^ ------------------------------
..
我想了解有关Cython很棒的 typed-memoryviews 和内存布局 indirect_contiguous 。 根据文档 indirect_contiguous “指针列表是连续的” 时使用c>。 还有一个示例用法: #指向连续整数列表的指针的连续列表 cdef int [:: view.indirect_contiguous,:: 1] b 因此
..
例如,我在Cython中使用了很多3D内存视图. cython.declare(a='double[:, :, ::1]') a = np.empty((10, 20, 30), dtype='double') 我经常想遍历a的所有元素.我可以使用类似 的三重循环来完成此操作 for i in range(a.shape[0]): for j in range(a.shape
..
我有一个python memoryview指向要在cython中执行某些处理的bytes对象. 我的问题是: 由于bytes对象不可写,因此cython不允许从其构造类型化的(cython)内存视图 我也不能使用指针,因为我无法获得指向memoryview开始的指针 示例: 在python中: array = memoryview(b'abcdef')[3:]
..