-
Data: 2021-08-23 14:31:38
Temat: Re: Jak zrobić test za pomocą PractRand?
Od: "o...@g...com" <o...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]poniedziałek, 23 sierpnia 2021 o 11:18:03 UTC+2 M.M. napisał(a):
> On Monday, August 23, 2021 at 5:23:14 AM UTC+2, o...@g...com wrote:
> > Właściwie to mój generator oblewa po 16 MB:
> >
> > length= 16 megabytes (2^24 bytes), time= 2.1 seconds
> >
> > A ten LCG oblewa po 2 MB:
> >
> > length= 2 megabytes (2^21 bytes), time= 3.3 seconds
> >
> > Czyli mój radzi sobie chyba lepiej. O ile to ma w ogóle jakiekolwiek znaczenie,
skoro testy prawdopodobnie nie są wykonywane poprawnie. Raczej wróżenie z fusów.
> Jeśli użyłeś tego samego generatora co ja, tych samych stałych A i B, jeśli
zainicjowałeś x=1, jeśli odrzuciłeś sto
> początkowych wygenerowanych liczb (500 bitów), jeśli bierzesz tylko 5 najstarszych
bitów - to powinno być tak samo jak
> u mnie... chociaż ja mam wersję PractRanda 0.94 a Ty 0.93 - nie wiem czy zostało
zmienione coś na tyle
> istotnego aby wyniki testów były całkiem inne. Raczej w nowszej wersji testy
powinny być bardziej surowe.
>
> Moje początkowe 1000 bitów wygląda tak:
> ./SimpPRNG 1 1000
> 1100010111000111110000011110101111001001011010001110
0011110011110000000011111001000101101111111000001111
1110100100110000011011001100101110100010010011011101
1111001010111011011101001101100110001001111000101011
0000010000011101011010011111101111110000010110010111
1110001010100101000000010111111000011001001110011110
1011010111110000100101100110100001110100000110101010
0011000100000110001111011100011100111110001011011101
0011001011001101100000100110110001101101111110010100
0010110101110111011010111111100001101101011101011011
1000001000011100100111000100011011000111100110001000
1001101100110001010001001111001110100101001000001101
0101000101111100100101110010011000001000001101101100
1101011100001010110100111101011010001000101100000001
0100111111010111001100111000111011001111001110101110
1000001001001001100100111110111110110000110010101011
0110011000101000101110000100101001001000000111010101
0100110100101110101111000100011100000000011000000010
1110000010110100110111011000100010101110000010010011
001101000101
>
> Wyświetlam z tych 5 bitów począwszy od najmłodszego:
>
> https://github.com/mmarszik/SimpPRNG/blob/main/main.
cpp
> type_out v = r();
> for( int k=0 ; k<bits && j<BUFF_SIZE && i<size ; k++, j++, i++ ) {
> buff[j] = '0' + (v & 1);
> v >>= 1;
> }
>
> Ale na jakość generatora i zaliczenie testów nie powinno wpłynąć wyświetlanie od
najstarszego.
>
> Początkowe liczby z tego generatora są statystycznie bardzo słabe jeśli inicjuje
się małą liczbą
> (np. jedynką), jest dużo zer na początku, warto odrzucić np. 100 początkowych
generowań.
>
> Pozdrawiam
Mam inne wyniki. Oto wyniki w formacie dziesiętnym:
x = 1
x = (x * 79908886691 + 8143076871913) & 340282366920938463463374607431768211455 =
8222985758604
8222985758604 >> 123 = 0
x = (8222985758604 * 79908886691 + 8143076871913) &
340282366920938463463374607431768211455 = 657089637254136791211277
657089637254136791211277 >> 123 = 0
x = (657089637254136791211277 * 79908886691 + 8143076871913) &
340282366920938463463374607431768211455 = 52507301369171109219924401511286320
52507301369171109219924401511286320 >> 123 = 0
x = (52507301369171109219924401511286320 * 79908886691 + 8143076871913) &
340282366920938463463374607431768211455 = 333442790507095493699328894974793383801
333442790507095493699328894974793383801 >> 123 = 31
x = (333442790507095493699328894974793383801 * 79908886691 + 8143076871913) &
340282366920938463463374607431768211455 = 225174366013576153541971350915313012980
225174366013576153541971350915313012980 >> 123 = 21
Czyli uzyskuję:
0
0
0
31
21
I tak dalej. Jak mogą tu wychodzić inne wyniki?
Następne wpisy z tego wątku
- 23.08.21 15:05 M.M.
- 23.08.21 15:21 o...@g...com
- 23.08.21 15:58 M.M.
- 23.08.21 21:11 o...@g...com
- 23.08.21 22:29 M.M.
- 23.08.21 22:47 o...@g...com
- 23.08.21 23:06 o...@g...com
- 23.08.21 23:46 M.M.
- 24.08.21 00:27 o...@g...com
- 24.08.21 00:54 o...@g...com
- 24.08.21 01:43 o...@g...com
- 24.08.21 16:20 o...@g...com
- 24.08.21 17:49 o...@g...com
- 25.08.21 04:15 o...@g...com
- 25.08.21 04:24 o...@g...com
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-12-18 Katowice => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2024-12-18 Poznań => Dyspozytor Międzynarodowy <=
- 2024-12-18 Katowice => System Architect (background deweloperski w Java) <=
- 2024-12-18 Gdańsk => System Architect (Java background) <=
- 2024-12-18 Warszawa => Helpdesk Specialist <=
- 2024-12-18 Katowice => Kierownik Działu Zarządzania Platformą Wirtualizacji i
- 2024-12-18 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-18 Żerniki => Employer Branding Specialist <=
- 2024-12-18 Gliwice => Specjalista ds. public relations <=
- 2024-12-18 Kablówka z modułem CAM
- 2024-12-18 Warszawa => Spedytor międzynarodowy <=
- 2024-12-18 Wróblewo => Analityk finansowy <=
- 2024-12-18 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-12-18 Lublin => Delphi Programmer <=
- 2024-12-18 Bieruń => Team Lead / Tribe Lead FrontEnd <=