visual - use random c#




Generazione di numeri casuali robusti (4)

C ++ 11 ha adottato una robusta libreria di numeri casuali basata su boost.random. È possibile accedere a un numero di motori di numeri casuali utilizzando diversi algoritmi per soddisfare i requisiti di qualità, velocità o dimensioni. Implementazioni di qualità forniranno anche l'accesso a qualsiasi RNG non deterministico offerto dalla piattaforma tramite std::random_device .

Inoltre ci sono molti adattatori per produrre distribuzioni specifiche, eliminando la necessità di eseguire tali manipolazioni a mano (cosa che spesso viene eseguita in modo errato).

#include <random>

Sto cercando un RNG performante e abbastanza robusto che non usi hardware speciale. Può usare metodi matematici (Mersenne Twister, ecc.), Può "raccogliere entropia" dalla macchina, qualunque cosa. Su Linux / etc abbiamo un drand48() che genera 48 bit casuali. Mi piacerebbe una funzione / classe simile per C ++ o C # che possa generare più di 32 bit di casualità e quali bit di basso ordine siano ugualmente casuali come i bit di ordine superiore.

Non deve essere crittograficamente sicuro ma non deve utilizzare o essere basato sul linguaggio C rand() o .NET System.Random .

Sarebbe apprezzato qualsiasi codice sorgente, link alla fonte, ecc. In caso contrario, quale TIPO di RNG dovrei cercare?



La Gnu Scientific Library (GSL) ha una serie piuttosto ampia di generatori RN, imbracatura di test, ecc. Se sei su Linux, probabilmente è già disponibile sul tuo sistema.






random