相关疑难解决方法(0)

Python扩展 - 有效地构造和检查大整数

我有一个本地库,其自然界面将涉及传递可能大的数字.我预计大约一半是<32位; 另一季度<64位; 接下来的第八个<128位 - 依此类推,没有固定的长度限制.

如果我可以约束值以适合单个寄存器,那么PyLong_FromUnsignedLongLong()和PyLong_AsUnsignedLongLong()将是合适的.

PyLong_FromString()克服了这一点 - 但需要中间表示的不必要的代价._PyLong_FromByteArray()和_PyLong_AsByteArray()减轻了这个成本(通过简化这个中间表示),但是前导下划线让我想知道这是否会导致可移植性问题.

在longintrepr.h中,我发现了struct _longobject ...它暗示它可能是一种直接与内部表示交互的方式......虽然没有关于这种结构的详细文档仍然是一个障碍.

什么方法将导致Python和库之间的最佳吞吐量?有没有我忽略过的文件?

python python-c-api python-2.7 python-3.x

10
推荐指数
1
解决办法
700
查看次数

标签 统计

python ×1

python-2.7 ×1

python-3.x ×1

python-c-api ×1