有理数的快速分数数据类型。“分数。分数”的cythonized版本。
quicktions的Python项目详细描述
python的Fraction数据类型是一种很好的精确计算金钱的方法 计算简单,大大胜过Decimal, 准确性和安全性。很明显不是以速度来说,尽管 py3.3+中的cdecimal加速器。
quicktions是原始fractions模块的改编 (包含在cpython 3.5中)使用 Cython进入快速的本机扩展模块。
与py2.7和 py3.4,quicktions目前大约快10倍,而且仍然大约 比Python3.5中的当前版本快6倍。也是关于 比py2.7中的(python实现的)decimal模块快15倍。
有关文档,请参见python标准库的fractions 模块:
https://docs.python.org/3.5/library/fractions.html
更改日志
1.10(2019-08-23)
- hash(fraction)经过优化后,在py3.8+中明显更快 在cpython 3.9(https://bugs.python.org/issue37863)中。
- 新方法fraction.as_integer_ratio()。
1.9(2018-12-26)
- 在PY3.5+中更快的标准化(因此也更快的实例化)。
- //(floorDiv)现在与一起使用时遵循预期的舍入行为 float(首先转换为float),整数运算速度更快。
- 修复divmod()的返回类型,其中第一项应为整数。
- 进一步加速mod和divmod操作。
1.8(2018-12-26)
- 更快的mod和divmod计算。
1.7(2018-10-16)
- 更快的标准化和分数字符串解析。
- 添加对Python3.7的支持。
- 使用cython 0.29构建。
1.6(2018-03-23)
- 将字符串值的分数创建速度提高3-5倍。
- 使用cython 0.28.1构建。
1.5(2017-10-22)
- 幂运算符(**)的结果未针对负值进行正规化。
- 使用cython 0.27.2构建。
1.4(2017-09-16)
- 使用cython 0.26.1重新构建,以提高对python 3.7的支持。
1.3(2016-07-24)
- 修复python 3.6中十进制值更快的实例化
- 避免在python 2.x下正常化过程中出现某些大数据的潜在故障
1.2(2016-04-08)
- 更改python 2.x中的哈希函数以匹配fractions.Fraction
1.1(2016-03-29)
- 从浮点值更快地实例化
- 从python 3.6中的十进制值更快地实例化
1.0(2015-09-10)
- Fraction.imag属性可以返回非零
- 分析包含长分数部分的字符串时可能使用不正确的小数位数
0.7(2014-10-09)
- 从浮点值和字符串值更快地实例化
- 在python 2.x中修复测试
0.6(2014-10-09)
- 更快的标准化(以及实例化)
0.5(2014-10-06)
- 更快的数学运算
0.4(2014-10-06)
- 在python 2.x中启用遗留分区支持
0.3(2014-10-05)
- python 2.x下角落案例中的小行为修复 (现在也通过了PY2.7中的所有测试)
0.2(2014-10-03)
- 分数的缓存哈希值
0.1(2014-09-24)
- 首次公开发行