GMP: получить абсолютную величину разницы?

0

Мне нужны максимальные характеристики с использованием GMP, и мне интересно, есть ли лучший способ вычислить абсолютное значение разности двух чисел. В настоящее время я использую:

mpz_sub(x, a, b);
mpz_abs(x, x);

Есть ли наиболее эффективный способ сделать это?

  • 0
    Вы уверены, что производительность страдает от функций GMP? Вы пытались профилировать свой код? И нет, я не слышал о более быстром способе.
  • 0
    Вы можете использовать mpz_sign для результата вычитания, хотя я не знаю, насколько это будет эффективно.
Показать ещё 3 комментария
Теги:
optimization
gmp

1 ответ

4
Лучший ответ

Ваш код должен быть близок к оптимальному. Когда источник и пункт назначения совпадают, mpz_abs занимает постоянное время: он не читает большое число и выполняет только тривиальную операцию над знаком.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню