提供浮点类型的实用程序库,具有相等比较的公差
fuzzyfloat的Python项目详细描述
fuzzyfloat
一个实用程序库,它提供透明的浮点类型和相等比较的公差。
入门
>>>fromfuzzyfloatimportrel_fp>>>value=rel_fp(100)>>>value==100True>>>value==99.99999999True>>>value==100.00000001True>>>value=1000>>>value==1000.0000001True>>>value=10000>>>value==10000.000001True>>>value=100000>>>value==100000.00001True
>>>fromfuzzyfloatimportabs_fp>>>value=abs_fp(100)>>>value=100000>>>value==100000.00001False>>>value==100000.00000001True
设置不同的公差
fromfuzzyfloatimportFuzzyFloatMetaclassmy_fp(metaclass=FuzzyFloatMeta,rel_tol=1e-05,atol=0.01):pass
使用不同的基础类型
importnumpyasnpfromfuzzyfloatimportFuzzyFloatMetaclassnp_fp(metaclass=FuzzyFloatMeta,ftype=np.float128):passclassc_fp(metaclass=FuzzyFloatMeta,ftype=complex):pass
限制
操作员模块提供的任何操作都将提出类类型(以及相应的公差)。
但是,还有许多其他函数,特别是那些涉及c扩展的函数,其中类型信息将
迷失,例如math.sqrt()
。