Я пишу функцию, которая использует 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);
Могу ли я рассчитывать на то, что предыдущее значение tmp1 будет полностью очищено от переменной при ее переназначении e*f
?
Задача ещё не решена.
Других решений пока нет …