00001 #include <iostream>
00002 #include <gsl/gsl_math.h>
00003 #include "SeismicDataComp.h"
00004 #include "RecCalc.h"
00005 using namespace std;
00006
00007 void Subroutine(const SeismicDataComp &SubTest)
00008 {
00009 SeismicDataComp Local(SubTest);
00010 }
00011 int main()
00012 {
00013 const double tolerance = 1e-6;
00014 const int runs = 20;
00015 for (int i = 0; i < runs; ++i)
00016 {
00017 RecCalc RecCalc(0,0,4,0.001);
00018 SeismicDataComp Test1;
00019 Test1.GetData("smp.rec");
00020 Subroutine(Test1);
00021 SeismicDataComp Test2(Test1);
00022 Subroutine(Test2);
00023 SeismicDataComp Test3;
00024 Test3 = Test1;
00025 Subroutine(Test3);
00026
00027 for (int i = 0; i < Test1.Data.size(); ++i)
00028 {
00029 if (gsl_fcmp(Test1.Data.at(i),Test2.Data.at(i),tolerance) != 0
00030 || gsl_fcmp(Test1.Data.at(i),Test2.Data.at(i),tolerance) != 0)
00031 {
00032 cout << Test1.Data.at(i) << " " << Test2.Data.at(i) << " "<< Test3.Data.at(i) << " " << endl;
00033 }
00034 }
00035 RecCalc.CalcRec(Test1,Test2,Test3);
00036 }
00037 cout << "Done." << endl;
00038 }