Многоточная библиотека Python, которая хорошо сочетается с boost::multiprecision или другими опциями?

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

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

Предполагается, что BigFloat является оболочкой Python MPFR, но он не интерпретирует строковый литерал числа с плавающей запятой X-точности точно так же, как метод data() boost::multiprecision.

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

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


person Joseph8th    schedule 04.05.2013    source источник


Ответы (1)


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

person casevh    schedule 04.05.2013
comment
Спасибо, это именно то, что я в итоге сделал! Извините, что так долго не возвращался сюда, но да, gmpy2 сделал свое дело. Мое решение на C по-прежнему немного быстрее, поэтому в итоге я предложил пользователю выбрать, какое решение MP он хочет использовать. - person Joseph8th; 23.06.2014