Класс cBigNumber реализует целые числа неограниченной
разрядности для С++ c высокой производительностью и достоверностью результатов.
Предусмотрены все штатные операции языка C++,
включая арифметические, логические и побитовые операции,
операции сравнения, сдвиги, а также потоковый ввод-вывод
со всеми целочисленными модификаторами.
Дополнительные функции - возведение в степень, возведение
в степень по модулю, квадратный корень и проверка на
простоту по методу Миллера.
Класс оптимизирован для работы с числами до 100,000 и более двоичных разрядов.
Испытания проводились для чисел, содержащих до 12,000,000 двоичных разрядов.
Класс имеет реентерабельный код для поддержки разработки многопоточных приложений.
Тесты проводятся в
Microsoft Visual C++ 6.0, 2002-2022,
Borland C++ 3.1 (16 bit), 4.5, Builder 1.0,
GNU g++ 2.9.6, 3.3.3 (ARM), 4.1.2, 4.2.3, 6.4.0, 9.4.0,
Clang++ 4.0.0, 10.0.0.
Производительность класса
Руководство программиста и список изменений (англ, русский вариант находится в дистрибутиве)
Свидетельство о государственной регистрации программы для ЭВМ № 2018616598 "Класс С++ для проведения достоверных целочисленных расчетов с неограниченной разрядной сеткой / Шакиров Р.Н.", заявка № 2018613567 от 11.04.2018 г. ИМаш УрО РАН.
Тест: Загрузить: История: Прежние версии: |
Версия 2.2 beta public от Авг 3, 2024 (десятикратное ускорение деления и возведения в степень по модулю)
Обновление версии 2.1c public от Окт 29, 2023 (совместимость с C++ 11 и clang)
Версия 2.1c public от Ноя 17, 2017, документация обновлена Окт 23, 2022 (поддержка 128/64-разрядного аппаратного деления)
Версия 2.1b beta public от Сент 10, 2017, документация обновлена Ноя 10, 2017 (оптимизированное деление на 64/128-разрядный делитель)
Версия 2.1a beta public от Июня 27, 2017 (оптимизированное деление на 32/64-разрядный делитель)
Версия 2.1 beta public от Дек 28, 2016 (быстрое встроенное умножение и операции с 64-разрядным делителем/модулем)
Версия 2.0а public от Июля 29, 2016 (asm код c инструкцией MULX)
Версия 2.0 public от Ноя 20, 2010, Янв 16, 2015 (64-разрядный C/asm код для Visual C++/g++)
32-битные версии:
1.2c public от Марта 30, 2011 (реентерабельная)
1.2b public от Ноя 19, 2009, обновлена Ноя 20, 2010 (g++)
32-битные бета версии:
1.2a beta public от Сент 22, 2007
1.2 beta public от Июня 15, 2007
1.1a beta public от Ноя 26, 2005
Ассемблерный пакет для Visual/Borland C++ и g++ с ускоренным умножением и делением доступен по запросу.
|
Дотации: |
Платить за класс cBigNumber не надо. А если Вы решили поддержать его
разработку - то свяжитесь со мной. Перевод принимается,
как добровольное пожертвование, полученные средства направляются на
развитие и тестирование класса. Пожертвование может быть обусловлено
реализацией дополнительных функций по договоренности.
|
Форум: |
Консультации
|
Контакты: |
|
Хотя это и не является обязательным условием,
Вам рекомендуется подписаться на рассылку. В рассылку включаются
объявления о новых версиях данного программного обеспечения и
предупреждения об ошибках. Автор подтверждает, что Ваш адрес электронной
почты не будет использоваться для любых других целей и не будет предоставлен
третьим лицам.
|
Ссылки:
Динамические массивы с автоматической проверкой индекса
Большие натуральные числа
The Prime Page
Miller strong probable prime test
|