GNU Multiple-Precision Library (GMP) - это зрелая бесплатная библиотека для арифметики произвольной точности с поддержкой больших целых чисел со знаком, рациональных чисел и чисел с плавающей запятой. Базовый интерфейс предназначен для C, но существуют оболочки для других языков, включая Ada, C++, C#, OCaml, Perl, PHP и Python. Он распространяется под лицензией GNU LGPL и используется для приложений криптографии и в системах компьютерной алгебры, таких как Mathematica и Maple.

GMP, или GNU Multiple Precision Arithmetic Library, — это библиотека, позволяющая выполнять арифметические операции с произвольной точностью. Это означает, что вычисления с использованием внутренних переменных библиотек не ограничены обычными ограничениями точности на уровне битов, которыми изначально обладают многие языки.

Он может поддерживать несколько различных типов данных, включая числа с плавающей запятой, целые числа со знаком и рациональные числа. Он в основном используется в областях, связанных с криптографией, а также широко используется в численных исследованиях, других типах приложений безопасности и вычислительной алгебре.

Полные слова используются в качестве внутреннего типа данных, а логика используется для выбора отдельных алгоритмов в зависимости от размера операнда в целях повышения эффективности. Критические части библиотеки используют код сборки и специализированы для различных процессоров для дальнейшего повышения эффективности.

GMP предназначен для работы в системах, работающих под управлением производных Unix, включая Linux и Solaris, но может также работать на 32-разрядных и 64-разрядных машинах Windows.

Руководство и информация для начала работы с GMP находятся здесь:

https://gmplib.org/manual/