
17.12.2009 Шакиров Рауль Нурович (домашняя страница)
Класс cBigNumber реализует целые числа неограниченной разрядности для С++. Предусмотрены все штатные операции языка C++, включая арифметические, логические и битовые операции, операции сравнения, сдвиги, а также потоковый ввод-вывод со всеми целочисленными модификаторами. Дополнительные функции – возведение в степень, возведение в степень по модулю, квадратный корень и проверка на простоту по методу Миллера. Класс оптимизирован для работы с числами от 500 до 20,000 двоичных разрядов. Испытания проведены для чисел, содержащих до 12,000,000 двоичных разрядов. Класс протестирован в Borland C++ 3.1, 4.5, Builder 1.0, Visual C++ 6.0, 2002-2010, gcc 2.96, 3.3.3 (ARM) 4.1.2 (64 bit), 4.2.3 на 10,000,000,000+ примерах.
В состав дистрибутива входят исходные коды класса и документация на русском и английском языках, программы, скомпилированные для Linux 32/64 bit и Windows: высокопроизводительный калькулятор неограниченных целых чисел Arifexp, программа перемножения неограниченных квадратных матриц Matrix и программа проверки неограниченных чисел на простоту Miller.
Новая версия класса использует метод умножения Карацубы и машинное умножение с двойной точностью(*), вместе дающие примерно 10-кратное ускорение, обладает совместимостью с современными трансляторами на различных платформах (ARM, Linux 32/64 bit, Windows).
(*)Пакет с машинными командами работает на платформе Windows/Wine и распространяется отдельно от основного пакета.
| Загрузок: | 149 |
| Категории: | Математические и научные приложенияC / C++ / C# |
| Версия: | 1.2b |
| Инсталляция: | без инсталляции |
| Платформы: | WindowsLinuxWindows Mobile |
Комментарии (0)