#ifndef VDUALGAUSS1D_ESTIMATER #define VDUALGAUSS1D_ESTIMATER #include #include #include #include namespace opt_utilities { template class dualgauss1d_estimater :public pre_estimater,optvec,optvec,std::string> { public: dualgauss1d_estimater() { this->set_model_id("1d dualgaussian"); } dualgauss1d_estimater* do_clone()const { return new dualgauss1d_estimater(*this); } void do_estimate(const data_set,optvec >& d,model,optvec,optvec,std::string>& m)const { int n=d.size(); T xp1st=0; T xp2nd=0; T yp1st=d.get_data(0).get_y()[0]; T yp2nd=d.get_data(0).get_y()[0]; for(int i=0;iyp1st) { yp1st=d.get_data(i).get_y()[0]; xp1st=d.get_data(i).get_x()[0]; } } for(int i=0;i