我不明白第一行的定义是什么<Py_ssize_t>,或者 ceil 的目的是什么?


cdef Py_ssize_t max_distance, offset
offset = <Py_ssize_t>ceil(sqrt(img.shape[0] * img.shape[0] +
img.shape[1] * img.shape[1]))

有人能帮我理解在创建后面的变量时,第一行的目的是什么吗?我不明白什么<Py_ssize_t>是因为他们似乎没有给它分配任何东西。这是在Cython,我对它是全新的,我只知道python

<Py_ssize_t>是一个强制转换。如果没有上下文,很难知道是否有必要(但我怀疑没有(。它将ceil返回的任何值强制转换为Py_ssize_t类型的C整数(一个大到足以用于Python容器大小的有符号整数(。文件:https://cython.readthedocs.io/en/stable/src/userguide/language_basics.html#type-铸造

有可能这不是必要的,并且会在offset = ceil中自动发生

最新更新