我正在编写一个使用mpfr_t作为主要数据类型的函数。在此函数中,将存在长链操作,这些操作需要临时变量来存储中间结果。我想最小化我需要的临时变量的数量,所以我做的是这样的:
mpfr_t tmp1;
mpfr_t tmp2;
mpfr_sub(tmp1, a, b, MPFR_RNDN);
mpfr_mul(tmp2, c, d, MPFR_RNDN);
mpfr_add(tmp2, tmp1, a, MPFR_RNDN);
然后在函数中:
mpfr_mul(tmp1, e, f, MPFR_RNDN);
在使用e*f
重新分配变量时,是否可以依赖tmp1的先前值从变量中完全清除?