用mpq_t进行gmp lazy规范化吗?

时间:2015-11-25 09:27:10

标签: performance gmp

使用gmp理性,我是否有责任将我的电话预订到canonicalize()(性能成本高昂)? gmp是否知道自上次调用canonicalize()以来理性没有改变,如果我尝试规范化,它会回来吗?

我在文档中找不到答案,也许有人已经考虑了这个来源。

1 个答案:

答案 0 :(得分:0)

它不可能只返回,因为mpq_t不包含任何形式的信息,无论分数是否已经是规范形式。至少GMP文档没有提及16.2 Rational Internals

  

mpq_t变量使用mpz_t分子表示有理数   分母(见整数内部)。

在实践中,它可能会调用mpz_gcd()(或等价物)来检查分子和分母是否是互质。