gpt4 book ai didi

python - 如何在 numpy 中实现定点二进制支持

转载 作者:太空宇宙 更新时间:2023-11-03 20:27:48 25 4
gpt4 key购买 nike

我有一个自制的二进制定点算术支持库,并且想添加 numpy 数组支持。具体来说,我希望能够传递定点二进制数的二维数组,并对它们进行各种操作,例如加法、减法、乘法、舍入、更改定点格式等。

底层的定点支持适用于整数,并单独跟踪定点格式数据(整数和小数位数)以进行范围检查和类型转换。

我一直在阅读有关 ndarray 子类化和 dtype 的 numpy 文档,似乎我可能至少需要一个自定义 dtype,或者为定点数的每个唯一范围/精度配置提供单独的 dtype 对象。我尝试在 Python 中子类化 numpy.dtype 但这是不允许的。

我不确定我是否可以编写一些东西来以我想要的方式与 numpy 进行互操作,而无需编写 C 级代码 - 到目前为止,一切都是纯 Python,我已经避免深入了解如何在 C 上工作 - numpy 的基础层。

最佳答案

对于任何感兴趣的人来说,这在 Python 扩展 Numpy 中很难做到,或者只是不适合数据模型。我最终编写了一个单独的 Python 类型库来实现我想要的行为,它在幕后使用 Numpy 整数数组来提高速度。它工作正常,并执行我想要的严格的二进制范围计算和检查,但会受到 Python 代码速度开销的影响,尤其是对于小数组。如果我有时间,我确信它可以作为 C 库做得更好/更快。

关于python - 如何在 numpy 中实现定点二进制支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57702835/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com