跳转到主要内容

CRlibm的Python绑定,一个高效且经过验证的舍入数学库

项目描述

Travis CI build status (Linux) AppVeyor CI build status (Windows) Latest PyPI version Documentation Status

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,或(根据您的选择)任何后续版本。

作者

David Defour, Catherine Daramy, Florent de Dinechin, Matthieu Gallet, Nicolas Gast, Christoph Lauter, Jean-Michel Muller。

Python 绑定由 Stefano Taschini 提供。

历史

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 (1.6 MB 查看哈希)

上传时间: 源码

构建版本

crlibm-1.0.3-cp35-cp35m-win_amd64.whl (231.0 kB 查看哈希)

上传时间: CPython 3.5m Windows x86-64

crlibm-1.0.3-cp35-cp35m-win32.whl (227.4 kB 查看哈希)

上传时间: CPython 3.5m Windows x86

crlibm-1.0.3-cp34-cp34m-win_amd64.whl (231.0 kB 查看哈希)

上传时间: CPython 3.4m Windows x86-64

crlibm-1.0.3-cp34-cp34m-win32.whl (227.4 kB 查看哈希)

上传时间: CPython 3.4m Windows x86

crlibm-1.0.3-cp33-none-win_amd64.whl (231.0 kB 查看哈希)

上传时间: CPython 3.3 Windows x86-64

crlibm-1.0.3-cp33-none-win32.whl (227.4 kB 查看哈希)

上传时间: CPython 3.3 Windows x86

crlibm-1.0.3-cp27-cp27m-win_amd64.whl (231.0 kB 查看哈希)

上传时间: CPython 2.7m Windows x86-64

crlibm-1.0.3-cp27-cp27m-win32.whl (227.4 kB 查看哈希)

上传时间: CPython 2.7m Windows x86

支持者