Вверх ↑
Этот топик читают: Гость
Ответов: 96
Рейтинг: 1
#1: 2010-12-23 10:27:47 ЛС | профиль | цитата
Уважаемые эксперты и другие участники, помогите написать генератор спевдослучайной последовательности. Вот пример на С
#cpp
if(rand&1){rand=(rand>>1)^polynom;} else {rand=(rand>>1);}

Вот ссылка на статью http://vrtp.ru/index.php?showtopic=9500&hl=%CC-%EF%EE%F1%EB%E5%E4%EE%E2%E0%F2%E5%EB%FC%ED%EE%F1%F2%FC

Очень срочно нужно. Это для учебы. вот скрин интерфейса моей программы
картинка
------------ Дoбавленo в 14.29:
Подскажите, мтожно сделать такой генератор на IC. Леонид в свое время давал интересные схемы, но они моего преподавателя не устроили. Он хочет, чтобы они были на IC и была возможность менять образующий полином. По ссылке выше есть пример на С, но я не знаю как его прикрутить.
------------ Дoбавленo в 10.27:
Dilma, Nesco и другие ПОМОГИТЕ вот очередной исходник на С. Помогите это реализовать на Hiasm, или напишите, что не сможете. Тогда буду искать другие выходы




Можем представить полином 1235732xxxxxx в виде (32, 7, 5, 3, 2, 1, 0). Этот полином легко превратить в LFSR максимальной длины (последнее число всегда 0). Числа, кроме последнего нуля, обозначают tap sequence. В этом примере, числа означают, что взяв 32-битный регистр сдвига и генерируя новый бит путем XOR’a 32-го, 7-го, 5-го, 3-го, 2-го, 1-го бит, мы получим LFSR максимальной длины: Приведем программу на языке С для этого LFSR:

