std::mersenne_twister_engine<UIntType,w,n,m,r,a,u,d,s,b,t,c,l,f>:: seed
From es.cppreference.net
<
cpp
|
numeric
|
random
|
mersenne twister engine
|
void
seed
(
result_type value
=
default_seed
)
;
|
(1) | (desde C++11) |
|
template
<
class
SeedSeq
>
void seed ( SeedSeq & seq ) ; |
(2) | (desde C++11) |
Establece el estado del motor de números aleatorios.
1)
Inmediatamente después de establecer el estado,
*
this
==
std::
mersenne_twister_engine
(
value
)
es
true
.
2)
Inmediatamente después de establecer el estado,
*
this
==
std::
mersenne_twister_engine
(
seq
)
es
true
.
Contenidos |
Parámetros
| value | - | valor de semilla a utilizar para establecer el estado |
| seq | - | secuencia de semilla a utilizar para establecer el estado |
Excepciones
Complejidad
1)
Igual que
std::
mersenne_twister_engine
(
value
)
.
2)
Igual que
std::
mersenne_twister_engine
(
seq
)
.
Informes de defectos
Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares publicados anteriormente de C++.
| DR | Aplicado a | Comportamiento publicado | Comportamiento correcto |
|---|---|---|---|
| LWG 2181 | C++11 |
la sobrecarga
(
2
)
no lanzaría excepción incluso si la llamada a
seq.generate
lanza una
|
propaga la excepción |
Véase también
|
construye el motor
(función miembro pública) |
Ejemplo
Ejecutar este código
#include <iostream> #include <random> int main() { std::mt19937 gen; // Inicializar el motor con un entero sin signo gen.seed(1); std::cout << "after seed by 1: " << gen() << '\n'; // Inicializar el motor con dos enteros sin signo std::seed_seq sseq{1, 2}; gen.seed(sseq); std::cout << "after seed by {1,2}: " << gen() << '\n'; }
Salida posible:
after seed by 1: 1791095845
after seed by {1,2}: 3127717181