这是后续这个问题 https://stackoverflow.com/questions/20978938/cython-should-i-use-np-float-t-rather-than-double-for-typed-memory-views.
(为什么/何时)最好使用Py_ssize_t
用于索引?在里面docs http://docs.cython.org/src/userguide/numpy_tutorial.html我刚刚发现
# Purists could use "Py_ssize_t" which is the proper Python type for
# array indices.
-> 这是否意味着在索引 NumPy/Cython 时始终应该使用数组/视图Py_ssize_t
?
-> 是Py_ssize_t
e. G。一个unsigned int
让我无法使用@cython.boundscheck(False)
Py_ssize_t
已签署。看PEP 353 http://www.python.org/dev/peps/pep-0353/,它说“引入了一种新类型 Py_ssize_t,它的大小与编译器的 size_t 类型相同,但已签名。如果可用,它将成为 ssize_t 的 typedef。”
你应该使用Py_ssize_t
用于索引。我在 Cython 文档中没有找到对此的明确声明,但 Cython 开发人员 Stefan Behnel 在一封电子邮件中说了这么多(https://groups.google.com/forum/#!topic/cython-users/brENF_M9zxM https://groups.google.com/forum/#!topic/cython-users/brENF_M9zxM):
一般而言,您使用整数作为索引。你应该
使用 Py_ssize_t 类型代替(或 size_t,如果您更喜欢
无符号类型)以正确适应 64 位体系结构。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)