#cpp
Int LFSR() { Static unsigned long ShiftRegister = 1; ShiftRegister = (((( ShiftRegister>>31)
^( ShiftRegister>>6)
^( ShiftRegister>>4)
^( ShiftRegister>>2)
^( ShiftRegister>>1)
^( ShiftRegister)
&0x00000001)
<<31
| ShiftRegister>>1);
return ShiftRegister & 0x00000001; }

Модифицированные LFSR
Можно переписать программу, реализующую LFSR для того, чтобы не возиться с битовыми операциями, иногда такую модификацию называют конфигурацией Галуа.
#cpp
#define mask 0x80000057
Static unsigned long ShiftRegister = 1;
Void seed_LFSR(unsigned long seed)
{
If (seed == 0) seed = 1;
ShiftRegister = seed;

}
int modified_LFSR(void)
{
if(ShiftRegister & 0x00000001)
{
ShiftRegister = (ShiftRegister ^ mask >> 1) | 0x8000000;
return 1;
}
else
{
ShiftRegister >>= 1;
}
}
карма: 0

0
Ответов: 8961
Рейтинг: 824
#2: 2010-12-24 17:28:12 ЛС | профиль | цитата
301992, ох, вот мука с этими преподавателями! Ниечего не походит
Может это годится: rrrRND (1,5 Мбайт)- c выбором режима через выпадающие списки (один файл на 3-32 бита (18.5 Мбайт, поэтому перебор не быстрый), сделан из файлов по Вашим ссылкам, кстати 25-32 там с ошибкой, сильно урезаны), RND1 - ручной ввод параметров.
В IC слово и полином представлены в виде массива 0 и 1.
карма: 19

0
файлы: 1rnd1.rar [1.5KB] [122]
Ответов: 96
Рейтинг: 1
#3: 2010-12-25 09:03:50 ЛС | профиль | цитата
Леонид, спасибо за пример, но видимо я не так выражаюсь и поэтому попробую еще раз.В вашем примере на выходе десяьичное число, а должна быть двоичная последовательность.

Мне нужен генератор М-последовательности. Данный генератор имее последовательный и параллельный выходы.
Последовательный работает по принцыпу обычного Rnd, но несовсем и выдает 0 или 1, а парралельный - выдает не одно число, а сразу последовательность из 0 и 1 длинной 8, 16, 32, 64, 128 элементов.

Т.е. это может быть 5ть генераторов.

например такая строка для генератора на 8 элементов с парралельного выхода.
----------------
|1|0|0|1|1|1|0|0|

И вся эта бяка, как объяснил препод, может быть реализована програмно в железе на регистрах сдвига.

Леонид, вы уже мне отвечали в теме м-последовательность, где привели генератор на регистрах сдвига из элементов счетчик и If, но там линейые обратные связи былы сделаны какито особым случайным образом. Если нет нормального компонента РЕГИСТР СДВИГА, то можно на Вашем примере сделать.

Только там линейные обратные связи должны выбираться именно не случайным, а определенным образом (например 8, 6, 5, 3 это номера отводов от этих регистров сдвига и эти выводи должны быть заведены на элемент XOR, но у меня это не выходит) вот мой косяковый пример code_21917.txt

Мой пример работает не корректно, помогите разобраться. Я почему просил написать на IC, потому, что скорость выполнения на IC выше и моему преподу с этим разобраться будет проще.

------------ Дoбавленo в 09.03:
Вот выдержка из литературы http://forum.hiasm.com/forum_serv.php?q=56&id=2038
карма: 0

0
Ответов: 8961
Рейтинг: 824
#4: 2010-12-25 12:27:13 ЛС | профиль | цитата
301992 писал(а):
последовательность из 0 и 1

Так "Баба с возу кобыле легче!" -- перемножать не надо
карма: 19

0
файлы: 1ooornd2.rar [1.5KB] [109]
Ответов: 96
Рейтинг: 1
#5: 2010-12-25 18:42:36 ЛС | профиль | цитата
Леонид, большое спасибо. Я достал препода и он мне рассказал, что хочет видеть.

например для этого рисунка
1700*2200 217кб

1. сначала копируеться первый и последний элемент строки и межде ними происходит операция Xor.
2. производиться сдвиг строки влево
3. получившееся значение в первом пункте записывается взамен второго элемента строки (справа на лево)

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

Как это реализовать на стандартных элементах или на IC.
Вот пример цыклического сдвига с форума, единственное что при копировании крайних значений (левого и правого) данная схема выдает одинаковые символы.code_21919.txt

------------ Дoбавленo в 17.52:
Ravilr объясни как правильно прикреплять большие картинки.
Вот продолжение схемы
Add(MainForm,2953706,595,135)
{
Width=508
}
Add(Edit,15187093,252,224)
{
@Hint=#43:Добавил цыфру 3 для нагладности копирования|
Left=35
Top=60
Width=225
Text="0001"
}
Add(Copy,13143375,252,392)
{
Position=1
Count=1
link(onCopy,5959874:doStrCat,[])
link(Str,8076340:Var2,[])
link(Count,381764:Var1,[(272,320)])
}
Add(Delete,10599294,357,343)
{
Count=1
PColor(Str,5570560)
link(onDelete,3917356:doData,[])
link(Str,7370134:Var2,[])
link(Count,381764:Var3,[(377,320)])
}
Add(GetDataEx,3492842,252,266)
{
PColor(Data,5570560)
link(Data,15187093:Text,[])
}
Add(StrCat,5959874,406,392)
{
link(onStrCat,15394718:doWork3,[(492,398)])
link(Str1,3917356:GetData,[(412,384)(412,384)])
}
Add(EventFromData,3917356,406,343)
{
link(onEvent,10599294:doDelete,[(450,349)(450,333)(345,333)(345,349)])
}
Add(GetDataEx,381764,308,315)
{
}
Add(Copy,13505492,207,490)
{
Position=1
Count=1
Direction=1
link(onCopy,336402:doText,[])
link(Str,14094442:Var2,[])
link(Count,381764:Var2,[(227,383)(314,383)])
}
Add(GetDataEx,8076340,252,336)
{
link(Data,3492842:Var2,[])
}
Add(Label,12661538,700,581)
{
Left=50
Top=100
Width=38
Height=17
Caption="Левый"
}
Add(Copy,11443879,452,490)
{
Position=1
Count=1
link(onCopy,15285092:doEvent1,[])
link(Str,14094442:Var3,[(458,453)])
}
Add(Label,14267683,918,490)
{
Left=95
Top=140
Width=38
Height=17
Caption="xor"
}
Add(Math,8855637,672,490)
{
OpType=6
link(onResult,14267683:doText,[])
link(Op2,336402:Text,[(685,478)(535,478)(535,534)(342,534)])
}
Add(Hub,15285092,581,490)
{
link(onEvent1,8855637:doOperation,[])
link(onEvent2,12661538:doText,[(647,503)(647,587)])
}
Add(Edit,336402,336,490)
{
Left=140
Top=100
Width=52
Height=17
Color=-16777201
Ctl3D=1
Text="правый"
link(onChange,11443879:doCopy,[])
}
Add(GetDataEx,14094442,207,448)
{
link(Data,8076340:Var3,[(213,341)])
}
Add(Button,2185880,70,490)
{
Left=280
Top=55
Width=185
Height=45
Caption="1. копирование первого и последнего символов"
link(onClick,13505492:doCopy,[])
}
Add(Button,2009318,81,392)
{
Left=280
Top=110
Width=185
Caption="2. цыклический сдвиг"
link(onClick,13143375:doCopy,[])
}
Add(Delete,11495208,884,555)
{
Position=2
Count=1
Direction=1
PColor(Str,5570560)
link(onDelete,11191653:doData,[])
link(Str,7370134:Var3,[(890,271)])
}
Add(StrCat,15876500,933,639)
{
link(onStrCat,15394718:doWork1,[(1018,645)(1018,384)])
link(Str1,11191653:GetData,[])
link(Str2,8855637:Result,[(946,581)(678,581)])
}
Add(EventFromData,11191653,933,555)
{
link(onEvent,11495208:doDelete,[(977,561)(977,545)(872,545)(872,561)])
}
Add(Hub,13723393,805,490)
{
link(onEvent2,15876500:doStrCat,[(841,503)(841,645)])
}
Add(HubEx,15394718,488,378)
{
Angle=3
link(onEvent,15187093:doText,[(492,184)(240,184)(240,230)])
}
Add(GetDataEx,7370134,357,266)
{
Angle=3
PColor(Data,5570560)
link(Data,3492842:Var3,[])
}
Add(Button,15204834,677,410)
{
Left=280
Top=140
Width=185
Height=45
Caption="3. замена второго символа (справа)значением xor"
link(onClick,13723393:doEvent1,[(757,416)(757,496)])
}



, но почему-то не могу заменить второй элемент справа. Как это сделать? ------------ Дoбавленo в 18.42:
Помогите со схемой.
Add(Button,7030230,908,602)
{
Left=280
Top=195
Width=185
Height=45
Caption="4. устанавливает вторым элементом(справа)значение xor"
link(onClick,9259468:doInsert,[])
}
Add(MainForm,2953706,595,135)
{
Width=508
}
Add(Edit,15187093,252,224)
{
@Hint=#43:Добавил цыфру 3 для нагладности копирования|
Left=35
Top=60
Width=225
Text="0001"
}
Add(Copy,13143375,252,392)
{
Position=1
Count=1
link(onCopy,5959874:doStrCat,[])
link(Str,8076340:Var2,[])
link(Count,381764:Var1,[(272,320)])
}
Add(Delete,10599294,357,343)
{
Count=1
PColor(Str,5570560)
link(onDelete,3917356:doData,[])
link(Str,7370134:Var2,[])
link(Count,381764:Var3,[(377,320)])
}
Add(GetDataEx,3492842,252,266)
{
PColor(Data,5570560)
link(Data,15187093:Text,[])
}
Add(StrCat,5959874,406,392)
{
link(onStrCat,12551855:doWork3,[(492,398)])
link(Str1,3917356:GetData,[])
}
Add(EventFromData,3917356,406,343)
{
link(onEvent,10599294:doDelete,[(450,349)(450,333)(345,333)(345,349)])
}
Add(GetDataEx,381764,308,315)
{
}
Add(Copy,13505492,207,490)
{
Position=1
Count=1
Direction=1
link(onCopy,336402:doText,[])
link(Str,14094442:Var2,[])
link(Count,381764:Var2,[(227,383)(314,383)])
}
Add(GetDataEx,8076340,252,336)
{
link(Data,3492842:Var2,[])
}
Add(Label,12661538,469,728)
{
Left=50
Top=100
Width=38
Height=17
Caption="Левый"
}
Add(Copy,11443879,452,490)
{
Position=1
Count=1
link(onCopy,15285092:doEvent1,[])
link(Str,14094442:Var3,[(458,453)])
}
Add(Label,14267683,568,588)
{
Left=95
Top=140
Width=38
Height=17
Caption="xor"
}
Add(Math,8855637,504,588)
{
OpType=6
link(onResult,14267683:doText,[])
link(Op2,336402:Text,[(517,478)(535,478)(535,534)(342,534)])
}
Add(Hub,15285092,581,490)
{
link(onEvent1,8855637:doOperation,[(607,496)(607,545)(492,545)(492,594)])
link(onEvent2,12661538:doText,[(616,503)(616,734)])
}
Add(Edit,336402,336,490)
{
Left=140
Top=100
Width=52
Height=17
Color=-16777201
Ctl3D=1
Text="правый"
link(onChange,11443879:doCopy,[])
}
Add(GetDataEx,14094442,207,448)
{
link(Data,8076340:Var3,[(213,341)])
}
Add(Button,2185880,70,490)
{
Left=280
Top=55
Width=185
Height=45
Caption="1. копирование первого и последнего символов"
link(onClick,13505492:doCopy,[])
}
Add(Button,2009318,81,392)
{
Left=280
Top=110
Width=185
Caption="2. цыклический сдвиг"
link(onClick,9870154:doWork2,[])
}
Add(GetDataEx,7370134,357,266)
{
Angle=3
PColor(Data,5570560)
link(Data,3492842:Var3,[])
}
Add(Button,15204834,737,392)
{
Left=280
Top=140
Width=185
Height=45
Caption="3. удаляет 2-й элемент(справа)"
link(onClick,12730003:doStrCat,[])
}
Add(Insert,9259468,966,602)
{
Position=3
PColor(Str,5570560)
link(onInsert,14109302:doWork3,[(1003,608)(1003,321)])
link(Str,4068344:Var3,[(972,260)])
link(SubStr,8855637:Result,[(979,380)(804,380)(804,569)(510,569)])
}
Add(Delete,2125735,779,336)
{
Position=2
Count=1
Direction=1
PColor(Str,5570560)
link(onDelete,13428651:doData,[])
link(Str,4068344:Var1,[(785,249)(617,249)])
}
Add(HubEx,12551855,488,315)
{
Angle=3
link(onEvent,15187093:doText,[(492,184)(240,184)(240,230)])
}
Add(GetDataEx,4068344,611,255)
{
Angle=3
PColor(Data,5570560)
link(Data,7370134:Var1,[(363,260)])
}
Add(EventFromData,13428651,828,336)
{
link(onEvent,2125735:doDelete,[(872,342)(872,330)(767,330)(767,342)])
}
Add(StrCat,12730003,821,392)
{
link(onStrCat,14109302:doWork1,[(903,398)])
link(Str2,13428651:GetData,[(834,377)(834,377)])
}
Add(HubEx,14109302,899,315)
{
Angle=1
link(onEvent,12551855:doWork1,[(903,321)])
}
Add(HubEx,9870154,154,392)
{
link(onEvent,13143375:doCopy,[])
}



Как в ней сделать, чтобы один раз нажать кнопку и выполнилось последовательно все 4-е действия. И как можно данную схему модернизировать или упростить? Надеюсь на Вашу помощь. Заранее благодарен.
карма: 0

0
файлы: 2code_21917.txt [3.9KB] [166], code_21919.txt [1.8KB] [163]
Ответов: 8961
Рейтинг: 824
#6: 2010-12-25 19:37:01 ЛС | профиль | цитата
301992, Ваша картинка и Ваше описание шагов находятся в противоречии: по картинке сдвиг производится слева направо, а в п.2 "производиться сдвиг строки влево"
[flood]1. "цыц, цыган, цыплёнок"
2. Такие картинки лучше прикладывать в виде файла или сжатые архиватором[/flood]
------------ Дoбавленo в 19.37:
По картинке:

Add(MainForm,2953706,266,84)
{
Caption="Step"
}
Add(Edit,280778,294,182)
{
Left=110
Top=45
Width=30
Height=30
Font=[MS Sans Serif,14,1,0,1]
Text="0"
DataType=2
link(Str,2072488:Var3,[(300,170)(338,170)])
}
Add(Edit,9550470,364,182)
{
Left=155
Top=45
Width=30
Height=30
Font=[MS Sans Serif,14,1,0,1]
Text="1"
DataType=2
link(Str,5472174:Result,[(370,177)(352,177)(352,311)(300,311)])
}
Add(Edit,8558086,420,182)
{
Left=200
Top=45
Width=30
Height=30
Font=[MS Sans Serif,14,1,0,1]
Text="0"
DataType=2
link(Str,11807394:Var1,[(426,170)(410,170)])
}
Add(Edit,11558316,476,182)
{
Left=245
Top=45
Width=30
Height=30
Font=[MS Sans Serif,14,1,0,1]
Text="1"
DataType=2
link(Str,12987783:Var3,[(482,170)(466,170)(466,221)])
}
Add(Edit,1105118,364,266)
{
Left=135
Top=5
Width=30
Height=30
Font=[MS Sans Serif,14,1,0,1]
Text=""
}
Add(Math,5472174,294,266)
{
OpType=6
ResultType=0
link(onResult,1105118:doText,[])
link(Op1,7107925:Var2,[])
link(Op2,2072488:Var1,[(307,240)])
}
Add(Button,14607268,77,175)
{
Left=15
Top=50
Caption=">>>"
link(onClick,12088548:doNext,[])
}
Add(Counter,12088548,126,175)
{
Max=3
link(onNext,7753317:doEvent1,[])
}
Add(StrCat,7024236,217,84)
{
Str1="Step "
link(onStrCat,2953706:doCaption,[])
}
Add(Hub,7753317,168,175)
{
link(onEvent1,7024236:doStrCat,[(188,181)(188,90)])
link(onEvent2,3981288:doEvent,[])
}
Add(IndexToChanel,3981288,196,182)
{
Count=4
link(onEvent2,3402825:doEvent1,[(238,195)(238,181)])
link(onEvent3,16127852:doEvent1,[(234,202)(234,139)])
link(onEvent4,3472216:doString,[(237,209)(237,258)])
}
Add(GetDataEx,2072488,332,235)
{
Angle=1
link(Data,11347443:Var1,[])
}
Add(Hub,16127852,245,133)
{
OutCount=4
link(onEvent1,280778:doText,[(280,139)(280,188)])
link(onEvent2,11558316:doText,[(459,146)(459,188)])
link(onEvent3,8558086:doText,[(403,153)(403,188)])
link(onEvent4,9550470:doText,[(345,160)(345,188)])
}
Add(FormatStr,3472216,434,252)
{
DataCount=4
Mask="%1%2%3%4"
link(onFString,14518497:doText,[])
link(Str1,7107925:Var3,[(440,236)])
link(Str2,11807394:Var2,[(447,232)(410,232)])
link(Str3,12987783:Var2,[])
link(Str4,11347443:Var2,[])
}
Add(Label,13281877,364,287)
{
Left=165
Top=10
Font=[MS Sans Serif,10,1,0,1]
Caption="XOR"
}
Add(Edit,13505049,280,322)
{
Left=330
Top=45
Width=30
Height=30
Font=[MS Sans Serif,12,1,0,1]
Text=""
link(Str,7107925:Var1,[(286,236)])
}
Add(Label,781107,308,322)
{
Left=325
Top=25
Width=45
Height=20
Font=[MS Sans Serif,10,1,0,1]
Caption="Serial"
}
Add(Label,11293706,483,280)
{
Left=165
Top=95
Width=58
Height=20
Font=[MS Sans Serif,10,1,0,1]
Caption="Parallel"
}
Add(Edit,14518497,483,252)
{
Left=145
Top=120
Width=95
Height=30
Font=[MS Sans Serif,12,1,0,1]
Text=""
}
Add(Hub,3402825,245,175)
{
link(onEvent1,5472174:doOperation,[(274,181)(274,272)])
link(onEvent2,13505049:doText,[(266,188)(266,328)])
}
Add(GetDataEx,7107925,294,231)
{
link(Data,280778:Text,[])
}
Add(GetDataEx,11807394,404,216)
{
Angle=3
link(Data,9550470:Text,[(370,221)])
}
Add(GetDataEx,12987783,448,216)
{
Angle=3
link(Data,8558086:Text,[(426,221)])
}
Add(GetDataEx,11347443,455,235)
{
Angle=1
link(Data,11558316:Text,[(482,240)])
}

карма: 19

0
Ответов: 96
Рейтинг: 1
#7: 2010-12-25 20:16:10 ЛС | профиль | цитата
Спасибо Леонид, то что надо.
А по поводу картинки, то как говорит препод схема генератора на регистрах сдвига слева на право, а варианты последовательностей справа на лево, так как справа находяться младьшие байты. Хочу спросить, а можете модсказать по моей схеме как ее доработать, т.е. если есть лишние элементы убрать или связи. А то я, что-то много нагородил. И как это можно сделать на FTCG? вот еще одна схема code_21920.txt
карма: 0

0
файлы: 1code_21920.txt [3.6KB] [174]
Ответов: 8961
Рейтинг: 824
#8: 2010-12-25 20:49:34 ЛС | профиль | цитата
301992, сделайте последнюю схемку без кирилицы, а то у меня крякозябры показываются
Так нужно 5 генераторов с длиной 8,16,32,64,128 или один переключаемый по этим длинам, или один с переменной длиной слова от 3 до 128, и где ставить связи, ведь не любой "полином" обеспечивает все 2^n (на больше чем 32 у меня нет), нужно-ли обеспечить смену их, (кстати вывод 1 и 0 в виде строки сильно замедлит работу)
карма: 19

0
Ответов: 96
Рейтинг: 1
#9: 2010-12-26 06:40:12 ЛС | профиль | цитата
Леонид писал(а):
Так нужно 5 генераторов с длиной 8,16,32,64,128 или один переключаемый по этим длинам, или один с переменной длиной слова от 3 до 128, и где ставить связи, ведь не любой "полином" обеспечивает все 2^n (на больше чем 32 у меня нет), нужно-ли обеспечить смену их, (кстати вывод 1 и 0 в виде строки сильно замедлит работу)


Да Леонид нужно 5-ть генераторов на 8, 16, 32, 64 и 128, но у меня тоже нет полиномов на длины 64 и 128. Сейчас ищу как расчитывается образующий полином, но пока нет результатов. По выводу строки 0 и 1, то что можно сделать если не вывод строки?

code_21923.txt
карма: 0

0
файлы: 1code_21923.txt [3.5KB] [142]
Ответов: 8961
Рейтинг: 824
#10: 2010-12-26 23:26:46 ЛС | профиль | цитата
301992, вот то, что нужно для Вашего преподавателя ("Так я думаю") выясните и если так, то его легко можно сделать и на 16, и на 32 бита - такие форматы чисел есть в HiAsm, а вот на 64 и 128 бит - тяжелее, но может более опытные коллеги подскажут
------------ Дoбавленo в 23.26:
Вот они!
карма: 19

0
файлы: 3rnd3_8bit.rar [2.7KB] [113], kkkrnd3_16.rar [2.8KB] [110], jjjrnd3_32.rar [2.9KB] [125]
Ответов: 96
Рейтинг: 1
#11: 2010-12-27 08:17:30 ЛС | профиль | цитата
Леонид спасибо, за схемы. Надеюсь моего препода они устроят. На 64 и 128 сложнее потому, что нет образующих полиномов? Уважаемые Опытные коллеги подскажите как реализовать генератор м-последовательности на 64 и 128. вот есть таблица, надеюсь, что это то.
------------ Дoбавленo в 08.16:
Леонид, как я понял алгоритм в ваших генераторах соответствует генератору на регистрах сдвига. У вас на выходе десятичное число, которое потом преобразовывается. А сразу в двоичном виде?
Ранее вы высылали схему, которая работает со строкой, почему решили ее не использовать? И можно сделать вариант со строкой на IC? Можно сделать универсальный генератор где мы записываем начальную строку (от 8 до 128 ), указываем номера, которые будут копироваться и xor-иться (в той последовательности, которую мы указываем)?
------------ Дoбавленo в 08.17:
Просто мне кажеться, что работа со строкой более простой алгоритм, хоть и медленнее работает.
карма: 0

0
Ответов: 373
Рейтинг: 108
#12: 2010-12-27 08:50:06 ЛС | профиль | цитата
301992,http://en.wikipedia.org/wiki/Mersenne_twister#SFMT оно?
карма: 0

0
Ответов: 96
Рейтинг: 1
#13: 2010-12-27 09:22:18 ЛС | профиль | цитата
Наверное, я не очень силен в английском, только со словарем. Если код, который там указан соответствует этому
, тогда оно.
карма: 0

0
Ответов: 373
Рейтинг: 108
#14: 2010-12-27 10:27:41 ЛС | профиль | цитата
вот похоже то, что тебе нужно.
Linear Feedback Shift Register (LFSR)
Random Number Generator with variable Period
from 2^32 -1 to 2^2032 -1, Standard is 2^128 -1
with .Seed(', -1) absolutly random
The Period have theoretical no effect on the Speed.

http://read.pudn.com/downloads93/sourcecode/delphi_control/369086/MsgCommunicator210/Source/MsgRng.pas__.htm
карма: 0

0
Ответов: 96
Рейтинг: 1
#15: 2010-12-27 11:40:15 ЛС | профиль | цитата
Vlad.- писал(а):
вот похоже то, что тебе нужно.
Linear Feedback Shift Register (LFSR)
Random Number Generator with variable Period
from 2^32 -1 to 2^2032 -1, Standard is 2^128 -1
with .Seed(', -1) absolutly random
The Period have theoretical no effect on the Speed.

http://read.pudn.com/downloads93/sourcecode/delphi_control/369086/MsgCommunicator210/Source/MsgRng.pas__.htm

Да, то самое. Осталось его как-то в Hiasm вставить.
Нужна помощь. Кто может Вставить данную штуку в hiasm? Очень надо.
------------ Дoбавленo в 11.40:
Леонид, может у тебя получиться то, что написано по ссылке реализовать на IC? Уважаемые старшие коллеги, присоединяйтесь к данному вопросу. Помогите чайнику.
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)