写在前面:
此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出。欢迎各位前来交流。(部分材料来源网络,若有侵权,立即删除)

Python gmpy2 mpz Methods

  • mpz方法

mpz方法

  • bit_clear(…)
    x.bit_clear(n) 返回x的一个副本,其位数n设置为0。

  • bit_flip(…)
    x.bit_flip(n)返回x的一个副本,其中位n被倒置。

  • bit_length(…)
    x.bit_length() 返回x的radix-2表示法中的有效位数。为了与Python兼容,mpz(0).bit_length()返回0。

  • bit_scan0(…)
    x.bit_scan0(n) 返回索引>= n的x的第一个0位的索引。如果在索引n处或以上的x中没有更多的0位(这只能发生在x < 0的情况下,假设是无限长的2’s complement格式),那么就返回None。

  • bit_scan1(…)
    x.bit_scan1(n)返回索引>=n的x的第一个1比特的索引。如果在索引n处或以上的x中没有更多的1比特(这只能发生在x>=0的情况下,假设是无限长的2的补码格式),那么返回None。

  • bit_set(…)
    x.bit_set(n) 返回x的副本,位n设置为1。

  • bit_test(…)
    x.bit_test(n)如果x的位n被设置,则返回True,如果没有设置则返回False。
    分母(…)

  • x.denominator() 返回 mpz(1)。

  • digits(…)
    x.digits([base=10]) 返回代表 x 的小数点的字符串。
    分子(…)

  • x.numerator() 返回一个x的副本。
    num_digits(…)

  • x.num_digits([base=10]) 返回代表 x 的绝对值的小数点的字符串的长度。如果基数是2的幂,结果是正确的。对于其他基数,结果通常是正确的,但可能是1太大。基数可以在2和62之间,包括在内。
    mpz函数

  • add(…)
    add(x, y) 返回x + y,结果类型取决于输入类型。

  • bincoef(…)
    bincoef(x, n)返回二项式系数,n必须>=0。

  • bit_clear(…)
    bit_clear(x, n)返回x的副本,位n被设置为0。

  • bit_flip(…)
    bit_flip(x, n)返回x的副本,并将位n倒置。

  • bit_length(…)
    bit_length(x) 返回x的radix-2表示法中的有效位数。为了与Python兼容,mpz(0).bit_length()返回0,而mpz(0).num_digits(2)返回1。

  • bit_mask(…)
    bit_mask(n)返回一个长度为n比特的mpz对象,并且所有比特都被设置。

  • bit_scan0(…)
    bit_scan0(x, n) 返回索引>= n的x的第一个0位的索引。如果在索引n处或以上的x中没有更多的0位(这只能发生在x<0的情况下,假设是无限长的2’s complement格式),那么就返回None。

  • bit_scan1(…)
    bit_scan1(x, n) 返回索引>=n的x的第一个1比特的索引。如果在索引n处或以上的x中没有更多的1比特(这只发生在x>=0时,假设是无限长的2的补码格式),则返回None。

  • bit_set(…)
    bit_set(x, n) 返回x的副本,并将位n设置为1。

  • bit_test(…)
    bit_test(x, n) 如果x的位n被设置,返回True,如果没有设置,返回False。

  • c_div(…)
    c_div(x, y) 返回x除以y的商,商被四舍五入到+Inf(上限舍入)。

  • c_div_2exp(…)
    c_div_2exp(x, n) 返回 x 除以 2**n 的商。x必须是一个整数,n必须>0。

  • c_divmod(…)
    c_divmod(x, y) 返回 x 除以 y 的商和余数。商被向 +Inf 四舍五入(上限四舍五入),余数将具有 y 的相反符号。

  • c_divmod_2exp(…)
    c_divmod_2exp(x ,n) 返回x除以2**n的商和剩余部分。商被四舍五入到+Inf(上限四舍五入),余数将是负数或零。

  • c_mod(…)
    c_mod(x, y) 返回 x 除以 y 的余数,余数将与 y 的符号相反。

  • c_mod_2exp(…)
    c_mod_2exp(x, n) 返回 x 除以 2**n 的余数。余数将是负数。x必须是整数,n必须>0。

  • comb(…)
    comb(x, n) 返回 x 的组合数,每次取 n。

  • digits(…)
    digits(x[, base=10]) 返回一个代表 x 的小数点的字符串。

  • div(…)
    div(x, y) 返回 x / y。结果类型取决于输入类型。

  • divexact(…)
    divexact(x, y) 返回 x 除以 y 的商,比标准除法更快,但要求余数为零

  • divm(…)
    divm(a, b, m) 返回x,使得b * x == a modulo m. 如果不存在这样的值x,则引发ZeroDivisionError异常。

  • f_div(…)
    f_div(x, y) 返回x除以y的商,商被四舍五入到-Inf(四舍五入),x和y必须是整数。

  • f_div_2exp(…)
    f_div_2exp(x, n) 返回 x 除以 2**n 的商。x必须是一个整数,n必须>0。

  • f_divmod(…)
    f_divmod(x, y) 返回x除以y的商和余数。商被向-Inf方向四舍五入(底限四舍五入),余数的符号与y相同。

  • f_divmod_2exp(…)
    f_divmod_2exp(x, n) 返回x除以2**n后的商和余数。商被四舍五入到-Inf(四舍五入),余数将是正数。

  • f_mod(…)
    f_mod(x, y) 返回 x 除以 y 的余数,余数的符号与 y 相同。

  • f_mod_2exp(…)
    f_mod_2exp(x, n) 返回 x 除以 2**n 的余数。余数将是正数。x必须是整数,n必须>0。

  • fac(…)
    fac(n) 返回 n 的精确阶乘。使用factorial()来获得浮点的近似值。

  • fib(…)
    fib(n) 返回第n个斐波那契数。

  • fib2(…)
    fib2(n) 返回一个包含第(n-1)个和第(n)个斐波那契数的 2 元组。

  • gcd(…)
    gcd(a, b) 返回整数 a 和 b 的最大公除数。

  • gcdext(…)
    gcdext(a, b) 返回一个 3 元组(g, s, t),使得
    g == gcd(a, b) and g == a * s + b * t

  • hamdist(…)
    hamdist(x, y) 返回整数x和y之间的汉明距离(位数不同的位点数量)。

  • invert(…)
    invert(x, m) 返回y,使x * y == 1 modulo m,如果不存在这样的y,则为0。

  • iroot(…)
    iroot(x,n) 返回一个 2 元组(y, b),使得 y 是 x 的第 n 个整数根,如果根是精确的,则 b 为 True. x 必须 >= 0,n 必须 >0。

  • iroot_rem(…)
    iroot_rem(x,n) 返回一个 2 元组(y, r),使得 y 是 x 的第 n 个整数根,并且 x = y**n + r. x 必须 >= 0,n 必须 >0。

  • is_even(…)
    is_even(x) 如果x是偶数,返回True,否则返回False。

  • is_odd(…)
    is_odd(x) 如果x是奇数,则返回True,否则返回False。

  • is_power(…)
    is_power(x) 如果x是一个完美的幂,返回True,否则返回False。

  • is_prime(…)
    is_prime(x[, n=25]) 如果x可能是素数,返回True。如果x肯定是质数,则返回False。x被检查为小除数,最多可进行n次Miller-Rabin测试。实际进行的测试可能会根据使用的GMP或MPIR的版本而有所不同。

  • is_square(…)
    is_square(x) 如果x是一个完全平方,返回True,否则返回False。

  • isqrt(…)
    isqrt(x) 返回一个整数x的整数平方根,x必须>=0。

  • isqrt_rem(…)
    isqrt_rem(x) 返回一个2元组(s, t),使得s = isqrt(x),t = x - s * s. x必须>= 0。

  • jacobi(…)
    jacobi(x, y) 返回雅可比符号(x | y)。

  • kronecker(…)
    kronecker(x, y)返回克朗克-雅可比符号(x | y)。

  • lcm(…)
    lcm(a, b) 返回整数 a 和 b 的最小公倍数。

  • legendre(…)
    legendre(x, y) 返回 Legendre 符号 (x | y),假设 y 是奇数素数。

  • lucas(…)
    lucas(n)返回第n个Lucas数。

  • lucas2(…)
    lucas2(n)返回一个包含第(n-1)个和第n个卢卡斯数的2元组。

  • mpz(…)
    mpz()返回一个设置为0的新mpz对象。
    mpz(n) 从一个数值n返回一个新的mpz对象,如果n不是一个整数,它将被截断为一个整数。
    mpz(s[, base=0]) 从一个由指定基数的数字组成的字符串s返回一个新的mpz对象。如果base=0,那么二进制、八进制或十六进制的Python字符串会被识别为前导0b、0o或0x字符。否则,字符串将被假定为十进制。基数的范围在2和62之间。

  • mpz_random(…)
    mpz_random(random_state, n) 返回一个在0和n-1之间的均匀分布的随机整数。参数random_state必须先由random_state()创建。

  • mpz_rrandomb(…)
    mpz_rrandomb(random_state, b)返回一个介于0和2b - 1之间的随机整数,在其二进制表示中具有长序列的0和1。参数random_state必须先由random_state()创建。
    mpz_urandomb(…)
    mpz_urandomb(random_state, b)返回一个在0和2
    b - 1之间的均匀分布的随机整数,参数random_state必须先由random_state()创建。

  • mul(…)
    mul(x, y) 返回x * y。结果类型取决于输入类型。

  • next_prime(…)
    next_prime(x) 返回下一个可能的质数 > x。

  • num_digits(…)
    num_digits(x[, base=10]) 返回代表x的绝对值的字符串的长度,以弧度为基准。如果基数是2的幂,结果是正确的。对于其他基数,结果通常是正确的,但可能是1太大。基数范围在2和62之间,包括在内。

  • popcount(…)
    popcount(x) 返回x中值为1的比特数。如果x<0,值为1的比特数是无限的,所以在这种情况下返回-1。

  • powmod(…)
    powmod(x, y, m) 返回 (x ** y) mod m. 指数y可以是负数,如果x的倒数mod m存在,将返回正确的结果。否则,会产生一个ValueError。

  • remove(…)
    remove(x, f) 将尽可能多地从x中去除因子f,并返回一个2元组(y, m),其中y = x // (f ** m),f不除以y。

  • sub(…)
    sub(x, y)返回x - y。结果类型取决于输入类型。

  • t_div(…)
    t_div(x, y) 返回x除以y的商,该商被四舍五入为零(截断)。

  • t_div_2exp(…)
    t_div_2exp(x, n) 返回 x 除以 2**n 的商。该商被四舍五入为零(截断),n必须>0。

  • t_divmod(…)
    t_divmod(x, y) 返回x除以y的商和余数,商被四舍五入为零(截断),余数与x的符号相同。

  • t_divmod_2exp(…)
    t_divmod_2exp(x, n) 返回x除以2**n的商和余数。商被四舍五入为零(截断),余数的符号与x相同。

  • t_mod(…)
    t_mod(x, y) 返回x除以y的余数,余数的符号与x相同。

  • t_mod_2exp(…)
    t_mod_2exp(x, n) 返回 x 除以 2**n 的余数。余数的符号与x相同。x必须是一个整数,n必须>0。

Python gmpy2 mpz Methods相关推荐

  1. python gmpy2模块、yafu的简单学习记录(RSA向)

    最近刷reverse经常碰到偏密码学的题,其中最典型的就是RSA,简单科普一下RSA. RSA属于非对称密钥的一种,由公钥和私钥这一对密钥组成.假设小红想传输一段信息给小白,她只需要用公钥对信息进行加 ...

  2. A Guide to Python's Magic Methods

    Book Source:[https://rszalski.github.io/magicmethods/] magic methods: 名称前后有双下划线的方法 构造函数和初始化 初始化类实例时, ...

  3. Python 的 Magic Methods 指南(转)

    介绍 本指南是数月博客的总结.主题是魔术方法. 什么是魔术方法呢?它们是面向对象Python语言中的一切.它们是你可以自定义并添加"魔法"到类中的特殊方法.它们被双下划线环绕(比如 ...

  4. Python 的 Magic Methods 指南

    摘要: 介绍 本指南是数月博客的总结.主题是魔术方法. 什么是魔术方法呢?它们是面向对象Python语言中的一切.它们是你可以自定义并添加"魔法"到类中的特殊方法.它们被双下划线环 ...

  5. Python 魔法方法(pythonzho 的 Magic Methods 指南)

    介绍 本指南是数月博客的总结.主题是魔术方法. 英文原文:A Guide to Python's Magic Methods 什么是魔术方法呢?它们是面向对象Python语言中的一切.它们是你可以自定 ...

  6. python3中的int类型占64位,有没有什么办法来强制Python来使用64位整数的Windows?

    I've noticed that whenever any integer surpasses 2^31-1 my number heavy code suffers a large slowdow ...

  7. 100多本python书,免费电子版下载

    推荐: 1.Coffee Break Python Slicing: 24 Workouts to Master Slicing in Python, Once and for All 切片(Slic ...

  8. python 开发api_使用FastAPI和Python快速开发高性能API

    python 开发api If you have read some of my previous Python articles, you know I'm a Flask fan. It is m ...

  9. 一个月学会Python的Quora指南和资料放送

    欢迎关注天下博客:http://blog.genesino.com/2017/12/python-quora/ 如何一个月学会使用Python 文章翻译自Quora上的回帖,略有改动.原文链接:htt ...

最新文章

  1. qemu模拟armlinux执行目标文件系统的可执行文件
  2. Microsoft SQL Server 2008技术内幕:T-SQL查询---------查询优化
  3. Element UI——数字输入框解决方案
  4. 2019牛客暑期多校训练营(第九场)
  5. 在html中用js代替${pagecontext.request.getcontextpath}这样就不用使用jsp了
  6. Leetcode每日一题:559.maximum-depth-of-n-ary-tree(N叉树的最大深度)
  7. 2月26日 Scrapy入门
  8. Atitit. 数据约束 校验 原理理论与 架构设计 理念模式java php c#.net js javascript mysql oracle
  9. MyCat全局序列之本地文件方式
  10. 设计师学python还是processing_人人都能学会的processing创意编程能实现什么?
  11. Mac使用终端连接远程LInux,FTP连接
  12. 基于JSP的网上订餐管理系统
  13. 结合P2P软件使用Ansible分发大文件 1
  14. 华为员工离职心声:菊厂15年退休,感恩,让我实现了财务自由!
  15. 戴尔服务器加无线网卡用不了,戴尔笔记本无线网卡驱动如何安装?(已解决)...
  16. ssh publisher_3种Microsoft Publisher的开源替代品
  17. 奇安信行业安全研究中心
  18. 畅想未来的我计算机,畅想未来的电子计算机
  19. Opencv(C++)系列学习---opencv_contrib安装
  20. Swift使用UIImagePickerController 从相册选择图片、从相机选择图片

热门文章

  1. 使用LaTeX绘制列表(有的地方称作Num Item)
  2. 【less-3】sqli-labs靶场第三关
  3. 算法学习四:算法性能分析理论基础——函数增长与渐进分析
  4. CODEVS-1215迷宫
  5. 信息传递(luogu 2661)
  6. NW.js 简介与使用
  7. 文本输入框input将输入转换为统一大小写
  8. web前端到底怎么学?干货资料!
  9. Windows下Hook API技术小结 (转)
  10. 使用axure的团队项目功能