00001 #include "SIGEL_GP/SIG_GPExperimentHistoryEntry.h" 00002 00003 #include <qtextstream.h> 00004 00005 namespace SIGEL_GP 00006 { 00007 00008 SIG_GPExperimentHistoryEntry::SIG_GPExperimentHistoryEntry( int generationNo, 00009 QDateTime breakTime, 00010 double maxFitness, 00011 double minFitness, 00012 double averageFitness ) 00013 : generationNo( generationNo ), 00014 breakTime( breakTime ), 00015 maxFitness( maxFitness ), 00016 minFitness( minFitness ), 00017 averageFitness( averageFitness ) 00018 { }; 00019 00020 SIG_GPExperimentHistoryEntry::SIG_GPExperimentHistoryEntry( QString entryString ) 00021 { 00022 int year = 0; 00023 int month = 0; 00024 int day = 0; 00025 int hour = 0; 00026 int minute = 0; 00027 int second = 0; 00028 00029 QTextStream entryStream( &entryString, IO_ReadOnly ); 00030 00031 entryStream >> generationNo 00032 >> year 00033 >> month 00034 >> day 00035 >> hour 00036 >> minute 00037 >> second 00038 >> maxFitness 00039 >> minFitness 00040 >> averageFitness; 00041 00042 QDate date( year, month, day ); 00043 00044 QTime time( hour, minute, second ); 00045 00046 breakTime.setDate( date ); 00047 breakTime.setTime( time ); 00048 }; 00049 00050 int SIG_GPExperimentHistoryEntry::getGenerationNo() const 00051 { 00052 return generationNo; 00053 }; 00054 00055 QDateTime SIG_GPExperimentHistoryEntry::getBreakTime() const 00056 { 00057 return breakTime; 00058 }; 00059 00060 double SIG_GPExperimentHistoryEntry::getMaxFitness() const 00061 { 00062 return maxFitness; 00063 }; 00064 00065 QString SIG_GPExperimentHistoryEntry::print() const 00066 { 00067 QString result; 00068 QTextStream resultStream( &result, IO_WriteOnly ); 00069 00070 resultStream << generationNo 00071 << " " 00072 << breakTime.date().year() 00073 << " " 00074 << breakTime.date().month() 00075 << " " 00076 << breakTime.date().day() 00077 << " " 00078 << breakTime.time().hour() 00079 << " " 00080 << breakTime.time().minute() 00081 << " " 00082 << breakTime.time().second() 00083 << " " 00084 << maxFitness 00085 << " " 00086 << minFitness 00087 << " " 00088 << averageFitness 00089 << "\n"; 00090 00091 return result; 00092 }; 00093 00094 double SIG_GPExperimentHistoryEntry::getMinFitness() const 00095 { 00096 return minFitness; 00097 }; 00098 00099 double SIG_GPExperimentHistoryEntry::getAverageFitness() const 00100 { 00101 return averageFitness; 00102 }; 00103 00104 }