#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <sys/time.h>

/* This routine generates random numbers and prints them out
 */
 
#include "mersenne.h"

char usage[]  = " usage: random_generate N \n\
  Generates N random numbers\n";

int main(int argc,char *argv[])
{
  struct timeval tv;
  struct timezone tz;
  double res,err;
  int loops,n,i;

  /* require correct number of arguments 
   */
  if (argc != 2) {
    fprintf(stderr,usage);
    exit(0);
  }

  n     = atoi(argv[1]);    /* first int */
  
  /* seed the random number using system time
   * tv.tv_sec contains time in seconds, tv.tv_usec in microseconds
   */

  gettimeofday( &tv, &tz );
  seed_mersenne( tv.tv_sec + tv.tv_usec );

  for (i=0; i<100000; i++) mersenne();

  for (i=0; i<n; i++) {
    printf("%.12g\n", mersenne() );
  }
 
  return(1);
}