memoryview

    0热度

    1回答

    我有cythonizing我的代码,具体如下(以及类似)sniplets一个问题: cdef double [:,:] grad_d_him_d_jm grad_d_ihm_d_jm = grad_d_im_d_jm(...) 其中grad_d_im_d_jm(...)将返回一个double [:,:] memoryview。 此代码将通过用Cython被翻译成下面的C代码: __pyx_t

    0热度

    1回答

    我想初始化一个memoryview片(而不是整个)。假设我已经memoryview A为一类(扩展型)的属性 from cython.view cimport array as cvarray N = 1000 cdef double[:,:,::1] A = cvarray(shape=(2,N,N),itemsize=sizeof(double),format='d') 现在,我想在

    1热度

    2回答

    好吧,这里给出的数据; 形状有三个numpy阵列: (i,4,2),(i,4,3),(i,4,2) i在它们之间共享,但是是可变的。 dtype是float32的一切。 目标是按特定顺序交织它们。让我们看一下数据索引0对于这些阵列: [[-208. -16.] [-192. -16.] [-192. 0.] [-208. 0.]] [[ 1. 1. 1.] [ 1. 1. 1.] [

    7热度

    2回答

    我正在Cython中编写一个Python 2.7扩展模块。 如何创建一个Python对象来实现包装C库给我的一段内存的新式缓冲接口?内存块只是一串字节,而不是结构或多维数组。我得到了一个const void *指针和一个长度,以及指针保持有效时间的一些细节。 我无法复制内存 - 这会导致我的应用程序性能下降。 对于旧式缓冲区对象,我可以简单地使用PyBuffer_FromMemory(),但我似乎

    1热度

    1回答

    下面显示的一些代码类型导致我在通过Cython调用的C++代码中损坏内存。我已经设法解决它,但想问什么是解决它所需的最小。 假设: CFoo是一个C++类的一些部件set_ptr采用指针的两倍。 Cython类Foo包含指向CFoo的指针。 内Foo一些bar方法: 瞬态numpy.array,a,通过调用function_returning_a_numpy_array()创建。 有类型的内存视图

    1热度

    1回答

    使用python 3.5,我从PostgreSQL接收一个字节作为memoryview。 >>> mybyte <memory at 0x7fd07b12a888> >>> bytes(mybyte) b'\x04' 如何读取此字节的单个位?有没有办法获得这个单字节的按位表示? 我觉得像 >>> bin(ord(mybyte)) 应该做的伎俩,但它不会在memoryview工作。还有

    1热度

    2回答

    int main(){ int i; int arr[4]; for(int i=0; i<=4; i++){ arr[i] = 0; } return 0; } 我看了在这个例子显示CS107(第13讲)的YouTube的视频,告诉为什么上面的程序将通过显示内存图导致无限循环。 arr [4]超出边界并且应该导致我存储的地址并且

    0热度

    1回答

    我写了一个用Cython函数采用数字作为参数列表/输入memoryview并返回一个类型化Memoryview长度相同的: def test(list_data): cdef unsigned int n = len(list_data) cdef unsigned int i = 0 cdef double *results_arr = <double*>mallo

    1热度

    3回答

    我有一个python memoryview指向一个bytes对象,我想在这个对象上执行一些cython处理。 我的问题是: 因为bytes对象是不可写,用Cython不允许从它构建一个类型化(用Cython)memoryview 我不能使用指针,或者是因为我不能让一个指针所述memoryview开始 实施例: 在蟒蛇: array = memoryview(b'abcdef')[3:] 地用C

    3热度

    2回答

    使用Cython,有没有办法编写快速通用函数,这些函数适用于具有不同维数的数组?例如对于去混叠功能,这个简单的例子: import numpy as np cimport numpy as np ctypedef np.uint8_t DTYPEb_t ctypedef np.complex128_t DTYPEc_t def dealiasing1D(DTYPEc_t[:, :]