【发布时间】:2022-08-19 00:48:10
【问题描述】:
GMP 是一个快速的任意精度数学库。我用它来做整数运算。
有many functions for integer divisions and remainders,但我不见了
unsigned long int mpz_tdiv_r_2exp_ui(const mpz_t n, mp_bitcnt_t b)
它不存在有什么原因吗?
顺便说一句,为什么现有的
unsigned long int mpz_tdiv_r_ui(mpz_t r, const mpz_t n, unsigned long int d);
需要mpz_t r 作为参数来获取结果,而结果保证适合unsigned long int 并且这已经返回?这似乎是不必要的性能损失。 (请注意,文档在“实际上返回余数是所有div_ui 函数所做的”中是错误的。那是错误的,因为mpz_tdiv_r_ui() 也修改了r(如您所料))。
这些奇怪的事情有什么原因吗?如果没有,那么我将提出更改请求。
标签: gmp