PlayaOptState.cpp

00001 #include "PlayaOptState.hpp"
00002 
00003 #ifndef HAVE_TEUCHOS_EXPLICIT_INSTANTIATION
00004 #include "PlayaVectorImpl.hpp"
00005 #endif
00006 
00007 
00008 namespace Playa
00009 {
00010 
00011 
00012 OptState::OptState(const Vector<double>& xCur,
00013   const double& fCur,
00014   const Vector<double>& gradCur)
00015   : status_(Opt_Continue),
00016     iter_(0),
00017     xCur_(xCur),
00018     xPrev_(),
00019     gradCur_(gradCur),
00020     gradPrev_(),
00021     fCur_(fCur),
00022     fPrev_(HUGE_VAL)
00023 {}
00024 
00025 void OptState::update(const Vector<double>& xNew, 
00026   const Vector<double>& gradNew, 
00027   const double& fNew)
00028 {
00029   xPrev_.acceptCopyOf(xCur_);
00030   gradPrev_.acceptCopyOf(gradCur_);
00031   fPrev_ = fCur_;
00032   
00033   xCur_.acceptCopyOf(xNew);
00034   gradCur_.acceptCopyOf(gradNew);
00035   fCur_ = fNew;
00036   
00037   iter_++;
00038 }
00039 
00040 
00041 
00042 }

doxygen