一个简单的近似浮点运算模块。

rr.approx的Python项目详细描述


近似浮点运算库。这个简单的模块可以用来比较使用相对和绝对公差的数字,以减少浮点舍入误差。

fromrr.approximportApproxx=Approx(0.1)*3printx==0.3# True

Approx类可以非常简单地用作“常规”浮点的替换项–您可以在大多数(如果不是全部)上下文中使用Approx对象而不是浮点:算术和比较。

ApproxContext类也可以作为Approx.Context访问,它提供了一个上下文管理器来临时修改模块的公差参数。

printApprox.Context()# display current contextApprox.Context(rtol=1e-4,atol=1e-2).apply()# permanently modify tolerancesprintApprox.Context()withApprox.Context(rtol=1e-5,atol=1e-3):# temporary modificationprintApprox.Context()printApprox.Context()

免责声明

请注意,此模块无法解决浮点数字的任何问题。它所做的是提供一个小(或大,取决于您如何配置公差参数)缓冲区来补偿舍入误差,但随着这些误差的累积,您总能得到意想不到的结果。

float rounding在所有计算机和编程语言中本质上都是不精确的,因为它在有限的数字中表示可能重复出现的十进制数。如果您真的关心精确的结果,并且不介意支付性能损失,那么您应该从标准库或其他一些选择中检查decimal模块。

安装

>;来自pypi(“稳定”版本):

pip install rr.approx

或者来自git repo:

git clone https://github.com/2xR/rr.approx.git
pip install ./rr.approx

贡献

欢迎通过github pull请求进行贡献(测试最好有…:p)。

如果您正在使用库并想说“谢谢!“和/或让我继续工作,为什么不buy me a beer

<>快乐近似比较!

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java泛型和基类   ProcessBuilder或DefaultExecutor启动的“RunAs”子进程的java读取标准输出   java应用程序在尝试登录时突然停止   Java:神秘的Java未捕获异常处理程序[带代码]   java JavaFX NumberAxis自动范围无限循环   最新版本和旧版本冲突的java双Maven依赖关系   java如何导入带有部署变量类名的静态函数?   编译器构造不同的JDK更新会产生不同的Java字节码吗?   java无法在struts 1.1中上载任何超过250 MB大小的文件   java调整jcombobox下拉菜单的宽度   java如何在某些情况下忽略@SQLDelete注释   在Eclipse for Java EE developers edition中禁用HTML警告   java HttpUrlConnection重置请求属性   java@Provider资源未在rest应用程序中注册   java TOP N使用JPA连接   java在使用反射调用方法时区分int和Integer参数