Alternatywa dla funkcji rand()
Ostatnio zmodyfikowano 2025-12-07 18:50
czerwonymoskit Temat założony przez niniejszego użytkownika |
Alternatywa dla funkcji rand() » 2025-12-05 15:33:06 Czy funkcja rand() jest wystarczająca do generowania losowych, prostych liczb? Czy warto szukać innej funkcji do tego? |
|
pekfos |
» 2025-12-05 15:52:02 To generator losowy o słabej jakości. Zależy do czego to ma być używane. |
|
nanoant20 |
» 2025-12-05 21:21:30 od C++11 dostępne są znacznie lepsze generatory liczb losowych <random> https://codeforces.com/blog/entry/61587 https://learn.microsoft.com/en-us/cpp/standard-library/random?view=msvc-170
|
|
czerwonymoskit Temat założony przez niniejszego użytkownika |
» 2025-12-06 09:42:42 Chodzi o zwykłe losowanie liczb powiedzmy od 0 do 4. Tylko dużo powtarzających się tych testów jest. |
|
pekfos |
» 2025-12-06 12:47:45 Brzmi jakby głównym czynnikiem był długi okres zanim liczby zaczną się powtarzać, pewnie rand() wystarczy, zawsze możesz zmienić to później. Ja osobiście preferuję std::mt19937 z <random> jako domyślny wybór, bo to konkretny algorytm (żadnych gwarancji co robi rand() w środku), jakość jest dobra i mogę sobie utworzyć tyle niezależnych instancji generatora ile mi się podoba - bardzo przydatne gdy chcesz dane losowe, które mają być reprodukowalne. Na przykład do testów jednostkowych, proceduralnego generowania rzeczy w grach itp. |
|
czerwonymoskit Temat założony przez niniejszego użytkownika |
» 2025-12-07 10:43:40 Dokładnie. Wyszedłem z tego samego założenia, że mogę zmienić to później. Wydaje mi się, że rand jest całkiem ok ale jak czytam po sieci to są lepsze generatory. W tej grze losuje po prostu współczynniki, które mają maxymalnie wartosć 4. Czyli np rand()(skillsM + 1) dla skillsM == 3 będą to możliwe wyniki 0, 1, 2, 3. I tak lata cała gra. Często łączę testy. Czytałem dużo dobrego o xorshift128+. Podobno prosty i fajny. Ewentualnie ten random ale on jest chyba bardziej skomplikowany w użyciu. |
|
pekfos |
» 2025-12-07 11:58:24 Ewentualnie ten random ale on jest chyba bardziej skomplikowany w użyciu. Przecież to gotowce w bibliotece standardowej. |
|
czerwonymoskit Temat założony przez niniejszego użytkownika |
» 2025-12-07 18:50:39 No tak ale nie rozumiałem co drugiego słowa w tym co napisałeś... Więc tak zwątpiłem 😉 |
|
| « 1 » |