/*@@@@@@@@@@@@@@@@@@@@@@@@ test.cpp @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 Random Option Pricing
 Summer 2002
 Authors: A. Korobchevsky
          S. Ferrando
 Ryerson University ALL RIGHTS RESERVED
 
 Purpose: Tests the gaussian random generator. 
			 Mean and standard deviation is examined.
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/

#include <iostream>
#include <cmath>

using namespace std;


#include "../GSL_RandomGen.h"

main()
{ const double sigma = 4;

  GSL_RandomGen gen("mt");
  double sum = 0;
  double sum_CT = 0; 
  int trials = 100000;

  for (int i = 0; i < trials; i++)
  { double g = gen.gauss(sigma);
	 sum += g;
    sum_CT += g * g; 
  }

  cout << "Mean = " << sum / trials << endl; 
  cout << "Std. dev. = " << sqrt((sum_CT - (sum * sum) / trials) / (trials - 1)) << endl; 
}
