![]() |
![]() |
Aelita |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 12 Пол: Женский Репутация: ![]() ![]() ![]() |
Мне нужен модуль для очень быстрых операций с довольно большими числами (256 бит) со знаком.
Т. е. что-то типа Int256. Причем принципиальна именно скорость, так как программе приходится выполнять многие миллионы перемножений и сложений. В Интернете есть довольно много разных модулей с массой операций для очень-очень больших чисел (тысячи десятичных знаков). Какой из них самый быстрый (для чисел не очень-то длинных: 256 бит)? Или есть какой-то шустрый код в какой-нибудь классической книге? Кто профи в этом вопросе, откликнитесь, плиз. ![]() P. S. Я работаю во FReePascal-e |
![]() ![]() |
Aelita |
![]()
Сообщение
#2
|
Новичок ![]() Группа: Пользователи Сообщений: 12 Пол: Женский Репутация: ![]() ![]() ![]() |
Я не совсем понимаю, что именно не работает.
![]() Я компилирую программу под FreePascal 2.0.2 (версия 1.0.10 не подходит, так как в ней Int64 реализован криво -- это и по моему опыту, и по мнению разработчиков). Программу я компилирую FreePascal-ем для DOS-а и она работает в псевдоDOS режиме (под управлением Windows XP). (В реальных задачах я работаю даже в чистом DOS-e, поскольку критично не только быстродействие, но и нередко -- объем памяти, а Windows жрет ее много и не пойми на что). После этого в командной строке я запускаю программу, подавая имя тестового файла как первый аргумент: Al-m8ext.exe test-ext.txt Программа считает файл секунд за 10-20. Runtime error 216 я не получаю, по крайней мере на данном тесте. ![]() Сообщение отредактировано: Aelita - 17.03.2006 4:25 |
![]() ![]() |
![]() |
Текстовая версия | 20.06.2025 8:00 |