2013-05-04 4 views
1

Я работаю над проектом, который вращается вокруг многоцелевых «сложных» чисел, в частности, это приложение на основе набора Мандельброта, но с завихрением, которое требует достойного соответствия между выходом (быстрого) модуля расширения C++ py (boost, cython , или другие ...) и чистые модули python, которые могут захотеть использовать его.Многоуровневая библиотека Python, которая хорошо работает с boost :: multiprecision или другими параметрами?

Прямо сейчас я использую boost :: multiprecision, чтобы обернуть тип raw MPFR, и да, если бы я просто хотел передать mpfr_t на python, это было бы одно. Однако для этого приложения мне нужно сохранить результат модуля C++ в виде строки, которая будет интерпретирована позже модулем Python и должна дать тот же номер.

BigFloat должен быть MPFR питон обертка, но не интерпретирует строку буквального из X точности поплавка точно таким же образом, как повышение :: данных multiprecision в() метод.

Кто-нибудь знает о комбинации библиотек плюс подход, который делает, что обеспечивает точное соответствие между строковыми литералами C++ и Python чисел с плавающей запятой произвольной точности?

Я могу предоставить отрывки кода, если необходимо, чтобы проиллюстрировать проблему, но придумал, что это достаточно загадочно, чтобы, если кто-нибудь получил ответ, они точно знали, что я имею в виду и как его исправить.

ответ

0

Я поддерживаю gmpy2, который представляет собой оболочку Python для MPFR и MPC (и GMP). Если вы можете привести пример, я могу помочь.

+0

Спасибо, это именно то, что я закончил делать! Жаль, что это заняло так много времени, чтобы вернуться сюда, но да, 'gmpy2' сделал трюк. Мой C-решение все еще немного быстрее, поэтому я в конечном итоге предложил пользователю выбрать, какое решение MP они хотели использовать. – Joseph8th