<random>
Çok sayıda rasgele sayı üretici tanımlar.
#include <random>
Notlar
A rasgele sayı üretici sözde değerlerin dizisini üretir bir nesnedir. Hep bir belirtilen aralık içinde dağıtılmış değerleri üreten Oluşturucusu bir motoru. Bir altyapı ile birleştirilmiş bir dağıtım, altyapı dağıtım için 's bağımsız değişken olarak geçirerek tarafından operator() veya kullanarak bir variate_generator Class, dağıtım tarafından tanımlandığı şekilde dağıtılmış değerleri.
Rasgele sayı üretici çoğu şablon Oluşturucu parametreleri özelleştirmek olduğunu. Tür bağımsız değişken olarak ele üretici açıklamalarını genel şablona parametre adları gerçek bağımsız değişken türü, aşağıda verilen türünün özelliklerini tanımlamak için kullanın:
IntTypeimzalanmış veya imzalanmamış tamsayı türü gösterir.
UIntTypeimzalanmamış bir tamsayı türü gösterir.
RealTypeKayan nokta türü gösterir.
Bir kaynak hep bir minimum ve maksimum değer arasında dağıtılmış rasgele sayı örnekleri görecek TR1 sınıfın veya sınıf şablonu tanımlanır. Altyapının olabilir bir Basit motoru veya Bileşik motoru. Her alt yapısı aşağıdaki üyelere sahiptir:
typedef numeric-type result_typeüretici tarafından 's döndürülen türü operator().
result_type min()üretici tarafından 's döndürülen en düşük değerini verir operator().
result_type max()üreticisi tarafından 's verilen en büyük değeri verir operator(). Zaman result_type ayrılmaz bir türü olan bu aslında döndürülebilecek; en büyük değerdir zaman result_type bir kayan nokta türü döndürülebilir tüm değerleri büyük olan en küçük değeri budur.
void seed()Tohum işlev motoru varsayılan Çekirdek değerler ile başlatır.
template <class InIt> void seed(InIt& first, InIt last)Tohum işlevi altyapısı türünün değerlerini kullanarak seeds unsigned long olarak tarafından verilir yarı açık serisinden [first, last). Sıra tamamen altyapısını başlatmak yeterince uzun değilse, işlevin değerini saklayan last , first ve türünde bir nesne oluşturduğunda std::invalid_argument.
Not
Bu üye TR1 uyumluluk için korunur altyapılarını içerir.
result_type operator()()hep arasında dağıtılmış değerleri döndürür min() ve max().
min, max, ve result_type izleyin motorları için ayrıntıları açıklanmayan.
Visual Studio 2010 ile başlayarak, her motoru TR1 uyumluluk için korunur dışında aşağıdaki üyeleri de içerir:
Bağımsız değişkeni ile açık bir kurucu result_type x0 seed(x0) göre arama gibi sağlanan bir altyapı oluşturur.
Bağımsız değişkeni ile açık bir kurucu seed_seq& seq göre arama gibi sağlanan bir altyapı oluşturur seed(seq).
void seed(result_type x0)Tohum işlevi altyapısı tohum değerle seeds x0.
void seed(seed_seq& seq)Tohum işlevi altyapısı çekirdek değerlerle seeds seq.
void discard(unsigned long long count)Etkin çağrı operator() her değer sayısı süreleri ve atar.
Her alt yapısı olan bir durumu sonraki çaðrýlar tarafından oluşturulan değerler dizisini belirler operator(). İki nesne aynı türde durumları ile karşılaştırılabilir operator== ve operator!=. İki durumu eşit olarak karşılaştırmak nesneler aynı değerler dizisini oluşturur. Bir nesnenin durumunu bir akış için 32-bit işaretsiz değerler dizisi kullanarak kaydedilebilir operator<< nesnesi. Kaydederek durumu değiştirilmez. Kaydedilmiş durumunu kullanarak aynı türde bir nesne okunabilir operator>>.
A Basit motoru doğrudan rasgele sayı üreten bir motorudur. Bu kitaplık nesneleri basit altyapıları olan bir sınıfı sağlar. Ayrıca bunlar uygulamak için algoritması parametrelerini sağlayan değerler kullanılarak örneği dört sınıf şablonları sağlar ve bu sınıf şablonları örneklerini dokuz önceden tanımlanmış. Bu türleri de basit motorları nesneleridir.
A Bileşik motoru rasgele sayılar birinden aldığı bir altyapı veya daha fazla basit engines ve akış birörnek dağıtılmış rasgele sayı değerleri kullanarak üretir. Bu kitaplık iki bileşik motorlar sınıf şablonları sağlar.
A dağıtım TR1 sınıf ya da şablon sınıfı örnekleri akış belirli bir dağılımı olan rasgele sayılar akımına bir engine elde hep dağıtılmış rasgele sayı dönüştürme. Her dağıtım aşağıdaki üyelere sahiptir:
typedef numeric-type input_typegeçirilen altyapısı tarafından verilmesi gereken türü operator().
typedef numeric-type result_typeDağıtım tarafından 's döndürülen türü operator().
void reset()önbelleğe alınan tüm değerleri atar böylece sonraki aramanın sonucunu operator() önce arama motoru alınan değerlere bağlı değil.
template <class Engine> result_type operator()(Engine& eng)kullanarak dağıtım'ın tanımına göre dağıtılmış değerleri döndürür eng hep dağıtılmış rasgele değerleri ve saklı kaynağı olarak parametresi paket.
input_type, result_type, ve reset izleyin dağıtımları için ayrıntıları açıklanmayan.
Visual Studio 2010 ile başlayarak, her dağıtım de vardır:
typedef unspecified-type param_typeDönüş değeri üretmek için operator() için parametreleri paketin geçirilir.
A const param& yapıcısını argüman depolanmış parametre paketinden başlatır.
param_type param() constdepolanmış parametre paketi alır.
void param(const param_type&)depolanmış parametre paketi kendi bağımsız değişkenden ayarlar.
template <class Engine> result_type operator()(Engine& eng, param_type par0)eng birörnek dağıtılmış rasgele değerleri ve parametre paketin kaynağı olarak kullanarak dağıtım'ın tanımı ile dağıtılmış değerleri döndüren par0.
Parametre paketi dağıtımı için gerekli tüm parametreler saklayan bir nesnedir. Aşağıdakileri içerir:
typedef distribution-type distribution_typekendi dağıtım türüdür.
Aynı parametresi bir veya daha fazla Kurucular dağıtım Kurucular Al listeler.
Aynı parametre erişim işlevleri dağıtım.
Eşitlik ve eşitsizliği karşılaştırma işleçleri.
Kitaplık denetlenmeyen bir sürüm olarak işaretli bir sürüm olarak üretilmiştir. C's benzer bir makro denetlenen sürümünü kullanan assert makro koşul sınamak için işaretlenmiş olarak Precondition içinde işlevsel açıklamaları. Denetlenen sürümünü kullanmak için makro tanımla _RNG_CHECK veya makro _DEBUG kitaplığını kullanan tüm kod bir sıfır olmayan sayısal değer.
Sınıflar
Bernoulli dağılımı oluşturur. |
|
Binom dağılımının oluşturur. |
|
Cauchy dağılımı oluşturur. |
|
Kikare dağılımın oluşturur. |
|
Rasgele dizilmiş temel alt yapısı tarafından döndürülen değerleri atarak oluşturur. TR1 uyumluluk için korunur. |
|
Rasgele dizilmiş temel alt yapısı tarafından döndürülen değerleri atarak oluşturur. |
|
Ayrı bir tamsayı dağıtım oluşturur. |
|
Bir üstel dağılım oluşturur. |
|
Aşırı değer dağıtım oluşturur. |
|
Fisher f dağılımı oluşturur. |
|
Gama dağılımını oluşturur. |
|
Geometrik dağılım oluşturur. |
|
BITS temel alt yapısı tarafından döndürülen değerlerinden repacking tarafından belirtilen sayıda bit rasgele bir sıra oluşturur. |
|
Rasgele dizilmiş doğrusal congruential algoritmasını kullanarak oluşturur. TR1 uyumluluk için korunur. |
|
Rasgele dizilmiş doğrusal congruential algoritmasını kullanarak oluşturur. |
|
Günlük normal bir dağılım oluşturur. |
|
Rasgele dizilmiş Mersenne twister algoritmasını kullanarak oluşturur. TR1 uyumluluk için korunur. |
|
Rasgele dizilmiş Mersenne twister algoritmasını kullanarak oluşturur. |
|
Negatif binom dağılımını oluşturur. |
|
Normal dağılım oluşturur. |
|
Bir piecewise oluşturduğu sabit dağıtım. |
|
Bir piecewise oluşturduğu doğrusal dağıtım. |
|
Poisson dağılımını oluşturur. |
|
Rasgele dizilmiş bir dış aygıtı kullanarak oluşturur. |
|
Vektör rasgele sayı altyapısı için rasgele bir tohum sağlayabilir işaretsiz tamsayı değerleri depolar. |
|
Rasgele dizilmiş temel engine döndürülen değerleri yeniden sıralayarak oluşturur. |
|
Öğrenci t dağıtım oluşturur. |
|
Rasgele dizilmiş çıkarma ile taşıma algoritmasını kullanarak oluşturur. TR1 uyumluluk için korunur. |
|
Bir rasgele üretir kayan nokta kullanarak sıra taşıma algoritması ile çıkar. TR1 uyumluluk için korunur. |
|
Rasgele dizilmiş çıkarma ile taşıma algoritmasını kullanarak oluşturur. |
|
Tekdüzen tamsayı dağıtım oluşturur. TR1 uyumluluk için korunur. |
|
Tekdüzen tamsayı dağıtım oluşturur. |
|
Tek tip bir kayan nokta dağıtım oluşturur. TR1 uyumluluk için korunur. |
|
Tek tip bir kayan nokta dağıtım oluşturur. |
|
Bir altyapı ve bir dağıtım sarar. |
|
Weibull dağılımını oluşturur. |
|
Birleşik dağıtım oluşturur. |
TypeDef
Varsayılan altyapısı için bir tanım yazın. |
|
Karışık sipariş altyapısı için bir tanım yazın. |
|
Doğrusal congruential altyapısı için bir tanım yazın. |
|
Doğrusal congruential altyapısı için bir tanım yazın. |
|
Mersenne twister altyapısı için bir tanım yazın. |
|
Mersenne twister altyapısı için bir tanım yazın. |
|
Bir kayan nokta türü tanımı taşıma altyapısı ile çıkartın. |
|
Altyapısı ile çıkarma türü tanımı yerine getirir. |
|
Bir kayan nokta türü tanımı taşıma altyapısı ile çıkartın. |
|
Altyapısı ile çıkarma türü tanımı yerine getirir. |
|
Bir kayan nokta türü tanımı taşıma altyapısı ile çıkartın. |
|
Atma blok altyapısının tanımını yazın. |
|
Altyapısı ile çıkarma türü tanımı yerine getirir. |
|
Atma blok altyapısının tanımını yazın. |
|
Altyapısı ile çıkarma türü tanımı yerine getirir. |
|
Bir kayan nokta türü tanımı taşıma altyapısı ile çıkartın. |
İşleçler
Sınamaları işlecinin sol tarafındaki alt sağ tarafındaki alt yapısı eşittir. |
|
Sınamaları işlecinin sol tarafındaki alt sağ tarafta altyapıya eşit değil. |
|
Akış için durum bilgilerini yazar. |
|
Bir durum bilgilerini ayıklar. |
İşlevler
Rasgele serisinden bir kayan nokta değeri döndürür. |