IPB
ЛогинПароль:

> Модуль для очень быстрых операций с большими числами (256 бит) со знаком
Aelita
сообщение 10.03.2006 17:15
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский

Репутация: -  0  +


Мне нужен модуль для очень быстрых операций с довольно большими числами (256 бит) со знаком.
Т. е. что-то типа Int256.
Причем принципиальна именно скорость, так как программе приходится выполнять
многие миллионы перемножений и сложений.

В Интернете есть довольно много разных модулей с массой операций для очень-очень больших чисел
(тысячи десятичных знаков).
Какой из них самый быстрый (для чисел не очень-то длинных: 256 бит)?
Или есть какой-то шустрый код в какой-нибудь классической книге?

Кто профи в этом вопросе, откликнитесь, плиз. wub.gif

P. S. Я работаю во FReePascal-e
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Aelita
сообщение 12.03.2006 21:04
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский

Репутация: -  0  +


Я не совсем понимаю, что именно не работает. nea.gif

Я компилирую программу под 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 я не получаю, по крайней мере на данном тесте. wacko.gif

Сообщение отредактировано: Aelita - 17.03.2006 4:25
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Aelita   Модуль для очень быстрых операций с большими числами (256 бит) со знаком   10.03.2006 17:15
James_Bond   Я не профи, но боюсь тебя расстроить: сомневаюсь ч...   10.03.2006 19:53
volvo   James_Bond, ты даже не представляешь, ЧТО можно тв...   10.03.2006 20:06
James_Bond   volvo, ты извини меня конечно, но я говорил про fr...   10.03.2006 21:26
volvo   James_Bond, ты можешь оставаться при своем мнении ...   11.03.2006 3:02
Aelita   Огромное спасибо, volvo, за обстоятельный ответ. ...   12.03.2006 2:51
volvo   Aelita, можно получить хотя бы фрагмент программы,...   12.03.2006 10:32
Aelita   Большое спасибо, volvo :rolleyes: Размещаю уп...   12.03.2006 18:36
volvo   Aelita, вопрос: тебе нужно type TNumber = record...   12.03.2006 20:53
Aelita   Я не совсем понимаю, что именно не работает. :nea:...   12.03.2006 21:04
volvo   Я задал вопрос относительно ИЗМЕНЕНИЙ, которые ты ...   12.03.2006 21:11
Aelita   Я поняла. :cool: Мне действительно нужно именно...   12.03.2006 23:07
volvo   Aelita, я не забыл, просто не хотелось бы выкладыв...   14.03.2006 18:06
volvo   Aelita, проверь PM ...   16.03.2006 10:55


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.06.2025 8:00
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"