Temat: [SEN] Testy

Podmianka w generatorze:
>>>
uint32_t state;
uint32_t xorshift(){
state ^= state >> 7;
state ^= state << 9;
state ^= state >> 13;
return state;
}
int random_int(int a, int b) { return a + xorshift() % (b - a + 1); }
<<<
i wczytujemy w mainie zmienną state zamiast seed. Skrypt testujący (./script.sh <sciezka do rozwiazania>):
>>>
> output
for i in {1..100}
do
echo "TEST $i"
echo "$i 10 2 300 1000000" | ./generator >input
$1 <input >>output
done
cat output | tr -d " \t\n\r" | md5sum
<<<
Mi wyszło 256c83900ca0efe678687e79ba073983
Potwierdzam
Potwierdzam
Potwierdzam
Potwierdzam. Wgl co to za optymistyczne założenie, że w niczyim outpucie nie będzie innych białych znaków niż \r, \n i \t xD?
Potwierdzam.
Jakbym coś takiego robił to bym strollował i wypisywał md5 inów, a nie outów, może nikt by nie zauważył 8]
Tam jest jeszcze wywalana spacja, to chyba razem daje wszystkie popularne białe znaki.
A tak się spytam, co daje Wam "cat input | tr -d " \t\n\r" | md5sum" (tzn. md5 ostatniego inputu)? Bo mi coś nie wychodzi ta sama md5ka outów (uparcie e963b51a7e26e855711a8bc9a09354a7) i chciałbym się upewnić, że dobrze generuję inputy. U mnie 3ab51c8f0074ba2c49f27ecb6f2377ba.
Chętnie też przyjmę wynik polecenia komendy "awk 'END {print $NF}' output" (ostatnia liczba outputu), mi wychodzi "79658735421818".
md5 ostatniego inputu - 9a0a535b200f71d77ebad24bdfc256ba, to chyba coś nie tak generujesz
No rzeczywiście nieogar ze mnie, już potwierdzam. Nie skopiowałem "> output" do testerki, a miałem tam syf bo przy pierwszej próbie generacji wkleiłem tamto random_int w złe miejsce xd
Jak komuś nie wychodzi md5 jak trzeba, to dobrym pomysłem jest też usunąć pliki input i output przed odpaleniem... :)
A, okej, ja też tego nie skopiowałem :D No to albo skopiować dobrze, albo usunąć outputa :P
Potwierdzam że też nie skopiowałem "> output"
Można też zrobić tak bez generowania żadnych plików:
>>>
for i in {1..100}
do
echo "TEST $i" >&2
echo "$i 10 2 300 1000000" | ./generator | $1
done | tr -d " \t\n\r" | md5sum
<<<
Potwierdzam. Też nie skopiowałem "> output" :')
Potwierdzam. Ja na początku nie czytałem "state" w mainie.
Co macie po zmianie MAX_AI w skrypcie z 1000000 na 321? Mi wyszło f0e521317a2069953127369c48a8615b
Potwierdzam 10^6 oraz 321 :)
Potwierdzam obie wersje.
Potwierdzam obie :D