[delphi] random

0

Witam!

Zastanawiam się nad takim czymś i prosił bym o pomoc.. mianowicie chodzi mi o to że w swoim projekcie chciałbym użyć funkcji random .. jednakże jest ona mało efektywna.. :-| czy istnieją jakieś alternatywy dla niej.. jeżeli tak proszę o pomoc ;-) [browar]

0

możesz użyć funkcji RandG z modułu Math, ma ona następującą składnię:
function RandG(Mean, StdDev: Extended): Extended;
Mean jest wartością średnią, a StdDev maksymalną wartością odchylenia od Mean. Ale najlepiej poczytaj sobie:
http://4programmers.net/Delphi/Artykuły/Funkcje_generatora_liczb_pseudolosowych
http://4programmers.net/Delphi/Gotowce/Funkcja_losowa

0
var _x,_y,_z:longword;

function rnd:longword;
var v:longword;
begin
  v:=_x*_y;
  _x:=_y;
  _y:=v;
  _z:=(_z and 65535) * 30903 + (_z shr 16);
  result:=_y + _z and 65535;
end;

procedure seed(a, b, c:longword);
begin
  _x:=(a shl 1) or 1;
  _x:=_x*3*_x;
  _y:=(b shl 1) or 1;
  _z:=c
end;

zwraca 32 losowe bity, znacznie szybsz od tego co mam we FreePascalu, okres >2^60

0

mgr.Dobrowolski a jaka jest efektywność ?? :> tzn. jaka jest powtarzalność liczb ?? :>

0 użytkowników online, w tym zalogowanych: 0, gości: 0