-
11. Data: 2021-08-20 23:56:41
Temat: Re: Jak zrobić test za pomocą PractRand?
Od: "o...@g...com" <o...@g...com>
Jeśli zrobiłem wszystko dobrze, to mam debug error - "abort() has been called".
Próbowałem opcji z plikiem .data.
-
12. Data: 2021-08-21 00:11:24
Temat: Re: Jak zrobić test za pomocą PractRand?
Od: "M.M." <m...@g...com>
On Friday, August 20, 2021 at 11:56:42 PM UTC+2, o...@g...com wrote:
> Jeśli zrobiłem wszystko dobrze, to mam debug error - "abort() has been called".
Próbowałem opcji z plikiem .data.
Nie ma w pliku jakiś innych znaków niż 0 i 1? Nie ma np. znaku końca linii?
U siebie zmniejszyłem bufor do jednego bajtu:
#define SIZE_OUT (1<<0)
I uruchomiłem taką komendę:
echo '01010101111111110000000010101001' | ./01ToBin
Nic się nie wywaliło, wyrzuciło na ekran krzaczki - zgodnie z oczekiwaniami.
Pozdrawiam
-
13. Data: 2021-08-21 00:20:10
Temat: Re: Jak zrobić test za pomocą PractRand?
Od: "o...@g...com" <o...@g...com>
W tej chwili poza tym komunikatem mam "-bash: ./PractRand: No such file or
directory". Znaku końca linii do pliku nie wstawiałem, więc chyba nie powinno go tam
być.
-
14. Data: 2021-08-21 00:27:10
Temat: Re: Jak zrobić test za pomocą PractRand?
Od: "o...@g...com" <o...@g...com>
Udało mi się to uruchomić komendą
cat plik.data | ./konwerter.exe | ./RNG_test stdin
rng=RNG_stdin, seed=0xe933a977
length= 32 megabytes (2^25 bytes), time= 3.1 seconds
Test Name Raw Processed Evaluation
BCFN(2+0,13-4,T) R= +3177 p = 8e-1388 FAIL !!!!!!!!
BCFN(2+1,13-4,T) R= +3148 p = 3e-1375 FAIL !!!!!!!!
...
[Low1/32]FPF-14+6/16:(0,14-4) R= +14.9 p = 4.0e-12 VERY SUSPICIOUS
[Low1/32]FPF-14+6/16:(1,14-5) R= +8.1 p = 1.3e-6 mildly suspicious
[Low1/32]FPF-14+6/16:all R= +19.0 p = 8.5e-16 FAIL !
[Low1/32]FPF-14+6/16:all2 R= +54.4 p = 1.8e-18 FAIL !
[Low1/32]FPF-14+6/16:cross R= +33.2 p = 6.6e-26 FAIL !!
...and 55 test result(s) without anomalies
Faili nadal jest dużo, komunikat systemowy "abort() has been called" nadal się
pojawia, ale wykazuje więcej testów bez anomialii.
-
15. Data: 2021-08-21 00:49:44
Temat: Re: Jak zrobić test za pomocą PractRand?
Od: "M.M." <m...@g...com>
On Saturday, August 21, 2021 at 12:27:11 AM UTC+2, o...@g...com wrote:
> Udało mi się to uruchomić komendą
>
> cat plik.data | ./konwerter.exe | ./RNG_test stdin
>
>
> rng=RNG_stdin, seed=0xe933a977
> length= 32 megabytes (2^25 bytes), time= 3.1 seconds
> Test Name Raw Processed Evaluation
> BCFN(2+0,13-4,T) R= +3177 p = 8e-1388 FAIL !!!!!!!!
> BCFN(2+1,13-4,T) R= +3148 p = 3e-1375 FAIL !!!!!!!!
> ...
> [Low1/32]FPF-14+6/16:(0,14-4) R= +14.9 p = 4.0e-12 VERY SUSPICIOUS
> [Low1/32]FPF-14+6/16:(1,14-5) R= +8.1 p = 1.3e-6 mildly suspicious
> [Low1/32]FPF-14+6/16:all R= +19.0 p = 8.5e-16 FAIL !
> [Low1/32]FPF-14+6/16:all2 R= +54.4 p = 1.8e-18 FAIL !
> [Low1/32]FPF-14+6/16:cross R= +33.2 p = 6.6e-26 FAIL !!
> ...and 55 test result(s) without anomalies
>
> Faili nadal jest dużo, komunikat systemowy "abort() has been called" nadal się
pojawia, ale wykazuje więcej testów bez anomialii.
Może PractRand kończy działanie po wykryciu tylu faili i konwerter ma błąd zapisu, no
bo nie ma procesu do którego by mógł pisać - więc robi abort.
Można zrobić test z prostszym generatorem, np.:
//Dla 128 bitów
return ( next = (prev * a + b) ) >> 96;
//Dla 64 bitów
return ( next = (prev * a + b) ) >> 32;
Jeśli a i b są dobrze dobrane, to PractRand musi pracować bardzo długo zanim wykryje
anomalie.
Pozdrawiam
-
16. Data: 2021-08-21 01:55:23
Temat: Re: Jak zrobić test za pomocą PractRand?
Od: "o...@g...com" <o...@g...com>
Nie potrafię zmodyfikować mojego programu, żeby generował bit po bicie, więc na razie
nie sprawdzę, czy to ostatecznie działa. Pewnie będę potrzebował na to kilku dni lub
tygodni, bo ledwo umiem programować.
-
17. Data: 2021-08-21 11:40:49
Temat: Re: Jak zrobić test za pomocą PractRand?
Od: "M.M." <m...@g...com>
On Saturday, August 21, 2021 at 1:55:24 AM UTC+2, o...@g...com wrote:
> Nie potrafię zmodyfikować mojego programu, żeby generował bit po bicie, więc na
razie nie sprawdzę, czy to ostatecznie działa. Pewnie będę potrzebował na to kilku
dni lub tygodni, bo ledwo umiem programować.
To jest proste, tamten kod generatora zastąp tymi kilkoma operacjami arytmetycznymi
co podałem.
Ale może wieczorem zrobię i wrzucę taki minimalny generator, i test tym konwerterem.
Pozdrawiam
-
18. Data: 2021-08-21 13:27:15
Temat: Re: Jak zrobić test za pomocą PractRand?
Od: "M.M." <m...@g...com>
On Saturday, August 21, 2021 at 1:55:24 AM UTC+2, o...@g...com wrote:
> Nie potrafię zmodyfikować mojego programu, żeby generował bit po bicie, więc na
razie nie sprawdzę, czy to ostatecznie działa. Pewnie będę potrzebował na to kilku
dni lub tygodni, bo ledwo umiem programować.
U mnie przez ponad 1000 sekund nie było problemu:
./SimpPRNG 1 | ../../01ToBin/release/01ToBin | ../../PractRand/RNG_test stdin
RNG_test using PractRand version 0.94
RNG = RNG_stdin, seed = unknown
test set = core, folding = standard(unknown format)
rng=RNG_stdin, seed=unknown
length= 64 megabytes (2^26 bytes), time= 2.4 seconds
no anomalies in 179 test result(s)
rng=RNG_stdin, seed=unknown
length= 128 megabytes (2^27 bytes), time= 5.5 seconds
no anomalies in 196 test result(s)
rng=RNG_stdin, seed=unknown
length= 256 megabytes (2^28 bytes), time= 11.0 seconds
no anomalies in 213 test result(s)
rng=RNG_stdin, seed=unknown
length= 512 megabytes (2^29 bytes), time= 21.2 seconds
no anomalies in 229 test result(s)
rng=RNG_stdin, seed=unknown
length= 1 gigabyte (2^30 bytes), time= 40.8 seconds
no anomalies in 248 test result(s)
rng=RNG_stdin, seed=unknown
length= 2 gigabytes (2^31 bytes), time= 78.9 seconds
no anomalies in 266 test result(s)
rng=RNG_stdin, seed=unknown
length= 4 gigabytes (2^32 bytes), time= 153 seconds
no anomalies in 282 test result(s)
rng=RNG_stdin, seed=unknown
length= 8 gigabytes (2^33 bytes), time= 303 seconds
no anomalies in 299 test result(s)
rng=RNG_stdin, seed=unknown
length= 16 gigabytes (2^34 bytes), time= 601 seconds
no anomalies in 315 test result(s)
rng=RNG_stdin, seed=unknown
length= 32 gigabytes (2^35 bytes), time= 1186 seconds
no anomalies in 328 test result(s)
^C
https://github.com/mmarszik/SimpPRNG/blob/main/main.
cpp
https://github.com/mmarszik/01ToBin/blob/main/main.c
pp
Pozdrawiam
-
19. Data: 2021-08-21 16:53:35
Temat: Re: Jak zrobić test za pomocą PractRand?
Od: "o...@g...com" <o...@g...com>
sobota, 21 sierpnia 2021 o 00:11:26 UTC+2 M.M. napisał(a):
> On Friday, August 20, 2021 at 11:56:42 PM UTC+2, o...@g...com wrote:
> > Jeśli zrobiłem wszystko dobrze, to mam debug error - "abort() has been called".
Próbowałem opcji z plikiem .data.
> Nie ma w pliku jakiś innych znaków niż 0 i 1? Nie ma np. znaku końca linii?
>
> U siebie zmniejszyłem bufor do jednego bajtu:
> #define SIZE_OUT (1<<0)
>
> I uruchomiłem taką komendę:
> echo '01010101111111110000000010101001' | ./01ToBin
>
> Nic się nie wywaliło, wyrzuciło na ekran krzaczki - zgodnie z oczekiwaniami.
>
> Pozdrawiam
U mnie po komendzie echo '01010101111111110000000010101001' | ./konwerter.exe
nie pokazało niczego.
-
20. Data: 2021-08-21 17:18:22
Temat: Re: Jak zrobić test za pomocą PractRand?
Od: "M.M." <m...@g...com>
On Saturday, August 21, 2021 at 4:53:36 PM UTC+2, o...@g...com wrote:
> sobota, 21 sierpnia 2021 o 00:11:26 UTC+2 M.M. napisał(a):
> > On Friday, August 20, 2021 at 11:56:42 PM UTC+2, o...@g...com wrote:
> > > Jeśli zrobiłem wszystko dobrze, to mam debug error - "abort() has been called".
Próbowałem opcji z plikiem .data.
> > Nie ma w pliku jakiś innych znaków niż 0 i 1? Nie ma np. znaku końca linii?
> >
> > U siebie zmniejszyłem bufor do jednego bajtu:
> > #define SIZE_OUT (1<<0)
> >
> > I uruchomiłem taką komendę:
> > echo '01010101111111110000000010101001' | ./01ToBin
> >
> > Nic się nie wywaliło, wyrzuciło na ekran krzaczki - zgodnie z oczekiwaniami.
> >
> > Pozdrawiam
> U mnie po komendzie echo '01010101111111110000000010101001' | ./konwerter.exe
>
> nie pokazało niczego.
Nie pokazało, bo ten minimalistyczny program umie tylko czytać pełnymi buforami, albo
konsola ukryła binarne znaki. By trzeba ustawić przed kompilacją mały rozmiar buforu,
ale teraz to nie ma sens, bo jest już specjalny generator do testowania:
https://github.com/mmarszik/SimpPRNG/blob/main/main.
cpp
U mnie nawet działa:
./SimpPRNG 2 | ../../01ToBin/release/01ToBin | ../../PractRand/RNG_test stdin
RNG_test using PractRand version 0.94
RNG = RNG_stdin, seed = unknown
test set = core, folding = standard(unknown format)
rng=RNG_stdin, seed=unknown
length= 64 megabytes (2^26 bytes), time= 2.8 seconds
no anomalies in 179 test result(s)
rng=RNG_stdin, seed=unknown
length= 128 megabytes (2^27 bytes), time= 6.2 seconds
no anomalies in 196 test result(s)
rng=RNG_stdin, seed=unknown
length= 256 megabytes (2^28 bytes), time= 12.3 seconds
no anomalies in 213 test result(s)
rng=RNG_stdin, seed=unknown
length= 512 megabytes (2^29 bytes), time= 23.4 seconds
no anomalies in 229 test result(s)
rng=RNG_stdin, seed=unknown
length= 1 gigabyte (2^30 bytes), time= 45.4 seconds
no anomalies in 248 test result(s)
rng=RNG_stdin, seed=unknown
length= 2 gigabytes (2^31 bytes), time= 88.6 seconds
no anomalies in 266 test result(s)
rng=RNG_stdin, seed=unknown
length= 4 gigabytes (2^32 bytes), time= 173 seconds
no anomalies in 282 test result(s)
rng=RNG_stdin, seed=unknown
length= 8 gigabytes (2^33 bytes), time= 341 seconds
no anomalies in 299 test result(s)
rng=RNG_stdin, seed=unknown
length= 16 gigabytes (2^34 bytes), time= 683 seconds
no anomalies in 315 test result(s)
rng=RNG_stdin, seed=unknown
length= 32 gigabytes (2^35 bytes), time= 1425 seconds
no anomalies in 328 test result(s)
rng=RNG_stdin, seed=unknown
length= 64 gigabytes (2^36 bytes), time= 2808 seconds
no anomalies in 344 test result(s)
rng=RNG_stdin, seed=unknown
length= 128 gigabytes (2^37 bytes), time= 5577 seconds
no anomalies in 359 test result(s)
^C
Pozdrawiam