2009-12-30 14 views
6

Używam long double in programu C do obliczania obrazów 2D Zestawu Mandelbrota, ale chcę mieć dalszą precyzję, aby powiększyć głębiej.Jaka jest najszybsza, pół-arbitralna, precyzyjna biblioteka matematyczna?

Czy można uzyskać przyrost wydajności z dowolnej precyzyjnej biblioteki matematycznej, która może ograniczyć precyzję wymaganą, zamiast przeskakiwać z precyzji od arbitralnej do precyzyjnej?

Jaka jest najszybsza z arbitralnych bibliotek matematycznych?

+0

Oto wynik, jeśli ktoś jest zainteresowany: http://jwm-art.net/mdz/ –

+0

, jeśli nie potrzebujesz arbitralnej precyzji, to ['boost :: multiprecision'] (http://www.boost.org /doc/libs/1_53_0/libs/multiprecision/doc/html/boost_multiprecision/intro.html), z dokładnością "może być dowolnie duża (ograniczona tylko dostępną pamięcią), ustalona podczas kompilacji (na przykład 50 lub 100 cyfr dziesiętnych) lub zmienna kontrolowana w czasie wykonywania przez funkcje składowe ", może być lepsza niż GMP. Lub możesz użyć ['ttmath'] (http://www.ttmath.org/) jak wspomniano [tutaj] (http://stackoverflow.com/questions/3692602/fastest-128-bit-integer-library?rq = 1) –

Odpowiedz

6

"Najszybszy" będzie w pewnym stopniu zależał od platformy i przeznaczenia.

The MPFR Library

GMP

Ten wiki article zawiera linki do kilku bibliotek.

+0

+1; mpfr to złoty standard. –

+0

Używam MPFR od twojej odpowiedzi. Aby go użyć, przypomina to, jak pamiętam MAPM, którego używałem kilka lat temu na znacznie starszym komputerze. Wówczas MAPM na starym 32-bitowym sprzęcie nie nadawał się do generowania obrazów Mandelbrota nawet bez powiększania. Teraz, na znacznie szybszym 64-bitowym sprzęcie, MPFR jest zdecydowanie użyteczny. Złe porównanie Wiem ... ... ... ... –

2

Jeśli potrzebujesz więcej precyzji, patrz qd pod adresem http://crd.lbl.gov/~dhbailey/mpdist/.

+0

Wydaje się, że tylko wspomina C++, a nie C, ponieważ to pytanie jest oznaczone. –

+0

qd ma C API. Kod podstawowy znajduje się w C++. – lhf

Powiązane problemy