GMP:禁止自我指派吗?

时间:2015-08-05 14:41:55

标签: c gmp

我在C中使用GMP库获得任意精确度。我所见过的所有用法示例似乎都避免了自我分配,例如:

Syntax : void mpz_add (mpz_t rop, const mpz_t op1, const mpz_t op2)

mpz_add(a, a, b); // Assign a+b to a

是允许使用这种用法还是仅用于分配给第三个变量?

1 个答案:

答案 0 :(得分:7)

这样的自我分配没有任何问题。事实上,documentation状态正好相反。根据3.4 变量约定

  

GMP允许您在一个输入和输出中使用相同的变量   呼叫。例如,整数乘法的主要功能,   mpz_mul,可用于平方x并将结果放回x中

 mpz_mul (x, x, x);