1#ifndef WEIGHTEDLOWESS_COMPUTE_HPP
2#define WEIGHTEDLOWESS_COMPUTE_HPP
7#include "sanisizer/sanisizer.hpp"
39template<
typename Data_>
41 std::vector<Data_> rbuffer;
42 if (robust_weights == NULL) {
43 sanisizer::resize(rbuffer, num_points);
44 robust_weights = rbuffer.data();
46 internal::fit_trend(num_points, x, windows, y, fitted, robust_weights, opt);
65template<
typename Data_>
66void compute(
const std::size_t num_points,
const Data_* x,
const Data_* y, Data_* fitted, Data_* robust_weights,
const Options<Data_>& opt) {
68 compute(num_points, x, win, y, fitted, robust_weights, opt);
75template<
typename Data_>
81 fitted(sanisizer::cast<decltype(internal::I(
fitted.size()))>(n)),
111template<
typename Data_>
Namespace for LOWESS functions.
Definition compute.hpp:18
PrecomputedWindows< Data_ > define_windows(const std::size_t num_points, const Data_ *x, const Options< Data_ > &opt)
Definition window.hpp:267
void compute(const std::size_t num_points, const Data_ *x, const PrecomputedWindows< Data_ > &windows, const Data_ *y, Data_ *fitted, Data_ *robust_weights, const Options< Data_ > &opt)
Definition compute.hpp:40
Options for compute().
Definition Options.hpp:17
Precomputed windows for LOWESS smoothing.
Definition window.hpp:234
Store the smoothing results.
Definition compute.hpp:76
std::vector< Data_ > fitted
Definition compute.hpp:88
Results(const std::size_t n)
Definition compute.hpp:80
std::vector< Data_ > robust_weights
Definition compute.hpp:93