CRlibm的Python绑定,一个高效且经过验证的舍入数学库
项目描述
Python绑定CRlibm,一个高效且经过验证的舍入数学库。
CRlibm是一个免费的数学库(libm),它提供
实现双精度C99标准基本函数,
在四个IEEE-754舍入模式中正确舍入,
算法及其实现都有详尽的证明,
在平均时间、最坏情况时间和内存消耗方面足够高效,可以透明地替换现有的libms。
安装
在命令行
$ pip install crlibm
在Microsoft Windows上,pip将首先尝试下载一个wheel格式的二进制存档,如果找不到适合您的Python版本的wheel,pip将尝试编译库。为此,强烈建议在MinGW-w64中安装MSYS2,例如,可以遵循http://stackoverflow.com/a/30071634中的说明。
用法
在Python中
>>> import crlibm >>> crlibm.exp_ru(1) 2.7182818284590455 >>> crlibm.exp_rd(1) 2.718281828459045
功能
此项目提供了以下表格中函数的绑定
f(x) |
舍入到最接近的值 |
四舍五入(到 +∞) |
向下取整(到 -∞) |
四舍五入到 0 |
指数和对数 |
||||
exp(x) |
exp_rn |
exp_ru |
exp_rd |
exp_rz |
exp(x)-1 |
expm1_rn |
expm1_ru |
expm1_rd |
expm1_rz |
log(x) |
log_rn |
log_ru |
log_rd |
log_rz |
log(1+x) |
log1p_rn |
log1p_ru |
log1p_rd |
log1p_rz |
log(x)/log(2) |
log2_rn |
log2_ru |
log2_rd |
log2_rz |
log(x)/log(10) |
log10_rn |
log10_ru |
log10_rd |
log10_rz |
sinh(x) |
sinh_rn |
sinh_ru |
sinh_rd |
sinh_rz |
cosh(x) |
cosh_rn |
cosh_ru |
cosh_rd |
cosh_rz |
三角函数 |
||||
sin(x) |
sin_rn |
sin_ru |
sin_rd |
sin_rz |
cos(x) |
cos_rn |
cos_ru |
cos_rd |
cos_rz |
tan(x) |
tan_rn |
tan_ru |
tan_rd |
tan_rz |
asin(x) |
asin_rn |
asin_ru |
asin_rd |
asin_rz |
acos(x) |
acos_rn |
acos_ru |
acos_rd |
acos_rz |
atan(x) |
atan_rn |
atan_ru |
atan_rd |
atan_rz |
π 的倍数三角函数 |
||||
sin(π * x) |
sinpi_rn |
sinpi_ru |
sinpi_rd |
sinpi_rz |
cos(π * x) |
cospi_rn |
cospi_ru |
cospi_rd |
cospi_rz |
tan(π * x) |
tanpi_rn |
tanpi_ru |
tanpi_rd |
tanpi_rz |
asin(x)/π |
asinpi_rn |
asinpi_ru |
asinpi_rd |
asinpi_rz |
acos(x)/π |
acospi_rn |
acospi_ru |
acospi_rd |
acospi_rz |
atan(x)/π |
atanpi_rn |
atanpi_ru |
atanpi_rd |
atanpi_rz |
CRlibm 中的 pow 函数未导出。
许可证
CRlibm 库和 Python 绑定均在 Free Software Foundation 发布的 GNU Lesser General Public License 下分发;许可证版本 2.1,或(根据您的选择)任何后续版本。
链接
Python 包索引中的条目:https://pypi.python.org/pypi/crlibm.
CRlibm 主页:http://lipforge.ens-lyon.fr/www/crlibm.
LGPL v2.1:https://gnu.ac.cn/licenses/old-licenses/lgpl-2.1.html.
历史
1.0.3 (2016-06-09)
修复了在 Windows 上使用 Python 3.5 编译的问题。
1.0.2 (2016-06-06)
增加了对 Python 3 的支持。
1.0.1 (2015-11-15)
改进了 MS Windows 上的构建过程;
使用 Appveyor 自动上传发布文件到 PyPI。
1.0.0 (2015-10-27)
从 PyInterval 项目中分支出这些绑定,PyInterval 是一个用于 Python 区间算术的项目。
在 PyPI 上首次发布。
项目详情
下载文件
下载适合您平台的文件。如果您不确定该选择哪个,请了解有关 安装包 的更多信息。
源代码分发
构建版本
crlibm-1.0.3.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 48e17981f90d69c6bb0013f68bacbe7a157de864a533d15dd196ca7e98348a35 |
|
MD5 | d8f8a7be64017bed6b73b728a002044f |
|
BLAKE2b-256 | 8e0b1faf9944f83d9f64e939ee8e6638b9335a2a7166445e28450d237f193459 |
crlibm-1.0.3-cp35-cp35m-win_amd64.whl的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 13c31e207cf6ac19b9a27a38f8cf4b5ad19e5d7b2e06daaf111e7fc22d2f637e |
|
MD5 | 41b9fbf052e6b322f564608c5310762d |
|
BLAKE2b-256 | 58a9ecf28c1a4a0fb6309584e4002ede3aa2bd45794ea06c49f53ba1130cc115 |