-
Data: 2009-05-15 15:23:23
Temat: Re: random delphi w c/c++
Od: "Sarr." <s...@g...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Sarr. wrote:
> Michoo wrote:
>> Sarr. pisze:
>>> witam,
>>>
>>> jedno pytanie do grupy: jak w c/c++ zasymulowac random number
>>> generator z delphi?
>>>
>>> wikipedia twierdzi, ze jest to Linear congruential generator
>>> [http://en.wikipedia.org/wiki/Linear_congruential_ge
nerator] i nawet
>>> podaje parametry, ale jakos nie udalo mi sie uzyskac zadowalajacych
>>> wynikow.
>> W sensie co było nie tak z funkcją rand()?
>>
>> Jest posixowa funkcja random o sporych możliwościach, ale będziesz jej
>> mógł użyć pewnie tylko na gcc.
>>
> nie chodzi o dobry czy lepszy random - chodzi o dostanie identycznych
> wynikow jak daje random z delphi6.
>
> pisze plugin w c++ do programu, ktory napisany byl w delphi6 wlasnie.
> lwia czesc funkcjonalnosci idzie do pluginu a trzeba zachowac zgodnosc
> wstecz.
>
>
> pozdrawiam,
>
> Sarr.
sam sobie odpowiem. sprawa rozwiazana, problemem bylo uzywanie przez
mnie wartosci signed/unsigned. w kazdym razie, dla zainetersowanych,
ponizej dzialajaca klasa symulujaca random z delphi6:
class DelphiRandom
{
public:
DelphiRandom(unsigned int seed)
{
SetSeed(seed);
}
void SetSeed(unsigned int seed)
{
_seed = seed;
}
int Next(const int max)
{
unsigned long long result = (unsigned long long)GetNext() * max;
return (int)(result >> 32);
}
private:
unsigned int GetNext()
{
// X[n+1] = ( a * X[n] + c ) % m
// m = 232
// a = 134775813 [0x08088405]
// c = 1
_seed = _seed * 0x08088405 + 1; // %m not needed as _seed is 32 bit
return _seed;
}
unsigned int _seed;
};
cheers,
Sarr.
Najnowsze wątki z tej grupy
- Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- Prezydent SZAP/USONA Trump ułaskawił prezydenta Hondurasu Hernandeza skazanego na 45 lat więzienia
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
Najnowsze wątki
- 2026-01-27 Tradycja ciągania posłów po sądach za wystąpienia w Sejmie będzie kontynuowana [Lepper 2]
- 2026-01-27 Pierwszy raz sprzedano więcej samochodów zeeletryfikowanych niż ice
- 2026-01-27 Elektryczny Kałasznikow
- 2026-01-27 Warszawa => APM/Observability Engineer (Presales Engineer) <=
- 2026-01-26 #Motodziennik 365 Powrót spalinowych Renault Megane i Scenica, Volvo EX60 oraz ID.Tiguan
- 2026-01-26 Ciekawe fikoły
- 2026-01-26 Toruń => Preseles Inżynier (background baz danych) <=
- 2026-01-26 sznurowadła kwestia prawna
- 2026-01-26 Białystok => Senior Frontend Developer React <=
- 2026-01-26 Warszawa => Consultant Microsoft Dynamics 365 Finance (F&O) <=
- 2026-01-25 Organizacja religijna i nielegalna sprzedaż
- 2026-01-25 Tego "księdza" powinni wywalić z kościołai z pracy w kościele
- 2026-01-25 Zbudowany przez studentów z Holandii samochód koncepcyjny ARIA
- 2026-01-25 Zbudowany przez studentów z Holandii samochód koncepcyjny ARIA
- 2026-01-25 "Teleportacja" polskich statków na pd. Bałtyku - rosyjska zabawa w zakłócanie GPS, Galileo, Beidou i GLONASS




Jak kupić pierwsze mieszkanie? Eksperci podpowiadają