/*
   Driver program to use a class.
   
   The driver and class can be compiled as SEPARATE entities.
*/

// These are the standard C++ libraries with streams and mathematics
#include <iostream>
#include <random>
using namespace std;

// This is a header file for our own DataAnalysis class. 
#include "dataanalysis.hpp"


int main()
{    
   DataAnalysis DA;
   cout << DA << "\n";

   DA.Add(10.0);
   cout << DA << "\n";
    

   default_random_engine re;
   double average=10.0;
   double standarddev=1.0;
   normal_distribution<double> dist1( average, standarddev);

   double a = -1.0;
   double b =  1.0;
   uniform_real_distribution<double> dist2(a,b);

   // Sample lots of numbers
   const int N=100000;
   for (int i=0;i<N;i++)
        {
           double X1=dist1(re);  // Gaussian random number  10+/-1.0
           double X2=dist2(re);  // Uniform number [-1:1]
           DA.Add(X1+X2);
        }
        
   cout << DA << "\n";
}
