Cython: Czy powinienem używać np.float_t zamiast podwoić dla widoków wpisanej pamięci
Jeśli chodzi o widoki pamięci w cython, czy jest jakaś zaleta wpisywania widoku z typami NumPy, takimi jaknp.float_t
zamiast po prostu robićdouble
jeśli pracuję z numpy tablicami float?
I powinienem wpisaćcdef
następnie w ten sam sposób, np. sol.
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