-
Data: 2019-11-21 10:49:38
Temat: Liniowy generator liczb pseudolosowych
Od: "M.M." <m...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Jak wiadomo od zawsze, liniowy generator liczb pseudolosowych jest
uznawany za bardzo kiepski. Potrzebowałem jednak szybkiego, prostego
generatora (właściwie to ciągle potrzebuję), więc postanowiłem przyjrzeć
się temu z bliska. Nawet jak używam generatora Fibonacciego, to muszę
go zainicjować jakiś innym, np. liniowym, więc prosty generator i tak, i tak
jest potrzebny.
Co się okazało? Generator liniowy, choć jest prosty, to wcale nie jest
taki szybki, bo ma operację modulo. A po drugie, przeszedł wszystkie
(słownie WSZYSTKIE) testy z diehardera. Pamiętajmy, że testy z diehardera
są trudne, tak zaawansowany generator jak Mersenne Twister wszystkie
przechodzi rzadko, chyba jeszcze nie widziałem żeby przeszedł wszystkie.
Wypada wkleić kod źródłowy, żeby pokazać, czy nie robię jakiś błędów, ale w
przypadku błędów to chyba by nie przechodził testów. Czy miałem szczęście i
wylosował się dobrze zarodek? Ale jeśli generator jest zły, to trudno tak
wylosować zarodek, aby przeszedł wszystkie testy. Czy może parametry (A, B i M)
tak dobrałem że liniowy generator nabrał lepszych właściwości?
Tutaj kod źródłowy:
https://pastebin.com/qQYKGAYY
Pod kodem jest kompilacja, uruchomienie testu i wyniki. W wynikach ani
razu nie ma FALIED.
Pozdrawiam
Najnowsze wątki z tej grupy
- 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
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-05-07 Chess
- 2024-05-07 Do czego nadaje się QDockWidget z bibl. Qt?
- 2024-05-07 Vitruvian Man - parts 7-11a
- 2024-05-07 Warszawa => International freight forwarder <=
- 2024-05-07 Zielona Góra => Inżynier R&D Mechanik <=
- 2024-05-07 ministranci
- 2024-05-07 Warszawa => Manager Sprzedaży <=
- 2024-05-07 Białystok => Inżynier DevOps (projekt JP) <=
- 2024-05-07 Ulm => IT Systems Administrator and Customer Support Engineer <=
- 2024-05-07 Warszawa => Junior Frontend Developer <=
- 2024-05-07 Ulm => Integration & Test Engineer <=
- 2024-05-07 Warszawa => Business Systems Sales Representative <=
- 2024-05-07 Białystok => Technical Lead ( (Java Background)) <=
- 2024-05-07 Białystok => React Native Developer <=
- 2024-05-07 Białystok => Technical Leader (Java Background) <=