10得票1回答
如何在OS X上启用PHP中的GMP?

使用OS X 10.11.1(El Capitan)和PHP 5.5.29。 我想在我的PHP中添加GMP扩展,但我不知道如何操作。根据 PHP手册所述,我应该使用 --with-gmp=dir 选项编译PHP。但我不知道如何编译PHP(我怀疑我是否曾经在此计算机上进行过编译,因为我记得它默...

10得票1回答
mpz_t的浅拷贝

GMP提供了初始化和赋值mpz_t的方法。调用mpz_init_set(a, b)将会将b的内容赋值给a。然而,我认为这会对b执行深层复制。 在我的项目中,我需要处理长度为5,000,000的mpz_t数组(约占用640MB内存),而我使用的框架对这些类型执行各种赋值操作(我没有开发该框架,...

9得票1回答
PHP - GMP 和浮点数?

以下代码输出0,这是不正确的: $r = gmp_pow(gmp_init('-1.7976931348623157'), 308); echo gmp_strval($r); 我认为GMP库能够处理浮点数,或者是我的代码出了问题?

9得票5回答
GMP pow中的溢出处理

(我只是通过swi-prolog和yap间接使用GMP库。但我非常有兴趣解决这个问题。) 当使用荒谬的大数进行指数运算时,主机系统或GMP不再能够适当地处理溢出。我已经与上述系统的开发人员交谈过,但他们认为这不容易修复。 其他GMP系统/用户是否知道这个问题?你们如何处理这样的溢出? 首...

9得票3回答
为什么这两种动态规划实现斐波那契数列的方法中,一种比另一种更快?

最近我在研究和基准测试各种斐波那契算法,仅出于个人兴趣,并无意中想到了一种替代经典O(n)时间和O(1)空间动态编程实现的方法。 考虑以下两个函数: BigInt fib_dp_classic(int n) { if (n == 0) { return 0; } Bi...

9得票1回答
为什么BigFloat.to_s不够精确?

我不确定这是否是一个bug。但我一直在使用big,并且无法理解为什么这段代码会以这种方式工作: https://carc.in/#/r/2w96 代码 require "big" x = BigInt.new(1<<30) * (1<<30) * (1<&...

9得票3回答
GMPY2(或GMP)是否有pow()函数?

GMPY2(或GMP)有一个powmod函数,但我找不到任何关于普通指数的内容,除了python的本地pow。是否存在像这样的函数适用于mpz整数?

9得票5回答
使用GMP高效地分解大数

我需要获取所有大于1k位的数字的质因数。这些数字几乎是随机的,所以应该不难。我用C++和GMP库。如何高效地完成这个任务? 编辑:我想你们都误解了我的意思。我所说的质因数是指得到数字的所有质因数。很抱歉我的英语有问题,在我的语言中,prime和factor是一样的。 澄清(来自OP的其他帖...

9得票2回答
如何对GMP mpf类型进行序列化?

似乎GMP只提供了mpf(浮点数)类型的字符串序列化:mpf_get_str(),mpf_class::get_str() mpz(整数)类型还有一个用于原始字节的额外接口:mpz_out_raw() http://gmplib.org/manual/Function-Index.html...

8得票1回答
使用LLVM(来自Haskell)进行大数算术

一个对我之前问题的回答表明,Haskell将plusWord2#表示为llvm.uadd.with.overflow。我想做带进位的长加法,就像x86 ADC指令的工作方式一样。该指令不仅会添加其两个参数,而且还会添加进位位的内容。 然后可以像以下方式添加长数字: ADD x1 y1 AD...