精确可构造数表示

constructible的Python项目详细描述


生成状态:Build Status

可构造模块提供了 constructible numbers在python中。

支持Python2和Python3。

可构造数是包含有理数的最小字段,其中 任何非负的可构造数也是可构造的。非负可构造数是 用罗盘和直尺从单位长度构造的长度。

用法

通常,sqrt函数足以处理可构造的数字:

>>> from constructible import sqrt
>>> x = sqrt(2) + sqrt(3)
>>> print(x)
((0 + 1 * sqrt(2)) + (1 + 0 * sqrt(2)) * sqrt((3 + 0 * sqrt(2))))
>>> y = x*x
>>> print(y)
((5 + 0 * sqrt(2)) + (0 + 2 * sqrt(2)) * sqrt((3 + 0 * sqrt(2))))
>>> z = y*y
>>> t = 10*y - z
>>> t == 1
True

安装

要从pypi安装,只需键入

pip install constructible

这个库是一个纯python文件,所以手工安装也很容易。

测试

有些测试使用unittest。由于Travis-CI,每次推到github都会触发一个测试: Build Status

在pypi上释放

需要以下步骤:

  • 在setup.py中更新版本

  • 在git中标记版本:

    git tag 0.1 -m "Adds a tag so that we can put this on PyPI."
    git push --tags origin
    
  • 测试版本:

    python setup.py register -r pypitest
    python setup.py sdist upload -r pypitest
    
  • 有效的版本:

    python setup.py register -r pypi
    python setup.py sdist upload -r pypi
    

更改日志

  • 2016-05-23 v0.1初始版本
  • 2016-09-30V0.2定影1和添加测试< /LI>
  • 2016~10-03 V0.3固定问题2
  • 2016-10-23 v0.4增加了hash和float,速度优化

A确认

感谢Anders Kaseorgimplementation of constructible numbers in Haskell 提供灵感,尤其是 algorithm for taking square roots 在二次扩展域中。

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

推荐PyPI第三方库


热门话题
从对象进行java类型转换   javascript如何处理JS从复选框中获取的值,然后在Java操作中使用它?   使用Mongo Java驱动程序3.0从Mongo集合获取字段的不同值时出现mongodb异常   当AEM工作流失败时,java是否发送电子邮件通知?   java在同一路径上扩展REST类和重写方法   基于java的新闻网站管理系统   java如何在MySQL中防止时间戳舍入   java字节到整数   java JNI抛出中断方法执行吗?   比较JAVA中字符串内的数值   使用DropWizard对动态模式进行java JSON解析   json如何使用带点运算符的字符串访问嵌套java成员变量值   java在需要唯一元素和索引访问时设置vs列表   java以编程方式单击场景2D LibGDX中的按钮   java如何在Spring Boot中记录无效404请求的请求路径?   按钮按下时变量的随机Java抓取结果   更改屏幕后java应用程序崩溃   Java中使用通配符的泛型