我可以使用 `mpfr_t` 作为输入和输出参数吗?

Can I use a `mpfr_t` as both input and output argument?

问题很简单直接,但是我在documentation上找不到答案。如果我有

mpfr_t a, b;

我可以做类似的事情吗

mpfr_add(a, a, b, rnd);

这将计算 ab 的总和并将结果存储在 a 上。我不知道这是否会导致别名问题,可能使结果无效,或者这是否可以。

没关系,它在链接文档的第 4.3 节中。

MPFR allows you to use the same variable for both input and output in the same expression. For example, the main function for floating-point multiplication, mpfr_mul, can be used like this: mpfr_mul (x, x, x, rnd). This computes the square of x with rounding mode rnd and puts the result back in x.