我正在尝试在 Python 中编写蒙哥马利乘法的实现,我需要一个等效于 GMP 的mpz_getlimbn()
Python longs 但我似乎一辈子都找不到。
任何帮助将不胜感激。
编辑
我已经实现了以下内容,但我得到了 GMP 中没有出现的肢体的索引超出范围错误。
def unpack(x, b):
if gmpy2:
return [long(x) for x in gmpy2.unpack(gmpy2.mpz(x), b)]
b = 2 ** b
r = []
while x:
x, temp = divmod(x, b)
r.append(temp)
return r