void ArSuf::Update(const DoubleData &y) { double yvalue = y.value(); if (lags_.size() == reg_suf_->size()) { x_.assign(lags_.begin(), lags_.end()); reg_suf_->add_mixture_data(yvalue, x_, 1.0); lags_.push_front(yvalue); lags_.pop_back(); } else if (lags_.size() < reg_suf_->size()) { lags_.push_front(yvalue); } else { report_error("Vector of lags is larger than the AR(p) dimension."); } }
void ExpSuf::Update(const DoubleData &x) { n_ += 1.0; sum_ += x.value(); }
void BS::Update(const DoubleData &d){ double p = d.value(); update_raw(p); }
void US::Update(const DoubleData &d) { update_raw(d.value()); }