Я использую GMP и хочу быстро конвертировать mpz
в mpf
. Я просмотрел библиотеку и не мог найти много. Лучшее, что я мог придумать, было это:
mpz_t x;
/* Insert code here that assigns some value to x */
char buf[SIZE];
gmp_sprintf(buf, "%Zd", x);
mpf_t y;
mpf_set_str(y, buf);
Это решение требует многократного преобразования в и из строки. Кроме того, оно ограничено SIZE
, и я не вижу способа предопределить, насколько большим должен быть SIZE
. Есть ли лучший способ сделать это преобразование?