-
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
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-11-21 Re: Dla mr. J.F`a, Trybuna i Wiesiaczka którzy "troszczą" się o państwowe i u których 0 pragmatyzmu
- 2024-11-21 Re: Dla mr. J.F`a, Trybuna i Wiesiaczka którzy "troszczą" się o państwowe i u których 0 pragmatyzmu
- 2024-11-21 Re: Dla mr. J.F`a, Trybuna i Wiesiaczka którzy "troszczą" się o państwowe i u których 0 pragmatyzmu
- 2024-11-20 "betamaxy" i inne voip-y dzisiaj
- 2024-11-21 Strach się bać
- 2024-11-21 Koniec smrodów
- 2024-11-20 Krematorium
- 2024-11-20 Taki tam szkolny problem...
- 2024-11-20 LIR2032 a ML2032
- 2024-11-20 SmartWatch Multimetr bezprzewodowy
- 2024-11-21 Środa Wielkopolska => Konsultant SAP <=
- 2024-11-21 Łódź => Spedytor Międzynarodowy <=
- 2024-11-21 Wrocław => Inżynier bezpieczeństwa aplikacji <=
- 2024-11-21 Kraków => Lead Java EE Developer <=
- 2024-11-21 Karlino => Konsultant wewnętrzny SAP (FI/CO) <=