【发布时间】:2009-01-07 21:48:13
【问题描述】:
有人知道在 Python 中进行定点运算的库吗? 或者,有人有示例代码吗?
【问题讨论】:
-
我认为他的意思是定点。我不得不问为什么?因为如果它是为了性能,你将一无所获。
-
我必须为要在 FPGA 中实现的算法计算编写一个仿真库(因此,不支持 FP)
有人知道在 Python 中进行定点运算的库吗? 或者,有人有示例代码吗?
【问题讨论】:
如果您对定点运算感兴趣,Python 标准库有一个 decimal 模块可以做到这一点。
实际上,它也比内置的具有更灵活的浮点能力。灵活的意思是:
具有各种异常情况的“信号”(这些可以设置为在信号上做各种事情)
有正负 无穷大,以及 NaN(不是 数)
可以区分阳性 和负0
允许您设置不同的舍入 计划。
允许您设置自己的最小值和 最大值。
总而言之,million household uses 很方便。
【讨论】:
如果您想模拟 二进制 定点数的行为而不是简单的算术运算,另一个值得考虑的选项是 spfpm 模块。这将允许您使用固定位数计算平方根、幂、对数和三角函数。它是一个纯 Python 模块,因此不能提供终极性能,但每秒可以对 256 位数字执行数十万次算术运算。
【讨论】:
最近我在做类似的项目,https://numfi.readthedocs.io/en/latest/
>>> from numfi import numfi
>>> x = numfi(0.68751,1,6,3)
>>> x + 1/3
numfi([1.125]) s7/3-r/s
>>> np.sin(x)
numfi([0.625 ]) s6/3-r/s
【讨论】: