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

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

00001 #include "ECF_base.h"
00002 #include "TermMaxEvalOp.h"
00003 
00004 
00005 void TermMaxEvalOp::registerParameters(StateP state)
00006 {
00007     int *eval = new int(0);
00008     state->getRegistry()->registerEntry("term.eval", (voidP) eval, ECF::UINT,
00009         "max number of fitness evaluations (default: none)");
00010 }
00011 
00012 
00013 bool TermMaxEvalOp::initialize(StateP state)
00014 {
00015     voidP sptr = state->getRegistry()->getEntry("term.eval");
00016     nEvaluations_ = *((uint*) sptr.get());
00017 
00018     if(state->getRegistry()->isModified("term.eval"))
00019         return true;
00020 
00021     return false;
00022 }
00023 
00024 
00025 bool TermMaxEvalOp::operate(StateP state)
00026 {
00027     if(state->getEvaluations() >= nEvaluations_) {
00028         state->setTerminateCond();
00029         ECF_LOG(state, 1, "Termination: max evaluations reached (" + uint2str(nEvaluations_) + ")");
00030     }
00031 
00032     return true;
00033 }

Generated on Tue Nov 4 2014 13:04:31 for ECF by  doxygen 1.7.1