Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

The question is very simple and direct, but I could not find an answer on the documentation. If I have

mpfr_t a, b;

Can I do something like

mpfr_add(a, a, b, rnd);

This would compute the sum of a and b and store the result on a. I don't know if this results in an aliasing problem, potentially invalidating the result, or if this is fine.

like image 798
Spiros Avatar asked Feb 24 '17 10:02

Spiros


1 Answers

Never mind, it's in section 4.3 of the linked document.

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.

like image 164
Spiros Avatar answered Sep 30 '22 10:09

Spiros