Aracılığıyla paylaş


<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.

Bb982398.collapse_all(tr-tr,VS.110).gifSınıflar

bernoulli_distribution Class

Bernoulli dağılımı oluşturur.

binomial_distribution Class

Binom dağılımının oluşturur.

cauchy_distribution Class

Cauchy dağılımı oluşturur.

chi_squared_distribution Class

Kikare dağılımın oluşturur.

discard_block Class

Rasgele dizilmiş temel alt yapısı tarafından döndürülen değerleri atarak oluşturur. TR1 uyumluluk için korunur.

discard_block_engine Class

Rasgele dizilmiş temel alt yapısı tarafından döndürülen değerleri atarak oluşturur.

discrete_distribution Class

Ayrı bir tamsayı dağıtım oluşturur.

exponential_distribution Class

Bir üstel dağılım oluşturur.

extreme_value_distribution Class

Aşırı değer dağıtım oluşturur.

fisher_f_distribution Class

Fisher f dağılımı oluşturur.

gamma_distribution Class

Gama dağılımını oluşturur.

geometric_distribution Class

Geometrik dağılım oluşturur.

independent_bits_engine Class

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.

linear_congruential Class

Rasgele dizilmiş doğrusal congruential algoritmasını kullanarak oluşturur. TR1 uyumluluk için korunur.

linear_congruential_engine Class

Rasgele dizilmiş doğrusal congruential algoritmasını kullanarak oluşturur.

lognormal_distribution Class

Günlük normal bir dağılım oluşturur.

mersenne_twister Class

Rasgele dizilmiş Mersenne twister algoritmasını kullanarak oluşturur. TR1 uyumluluk için korunur.

mersenne_twister_engine Class

Rasgele dizilmiş Mersenne twister algoritmasını kullanarak oluşturur.

negative_binomial_distribution Class

Negatif binom dağılımını oluşturur.

normal_distribution Class

Normal dağılım oluşturur.

piecewise_constant_distribution Class

Bir piecewise oluşturduğu sabit dağıtım.

piecewise_linear_distribution Class

Bir piecewise oluşturduğu doğrusal dağıtım.

poisson_distribution Class

Poisson dağılımını oluşturur.

random_device Class

Rasgele dizilmiş bir dış aygıtı kullanarak oluşturur.

seed_seq Class

Vektör rasgele sayı altyapısı için rasgele bir tohum sağlayabilir işaretsiz tamsayı değerleri depolar.

shuffle_order_engine Class

Rasgele dizilmiş temel engine döndürülen değerleri yeniden sıralayarak oluşturur.

student_t_distribution Class

Öğrenci t dağıtım oluşturur.

subtract_with_carry Class

Rasgele dizilmiş çıkarma ile taşıma algoritmasını kullanarak oluşturur. TR1 uyumluluk için korunur.

subtract_with_carry_01 Class

Bir rasgele üretir kayan nokta kullanarak sıra taşıma algoritması ile çıkar. TR1 uyumluluk için korunur.

subtract_with_carry_engine Class

Rasgele dizilmiş çıkarma ile taşıma algoritmasını kullanarak oluşturur.

uniform_int Class

Tekdüzen tamsayı dağıtım oluşturur. TR1 uyumluluk için korunur.

uniform_int_distribution Class

Tekdüzen tamsayı dağıtım oluşturur.

uniform_real Class

Tek tip bir kayan nokta dağıtım oluşturur. TR1 uyumluluk için korunur.

uniform_real_distribution Class

Tek tip bir kayan nokta dağıtım oluşturur.

variate_generator Class

Bir altyapı ve bir dağıtım sarar.

weibull_distribution Class

Weibull dağılımını oluşturur.

xor_combine Class

Birleşik dağıtım oluşturur.

Bb982398.collapse_all(tr-tr,VS.110).gifTypeDef

default_random_engine TypeDef

Varsayılan altyapısı için bir tanım yazın.

knuth_b TypeDef

Karışık sipariş altyapısı için bir tanım yazın.

minstd_rand0 TypeDef

Doğrusal congruential altyapısı için bir tanım yazın.

minstd_rand TypeDef

Doğrusal congruential altyapısı için bir tanım yazın.

mt19937 TypeDef

Mersenne twister altyapısı için bir tanım yazın.

mt19937_64 TypeDef

Mersenne twister altyapısı için bir tanım yazın.

ranlux_base_01 TypeDef

Bir kayan nokta türü tanımı taşıma altyapısı ile çıkartın.

ranlux3 TypeDef

Altyapısı ile çıkarma türü tanımı yerine getirir.

ranlux3_01 TypeDef

Bir kayan nokta türü tanımı taşıma altyapısı ile çıkartın.

ranlux4 TypeDef

Altyapısı ile çıkarma türü tanımı yerine getirir.

ranlux4_01 TypeDef

Bir kayan nokta türü tanımı taşıma altyapısı ile çıkartın.

ranlux24 TypeDef

Atma blok altyapısının tanımını yazın.

ranlux24_base TypeDef

Altyapısı ile çıkarma türü tanımı yerine getirir.

ranlux48 TypeDef

Atma blok altyapısının tanımını yazın.

ranlux48_base TypeDef

Altyapısı ile çıkarma türü tanımı yerine getirir.

ranlux64_base_01 TypeDef

Bir kayan nokta türü tanımı taşıma altyapısı ile çıkartın.

Bb982398.collapse_all(tr-tr,VS.110).gifİşleçler

operator== <random>

Sınamaları işlecinin sol tarafındaki alt sağ tarafındaki alt yapısı eşittir.

operator!= <random>

Sınamaları işlecinin sol tarafındaki alt sağ tarafta altyapıya eşit değil.

operator<< <random>

Akış için durum bilgilerini yazar.

operator>> <random>

Bir durum bilgilerini ayıklar.

Bb982398.collapse_all(tr-tr,VS.110).gifİşlevler

generate_canonical

Rasgele serisinden bir kayan nokta değeri döndürür.