• Main Page
  • Modules
  • Classes
  • Files
  • File List

D:/Projekt/ECF_trunk/ECF/TermFitnessValOp.cpp

00001 #include "ECF_base.h"
00002 #include "TermFitnessValOp.h"
00003 
00004 
00005 void TermFitnessValOp::registerParameters(StateP state)
00006 {
00007     double *value = new double(0);
00008     state->getRegistry()->registerEntry("term.fitnessval", (voidP) value, ECF::DOUBLE);
00009 }
00010 
00011 
00012 bool TermFitnessValOp::initialize(StateP state)
00013 {
00014     if(!state->getRegistry()->isModified("term.fitnessval"))
00015         return false;
00016 
00017     voidP sptr = state->getRegistry()->getEntry("term.fitnessval");
00018     termValue_ = *((double*) sptr.get());
00019 
00020     return true;
00021 }
00022 
00023 
00024 bool TermFitnessValOp::operate(StateP state)
00025 {
00026     double minFitness = state->getStats()->getFitnessMin();
00027     double maxFitness = state->getStats()->getFitnessMax();
00028 
00029     if(termValue_ >= minFitness && termValue_ <= maxFitness) {
00030         state->setTerminateCond();
00031         ECF_LOG(state, 1, "Termination: fitness value (" + dbl2str(termValue_) + ") reached");
00032     }
00033 
00034     return true;
00035 }

Generated on Fri Jul 5 2013 09:34:23 for ECF by  doxygen 1.7.1