/*----------------------------------------------------------------------*/
/*  This function returns a random real number between the specified    */
/* inner and outer bounds.                                              */
/*----------------------------------------------------------------------*/

double random_number (inner, outer)
double inner, outer;
{
     double range; 
     
     range = outer - inner;
     return((((double)rand()) / (double)(RAND_MAX)) * range + inner);
}


/*----------------------------------------------------------------------*/
/*   This function returns a value within a certain variation of the    */
/*   exact value given it in 'value'.                                   */
/*----------------------------------------------------------------------*/

double about (value, variation)
double value, variation;
{
     return(value + (value * random_number(-variation,variation)));
}

double random_eccentricity ()
{
     return(1.0 - pow(random_number(0.0, 1.0),ECCENTRICITY_COEFF));
}
