c# - una - random en visual basic




Generación robusta de números aleatorios (4)

C ++ 11 ha adoptado una robusta biblioteca de números aleatorios basada en boost.random. Puede acceder a una cantidad de motores de números aleatorios usando diferentes algoritmos para cumplir con los requisitos de calidad, velocidad o tamaño. Las implementaciones de calidad incluso proporcionarán acceso a cualquier RNG no determinista que su plataforma ofrezca a través de std::random_device .

Además, hay muchos adaptadores para producir distribuciones específicas, eliminando la necesidad de realizar dicha manipulación a mano (algo que a menudo se hace incorrectamente).

#include <random>

Estoy buscando un RNG rentable y razonablemente robusto que no use hardware especial. Puede usar métodos matemáticos (Mersenne Twister, etc.), puede "recoger entropía" de la máquina, lo que sea. En Linux / etc tenemos un drand48() que genera 48 bits aleatorios. Me gustaría una función / clase similar para C ++ o C # que pueda generar más de 32 bits de aleatoriedad y que los bits de bajo orden sean tan aleatorios como los de orden alto.

No tiene que ser criptográficamente seguro, pero no debe usar ni basarse en el idioma C rand() o .NET System.Random .

Se agradecerá cualquier código fuente, enlaces a la fuente, etc. En su defecto, ¿qué tipo de RNG debería estar buscando?



La Biblioteca Científica Gnu (GSL) tiene un amplio conjunto de generadores RN, arnés de prueba, etc. Si estás en Linux, probablemente ya esté disponible en tu sistema.








random