Cython中的Modulo

时间:2011-11-22 12:15:17

标签: python cython modulo

在Cython代码中进行模运算(5 % 2)的最简单快捷的方法是什么?似乎使用%会大大减慢代码的速度,所以更好的方法是这样做吗?

3 个答案:

答案 0 :(得分:5)

根据https://github.com/cython/cython/wiki/enhancements-division,使用编译器指令cython.cdivision。请注意,处理负数模数会有不同的语义。

答案 1 :(得分:-1)

我在任何地方使用%运算符,我认为它不会减慢代码速度。事实上,%真的很快!你用cdef声明变量了吗?也许你因此而增加了太多的python开销。

答案 2 :(得分:-2)

您可以使用内置divmod吗?该函数接受两个参数并返回其商和余数的元组。

>>> 10 % 7
3
>>> divmod(10,7)
(1, 3)
>>> -7 % 3
2
>>> divmod(-7,3)
(-3, 2)