Я ищу хорошую математическую библиотеку произвольной точности в C или C++. Вы могли дать мне некоторые советы / предложения?
Основные требования:
Вот то, что я нашел до сих пор:
Что я уже знал:
Что я не знаю:
Что я ценю:
НЕ отвечайте на этот вопрос если:
GMP - популярный выбор. В Squeak Smalltalk есть очень хорошая библиотека, но она написана на Smalltalk.
Вы просили подходящие книги или статьи. Сложная часть bignum - деление в столбик. Я рекомендую статью Пера Бринча Хансена Многократное деление снова: обзор минного поля .
В целом, самая быстрая библиотека произвольной точности общего назначения - это GMP . Если вы хотите работать со значениями с плавающей запятой, посмотрите библиотеку MPFR . MPFR основан на GMP.
Что касается встроенной поддержки произвольной точности на других языках, Python использует свою собственную реализацию из-за лицензии, размера кода и переносимости кода. Модуль GMPY позволяет Python получить доступ к библиотеке GMP.
casevh
Я сам не сравнивал арифметические библиотеки произвольной точности друг с другом, но люди, которые, кажется, более или менее единообразно придерживаются GMP. Как бы то ни было, целые числа произвольной точности в GHC Haskell и GNU Guile Scheme реализованы с использованием GMP, а самая быстрая реализация эталонного теста pidigits на языковой выборке основана на GMP.