From fc0f274f512e8be9494c02c932915e9c53b06e21 Mon Sep 17 00:00:00 2001 From: Will Charczuk Date: Wed, 27 Jul 2016 12:44:02 -0700 Subject: [PATCH] fixing handling of offset and window --- linear_regression_series.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/linear_regression_series.go b/linear_regression_series.go index e430c96..270a948 100644 --- a/linear_regression_series.go +++ b/linear_regression_series.go @@ -40,7 +40,7 @@ func (lrs LinearRegressionSeries) Len() int { // GetWindow returns the window size. func (lrs LinearRegressionSeries) GetWindow() int { if lrs.Window == 0 { - return lrs.InnerSeries.Len() + return lrs.InnerSeries.Len() - lrs.GetOffset() } return lrs.Window } @@ -69,7 +69,8 @@ func (lrs *LinearRegressionSeries) GetValue(index int) (x, y float64) { lrs.computeCoefficients() } offset := lrs.GetOffset() - x, y = lrs.InnerSeries.GetValue(index + offset) + effectiveIndex := MinInt(index+offset, lrs.InnerSeries.Len()) + x, y = lrs.InnerSeries.GetValue(effectiveIndex) y = (lrs.m * lrs.normalize(x)) + lrs.b return }