From 784f745b792b45d1cce283fac3d5b0fcc6946adf Mon Sep 17 00:00:00 2001 From: astrojhgu Date: Sat, 19 Feb 2011 01:46:03 +0000 Subject: git-svn-id: file:///home/svn/opt_utilities@177 ed2142bd-67ad-457f-ba7c-d818d4011675 --- pre_estimater/lin1d_estimater.hpp | 52 ----------------- pre_estimater/pre_estimater.hpp | 120 -------------------------------------- 2 files changed, 172 deletions(-) delete mode 100644 pre_estimater/lin1d_estimater.hpp delete mode 100644 pre_estimater/pre_estimater.hpp (limited to 'pre_estimater') diff --git a/pre_estimater/lin1d_estimater.hpp b/pre_estimater/lin1d_estimater.hpp deleted file mode 100644 index 0a76df3..0000000 --- a/pre_estimater/lin1d_estimater.hpp +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef LIN1D_ESTIMATER -#define LIN1D_ESTIMATER -#include "pre_estimater.hpp" -#include -#include -#include - -namespace opt_utilities -{ - template - class lin1d_estimater - :public pre_estimater,std::string> - { - public: - lin1d_estimater() - { - this->set_model_id("1d linear model"); - } - - lin1d_estimater* do_clone()const - { - return new lin1d_estimater(*this); - } - - void do_estimate(const data_set& d,model,std::string>& m)const - { - T n=d.size(); - T sy=0; - T sxx=0; - T sx=0; - T sxy=0; - - for(int i=0;i - - -namespace opt_utilities -{ - - - template - class pre_estimater - { - private: - std::string model_id; - private: - virtual void do_estimate(const data_set& d,model& m)const=0; - virtual pre_estimater* do_clone()const=0; - virtual void do_destroy() - { - delete this; - } - public: - void estimate(const data_set& d,model& m)const - { - do_estimate(d,m); - } - - pre_estimater* clone()const - { - return this->do_clone(); - } - - void destroy() - { - do_destroy(); - } - public: - std::string get_model_id()const - { - return model_id; - } - - void set_model_id(const std::string& s) - { - model_id=s; - } - }; - - template - class pre_estimatable - { - private: - pre_estimater* ppe; - public: - pre_estimatable() - :ppe(0) - {} - - pre_estimatable(const pre_estimatable& rhs) - { - if(rhs.ppe) - { - ppe=rhs.ppe->clone(); - } - } - - pre_estimatable& operator=(const pre_estimatable& rhs) - { - if(this==&rhs) - { - return *this; - } - if(ppe) - { - ppe->destroy(); - } - ppe=rhs.ppe->clone(); - } - - void set_pre_estimater(const pre_estimater& pe) - { - if(dynamic_cast&>(*this).get_type_name()!=pe.get_model_id()) - { - return; - } - if(ppe) - { - ppe->destroy(); - } - ppe=pe.clone(); - } - - virtual ~pre_estimatable() - { - if(ppe) - { - ppe->destroy(); - } - } - - public: - void estimate(const data_set& d) - { - if(ppe) - { - ppe->estimate(d,dynamic_cast&>(*this)); - } - } - }; - - template - void pre_estimate(fitter& fit) - { - dynamic_cast&>(fit.get_model()).estimate(fit.get_data_set()); - } -} - - -#endif -- cgit v1.2.2