package chart // LinearCoefficientProvider is a type that returns linear cofficients. type LinearCoefficientProvider interface { Coefficients() (m, b, stdev, avg float64) } // LinearCoefficients returns a fixed linear coefficient pair. func LinearCoefficients(m, b float64) LinearCoefficientSet { return LinearCoefficientSet{ M: m, B: b, } } // NormalizedLinearCoefficients returns a fixed linear coefficient pair. func NormalizedLinearCoefficients(m, b, stdev, avg float64) LinearCoefficientSet { return LinearCoefficientSet{ M: m, B: b, StdDev: stdev, Avg: avg, } } // LinearCoefficientSet is the m and b values for the linear equation in the form: // y = (m*x) + b type LinearCoefficientSet struct { M float64 B float64 StdDev float64 Avg float64 } // Coefficients returns the coefficients. func (lcs LinearCoefficientSet) Coefficients() (m, b, stdev, avg float64) { m = lcs.M b = lcs.B stdev = lcs.StdDev avg = lcs.Avg return }