Функция gmp mpf_pow_ui - PullRequest
       19

Функция gmp mpf_pow_ui

2 голосов
/ 29 марта 2012

Я использую mpf_t из gmp, чтобы получить очень высокую точность.

Мой диапазон точности варьируется от отрицательных триллионов до положительных триллионов, а также от 1 до этих чисел. Однако mpf не поддерживает функцию power, которая допускает отрицательные показатели, есть ли способ обойти это, если я хочу повысить свое значение до 10 ^ -30?

http://gmplib.org/manual/Float-Arithmetic.html#Float-Arithmetic

мой вывод gdp, когда я пытаюсь использовать mpf_pow_ui, когда мой exp отрицателен:

(gdb) p exp_multiplier
$9 = {{_mp_prec = 2, _mp_size = 3, _mp_exp = 957480584338323631, _mp_d = 0x605070}}

Это в конечном итоге вызовет ошибку сегмента.

1 Ответ

4 голосов
/ 29 марта 2012

Если есть сомнения, примените математику:

10^-30 = 1 / 10^30

Просто возведите его в положительную силу и возьмите ответное.

Есть функция деления mpf_ui_div(), для которой требуется целочисленный числитель.

...