@knifeman: @Defined: z tego co wiem cstdlib to jest wersja dla c++, a stdlib był z c. tak jak z math.h vs cmath, i time.h vs ctime. a jak pod generator podpiąć zmienianie wartosci co odpalenie programu? bo do tej pory działa mi to tak, że za pierwszy razem wylosuje mi np 7, potem tez 7, 7 7 etc.
std::defaultrandomengine generator; std::uniformintdistribution distribution(1,6); int dice_roll = distribution(generator); // generates number in the range 1..6
@Hauleth: noooo, do wylosowania liczby, tylko tyle potrzebuje, nie wiem czym sie różnią, ale wiem że często jak użyje cstdlib, to mimo ze wszystko działa jak powinno, to rabini mnie zjedzą
@RedveKoronny: LCG używany w rand() jest bardzo prymitywny i daje słabe wyniki, ale jest szybki. Dodatkowo trzeba pamietać, że nie jest on thread-safe oraz rand() % (max + 1) daje niejednorodny rozkład. Ogólnie to wszystko zależy czy chcesz mieć "prawdziwszą" losowość, czy szybsze wyniki. PCG ma na swojej stronie lekko stronniczą tabelkę porównującą algorytmy.
@RedveKoronny: w random masz wiele silnikow. Mt19937 jest chyba najbatdzoej znany ale wolny daje jednak dobre rezultaty przy metodach monte carlo. Jak piszesz na architekture x86_64 to wyprobuj czegos co uzywa RDRAND.
a sie pochwale że mi raycasting działa, i dodaje teraz losowe sciany
#cpp #naukaprogramowania #programowanie
random
.@Defined:
z tego co wiem cstdlib to jest wersja dla c++, a stdlib był z c. tak jak z math.h vs cmath, i time.h vs ctime. a jak pod generator podpiąć zmienianie wartosci co odpalenie programu? bo do tej pory działa mi to tak, że za pierwszy razem wylosuje mi np 7, potem tez 7, 7 7 etc.
2. Wklej kod
std::uniformintdistribution distribution(1,6);
int dice_roll = distribution(generator); // generates number in the range 1..6
do tej pory robilem cos takiego
rand()
jest bardzo prymitywny i daje słabe wyniki, ale jest szybki. Dodatkowo trzeba pamietać, że nie jest on thread-safe orazrand() % (max + 1)
daje niejednorodny rozkład. Ogólnie to wszystko zależy czy chcesz mieć "prawdziwszą" losowość, czy szybsze wyniki. PCG ma na swojej stronie lekko stronniczą tabelkę porównującą algorytmy.rand() Considered Harmful
by Stefan T. Lavavej