Недавно я познакомился с библиотекой GMP для высокоточной арифметики. Это кажется достаточно простым, но в моей первой программе я сталкиваюсь с практическими проблемами. Как оценивать выражения. Например, если у меня есть «1 + 8 * z^2», а z - переменная mpz_t «большого целого», как я могу ее быстро оценить? (У меня есть большие выражения в программе, которую я пишу.) В настоящее время я выполняю каждую отдельную операцию вручную и сохраняю результаты во временных переменных, например, для выражения «1 + 8 * z^2»:Обработка выражений в GMP
1) сначала сделать mpt_mul (г, г, г) в квадрат Z
2), а затем определить переменную mpz_t под названием "восемь" со значением 8.
3) умножить результат от одного шага к этому 8 и хранить в переменной temp.
4) определяют переменную mpz_t под названием «один» со значением 1.
5) добавить это к результату в шаге 3, чтобы найти окончательный ответ.
Это то, что я должен делать? Или есть лучший способ? Это действительно помогло бы, если бы было руководство пользователя для GMP, чтобы люди начали работу, но есть только справочное руководство.
Да. Я использую чистый C. –
В этом случае вы применяете правильный подход. Возможно, вы захотите рассмотреть возможность перехода на C++, если вы собираетесь много чего делать. –