-1
假設我有以下功能:用Cython代碼繼續PRANGE返回值後
@cython.boundscheck(False)
@cython.wraparound(False)
cpdef bint test(np.int_t [:] values):
cdef Py_ssize_t n_values = len(values)
cdef int i
for i in prange(n_values,nogil=True):
if i ==0:
return 0
print 'test'
我運行它,就像這樣:
In [1]: import algos
In [2]: import numpy as np
In [3]: algos.test(np.array([1,2,3,1,4,5]))
test
Out[3]: False
爲什麼打印功能時,它應該剛剛退出而不進行打印?有沒有辦法讓函數在到達返回時退出?
謝謝。
說實話,這看起來很像一個bug,因爲它似乎發生在任何大小的「prange」上,所以它可能值得報告。 https://github.com/cython/cython/issues/ – DavidW