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 }