Какая самая быстрая математическая библиотека с полупроизвольной точностью?

Я использую long double in программу на C для вычисления 2D-изображений набора Мандельброта, но хочу иметь большую точность для более глубокого масштабирования.

Есть ли какой-либо выигрыш в производительности от математической библиотеки произвольной точности, которая может ограничивать количество точности по мере необходимости, а не прыгать от точности long double прямо к произвольной точности?

Какая самая быстрая из математических библиотек произвольной точности?


person James Morris    schedule 30.12.2009    source источник
comment
Вот результат, если кому интересно: jwm-art.net/mdz   -  person James Morris    schedule 03.01.2010
comment
если вам не нужна произвольная точность, тогда boost::multiprecision, с точностью может быть произвольно большой (ограниченной только доступной памятью), фиксированной во время компиляции (например, 50 или 100 десятичных цифр) или переменной, управляемой во время выполнения функциями-членами, может быть лучше чем ГМП. Или вы можете использовать ttmath как указано здесь   -  person phuclv    schedule 29.01.2015


Ответы (2)


«самый быстрый» будет в некоторой степени зависеть от вашей платформы и предполагаемого использования.

Библиотека MPFR

GMP

Эта вики-статья содержит ссылки на несколько библиотек.

person Mitch Wheat    schedule 30.12.2009
comment
+1; mpfr является золотым стандартом. - person Stephen Canon; 31.12.2009
comment
Я использую MPFR с момента вашего ответа. В использовании это очень похоже на то, каким я помню MAPM, который я использовал несколько лет назад на гораздо более старом компьютере. В то время MAPM на старом 32-битном оборудовании нельзя было использовать для создания изображений Мандельброта даже без увеличения масштаба. Теперь, на гораздо более быстром 64-битном оборудовании, MPFR определенно можно использовать. Плохое сравнение, я знаю... ... ... ... - person James Morris; 31.12.2009

Если вам нужна дополнительная точность, см. qd на http://crd.lbl.gov/~dhbailey/mpdist/.

person lhf    schedule 30.12.2009
comment
Кажется, упоминается только C ++, а не C, поскольку этот вопрос помечен. - person James Morris; 31.12.2009
comment
qd имеет C API. Основной код находится на C++. - person lhf; 31.12.2009