Programación para generar números aleatorios distribuidos uniformemente.
Doble rand (doble []r)
{
Base doble, u, p, v, temp1, temp2, temp3
Base = 256,0 < / p>
u = 17.0;
v = 139.0;
temp 1 = u *(r[0])+v //incluso si es total
temp 2 =(int)(temp 1/base); //Calculadora
temp 3 = temp 1-temp 2 * base; //Restante
r[ 0; ]= temp 3; //Actualiza la semilla aleatoria para usarla la próxima vez.
p = r[0]/base; //Generar número aleatorio
Devuelve p;
}
Donde base es el número base, generalmente se eliminan los múltiplos enteros de 2 y las constantes u y v se pueden elegir arbitrariamente. La matriz r[] es una matriz con un solo valor. Por ejemplo: doble[]r={5.0}.