Giriş
Şu satırı dahil ederiz.
VS2012'de ise mt19937 olarak gerçekleştirilmiş .
constructor - default
Sınıfı şöyle yaratabiliriz. Ancak bu durumda seed vermediğimiz için hep aynı sonuçları elde ederiz.
Sistem saatini kullanarak şöyle yaparız.
constructor - chrono time
Chrono kullanarak şöyle yaparız.
Donanım tabanlı bir üreteci kullanarak şöyle yaparız.
Şu satırı dahil ederiz.
#include<random>
C++ kütüphanesinin gerçekleştirimine bırakılmış. Açıklaması şöyleBence bu sınıfı kullanmamak gerekir. Bu sınıf GCC'de minstd_rand0 olarak gerçekleştirilmiş.Remark: The choice of engine type named by this typedef is implementation-defined. [ Note: The implementation may select this type on the basis of performance, size, quality, or any combination of such factors, so as to provide at least acceptable engine behavior for relatively casual, inexpert, and/or lightweight use. Because different implementations may select different underlying engine types, code that uses this typedef need not generate identical sequences across implementations. — end note ]
VS2012'de ise mt19937 olarak gerçekleştirilmiş .
constructor - default
Sınıfı şöyle yaratabiliriz. Ancak bu durumda seed vermediğimiz için hep aynı sonuçları elde ederiz.
std::default_random_engine generator;
constructor - timeSistem saatini kullanarak şöyle yaparız.
std::default_random_engine generator( (unsigned int)time(0) );
Chrono kullanarak şöyle yaparız.
unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();
std::default_random_engine generator (seed));
constructor - random_deviceDonanım tabanlı bir üreteci kullanarak şöyle yaparız.
std::default_random_engine generator( std::random_device{}() );
Hiç yorum yok:
Yorum Gönder