MSVC ++ "официальная" библиотека произвольной точности - PullRequest
4 голосов
/ 12 октября 2011

Я ищу библиотеку произвольной точности MSVC ++.Поскольку мне не нужна кроссплатформенная совместимость для того, что я работаю, я бы предпочел не разбираться в этом.

Я попытался посмотреть на NTL , но, увидев такие заявления, как" Эти шаги работают с MSVC ++ v6 " Я не могу не мысленно похоронить это как устаревшее.Последняя сборка: 2009 08 14.

MPIR выглядит многообещающе (последняя сборка 2011 06 14), это лучшее, что я нашел на данный момент.

Любые предложения для выполнения не менее 128-битная арифметика с плавающей точкой из MSVC ++ (собственный код, а не .NET)?

Ответы [ 2 ]

5 голосов
/ 12 октября 2011

MPIR - лучшая арифметическая библиотека C ++ с множественной точностью (произвольной точности), доступная на данный момент. Тот факт, что это кроссплатформенный, является плюсом. На MSVC ++ 2010 его легко скомпилировать, вам просто нужно обязательно открыть README.TXT (поставляется вместе с загрузкой), а также прочитать Документацию (которая тихо указана как 3-я загрузка в список, но на самом деле довольно хорошо).

Он основан на GMP и заменяет NTL , от которого следует отказаться, поскольку он не поддерживается.

MPIR имеет код сборки и сборки для большого числа процессоров, включая тонну чипов Intel и AMD.

Единственная проблема, с которой я столкнулся в процессе сборки (на двух отдельных машинах!), Заключалась в том, что тип процессора был идентифицирован неправильно. На одной машине у меня был процессор "k102" (который можно считать "k10"), а на другой машине у меня был "westmere" (который можно рассматривать как "nehalem"). В любом случае это исправление BROWSE CONFIGURATION.BAT и найдите ваш тип процессора. Когда вы вызываете «configure.bat», используйте строку вроде:

configure --cpu-k10

Если вы знаете, что у вас есть процессор, совместимый с AMD k10. Это произошло с процессором AMD 1090T.

0 голосов
/ 23 мая 2019

MPIR может быть скомпилирован с Visual Studio 2017.

Брайан Глэдман поддерживает форк MPIR, который прекрасно собирается с Visual Studio: https://github.com/BrianGladman/mpir

# Open a "Visual Studio x64 Native Tools Prompt"
cd C:\github
git clone https://github.com/BrianGladman/mpir
cd mpir\msvc\vs17
msbuild gc lib x64 release

Также попробуйте запустить gen_*.bat файлы в том же каталоге, если это не работает.

Также потребуется Windows SDK.

Брайан также поддерживает ветвь MPFR, которая собирается в Visual Studio: https://github.com/BrianGladman/mpfr

Boost также включает привязки C ++ для библиотек MPFR и GMP с множественной точностью.Boost хорошо поддерживается и без проблем скомпилируется в любой версии Visual Studio.

...