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[:, :]