6
cythonでのmemoryviewについては、numpy floatを使用している場合はdouble
の代わりにnp.float_t
などのNumPy型のビューを入力する利点がありますアレイ?Cython:型付きメモリビューにdouble型ではなくnp.float_tを使用する必要があります
また、eと同じ方法でcdef
と入力する必要があります。 g。あなたはcythonに含まれてnumpyのヘッダファイルを見ると
ctypedef np.float64_t np_float_t
...
@cython.profile(False)
@cython.wraparound(False)
@cython.boundscheck(False)
cdef np_float_t mean_1d(np_float_t [:] v) nogil:
cdef unsigned int n = v.shape[0]
cdef np_float_t n_sum = 0.
cdef Py_ssize_t i
for i in range(n):
n_sum += v[i]
return n_sum/n
私はそれを見つけました.. line 311/758:|型の使用法については、(なぜ/いつ)の索引付けにPy_ssize_tを使用するのが望ましいですか? (私が見つけた文書では、#Puristsは配列インデックスのPython型であるPy_ssize_tを使用することができました。 ') - > NumPy/Cython-Array(s)/ – embert
コメントの代わりに、 'Py_ssize_t'の使用に関する新しい質問を開始する必要があります。それはそれが最も露出を得ることを保証するでしょう。 –
あなたはそうです。他の回答者にも簡単に見つけることができます。私は、それが独立した質問をする価値があるかどうか、大抵は疑わしいです。しかし、私は今からそうしようとしています – embert