在变量gmpy2.floor()
上使用后:mpz
x = mpz(5)
x = gmpy2.floor(x/256)
x
有类型mpfr
,但mpz
不再有,尽管据我了解, floor 总是返回整数。
我怎样才能避免这种情况?
恐怕使用x = mpz(gmpy2.floor(x/256))
会降低性能,不是吗?
在变量gmpy2.floor()
上使用后:mpz
x = mpz(5)
x = gmpy2.floor(x/256)
x
有类型mpfr
,但mpz
不再有,尽管据我了解, floor 总是返回整数。
我怎样才能避免这种情况?
恐怕使用x = mpz(gmpy2.floor(x/256))
会降低性能,不是吗?
gmpy2
包装MPFR
库并返回一个mpfr
作为结果类型。
见http://www.mpfr.org/mpfr-current/mpfr.html#Integer-Related-Functions
仅供参考,Python 2.x 返回一个float
from math.floor
。Python 3 的行为已更改。
如果您正在寻找整数除法的下限,您可以使用//
.
>>> gmpy2.mpz(123456789)//256
mpz(482253)