| Lapp |
12.11.2010 1:05
Сообщение
#1
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Допустим, мне нужно несколько самостоятельных параллельных линий, использующих случайные числа. Как известно, для отладки желательно не отрабатывать процедуру Randomize - тогда мы имеем повторяемость последовательности случайных чисел, выдаваемых функцией Random. "Сбить" такую последовательность можно, например, пропуском нескольких чисел. Вопрос же состоит в следующем: могу ли я (в отладочных целях или еще по какой причине) получить в одном процессе повторяемую последовательность, а в другом - нет?
-------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
![]() ![]() |
| volvo |
12.11.2010 2:06
Сообщение
#2
|
|
Гость |
Можешь попробовать. Исходники функции Random найти проще простого - они лежат в \fpc-2.2.4.source\fpc-2.2.4\rtl\inc\system.inc (у меня исходники для предыдущей версии, лень перекачивать, не так уж много там и изменилось), подкорректируй эту функцию так, чтобы она использовала не одну и ту же переменную RandSeed, а несколько (для каждой необходимой тебе "линии" - своя "затравка").
Кстати, "линия" - это ты о чем? Если о потоках - то вот это: Embarcadero QC -> #4368 может быть тебе интересно. Тут фактически готовое решение. |
Lapp псевдослучайныЕ последовательностИ 12.11.2010 1:05
Lapp подкорректируй эту функцию так, чтобы она использо... 12.11.2010 4:00
Dypexia Допустим random действительно генерит дискретную п... 13.02.2011 15:01
Lapp Допустим random действительно генерит дискретную п... 16.02.2011 4:12
andriano Редко захожу на форум, поэтому своевременно не вид... 17.02.2011 22:43![]() ![]() |
|
Текстовая версия | 9.12.2025 1:03 |