Мне нужны максимальные характеристики с использованием GMP, и мне интересно, есть ли лучший способ вычислить абсолютное значение разности двух чисел. В настоящее время я использую:
mpz_sub(x, a, b);
mpz_abs(x, x);
Есть ли наиболее эффективный способ сделать это?
Ваш код должен быть близок к оптимальному. Когда источник и пункт назначения совпадают, mpz_abs
занимает постоянное время: он не читает большое число и выполняет только тривиальную операцию над знаком.
mpz_sign
для результата вычитания, хотя я не знаю, насколько это будет эффективно.