Python gmpy2 mpz Methods
写在前面:
此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出。欢迎各位前来交流。(部分材料来源网络,若有侵权,立即删除)
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 * thamdist(…)
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和2b - 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相关推荐
- python gmpy2模块、yafu的简单学习记录(RSA向)
最近刷reverse经常碰到偏密码学的题,其中最典型的就是RSA,简单科普一下RSA. RSA属于非对称密钥的一种,由公钥和私钥这一对密钥组成.假设小红想传输一段信息给小白,她只需要用公钥对信息进行加 ...
- A Guide to Python's Magic Methods
Book Source:[https://rszalski.github.io/magicmethods/] magic methods: 名称前后有双下划线的方法 构造函数和初始化 初始化类实例时, ...
- Python 的 Magic Methods 指南(转)
介绍 本指南是数月博客的总结.主题是魔术方法. 什么是魔术方法呢?它们是面向对象Python语言中的一切.它们是你可以自定义并添加"魔法"到类中的特殊方法.它们被双下划线环绕(比如 ...
- Python 的 Magic Methods 指南
摘要: 介绍 本指南是数月博客的总结.主题是魔术方法. 什么是魔术方法呢?它们是面向对象Python语言中的一切.它们是你可以自定义并添加"魔法"到类中的特殊方法.它们被双下划线环 ...
- Python 魔法方法(pythonzho 的 Magic Methods 指南)
介绍 本指南是数月博客的总结.主题是魔术方法. 英文原文:A Guide to Python's Magic Methods 什么是魔术方法呢?它们是面向对象Python语言中的一切.它们是你可以自定 ...
- 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 ...
- 100多本python书,免费电子版下载
推荐: 1.Coffee Break Python Slicing: 24 Workouts to Master Slicing in Python, Once and for All 切片(Slic ...
- 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 ...
- 一个月学会Python的Quora指南和资料放送
欢迎关注天下博客:http://blog.genesino.com/2017/12/python-quora/ 如何一个月学会使用Python 文章翻译自Quora上的回帖,略有改动.原文链接:htt ...
最新文章
- qemu模拟armlinux执行目标文件系统的可执行文件
- Microsoft SQL Server 2008技术内幕:T-SQL查询---------查询优化
- Element UI——数字输入框解决方案
- 2019牛客暑期多校训练营(第九场)
- 在html中用js代替${pagecontext.request.getcontextpath}这样就不用使用jsp了
- Leetcode每日一题:559.maximum-depth-of-n-ary-tree(N叉树的最大深度)
- 2月26日 Scrapy入门
- Atitit. 数据约束 校验 原理理论与 架构设计 理念模式java php c#.net js javascript mysql oracle
- MyCat全局序列之本地文件方式
- 设计师学python还是processing_人人都能学会的processing创意编程能实现什么?
- Mac使用终端连接远程LInux,FTP连接
- 基于JSP的网上订餐管理系统
- 结合P2P软件使用Ansible分发大文件 1
- 华为员工离职心声:菊厂15年退休,感恩,让我实现了财务自由!
- 戴尔服务器加无线网卡用不了,戴尔笔记本无线网卡驱动如何安装?(已解决)...
- ssh publisher_3种Microsoft Publisher的开源替代品
- 奇安信行业安全研究中心
- 畅想未来的我计算机,畅想未来的电子计算机
- Opencv(C++)系列学习---opencv_contrib安装
- Swift使用UIImagePickerController 从相册选择图片、从相机选择图片