Ibr*_*iev 8 python numpy cython
我不太明白numpy.{typename},numpy.npy_ {typename}和numpy.{typename} _t之间的区别是什么,当我从Cython代码中使用它们时?
即这些类型的区别是什么:
# test.pyx
cimport numpy as np
import numpy as np
np.float32
np.npy_float32
np.float32_t
Run Code Online (Sandbox Code Playgroud)
正如我现在所理解的那样:第一种类型是动态的,即Cython将生成一些代码以在运行时检测该类型的大小.另外两种类型是静态的,即使用它的代码将使用每种类型的预定义大小进行编译.请指正.
其他链接:https://docs.scipy.org/doc/numpy/reference/c-api.dtype.html#c-type-names
np.float32 是NumPy的TypeDescriptor,它是一个Python对象,可以查询并传递给NumPy来构造数组,就像在Python中一样.
np.npy_float32 是C类型,可以在需要C类型的任何地方使用,例如
cdef np.npy_float32 x = 1.902
cdef np.ndarray[np.npy_float32, ndim=2] A = np.zeros((3, 4), dtype=np.float32)
Run Code Online (Sandbox Code Playgroud)
np.float32_t简单地一个的typedef的np.npy_float32可用于作为简写.
| 归档时间: |
|
| 查看次数: |
1068 次 |
| 最近记录: |