adding lastvalueprovider interface and relevant methods.
This commit is contained in:
parent
c14ab6a4b2
commit
2603c67e10
5 changed files with 27 additions and 5 deletions
|
@ -31,6 +31,11 @@ func (cs ContinuousSeries) GetValue(index int) (float64, float64) {
|
||||||
return cs.XValues[index], cs.YValues[index]
|
return cs.XValues[index], cs.YValues[index]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetLastValue gets the last value.
|
||||||
|
func (cs ContinuousSeries) GetLastValue() (float64, float64) {
|
||||||
|
return cs.XValues[len(cs.XValues)-1], cs.YValues[len(cs.YValues)-1]
|
||||||
|
}
|
||||||
|
|
||||||
// GetValueFormatters returns value formatter defaults for the series.
|
// GetValueFormatters returns value formatter defaults for the series.
|
||||||
func (cs ContinuousSeries) GetValueFormatters() (x, y ValueFormatter) {
|
func (cs ContinuousSeries) GetValueFormatters() (x, y ValueFormatter) {
|
||||||
x = FloatValueFormatter
|
x = FloatValueFormatter
|
||||||
|
|
|
@ -52,7 +52,7 @@ func (ema EMASeries) GetSigma() float64 {
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetValue gets a value at a given index.
|
// GetValue gets a value at a given index.
|
||||||
func (ema EMASeries) GetValue(index int) (x float64, y float64) {
|
func (ema EMASeries) GetValue(index int) (x, y float64) {
|
||||||
if ema.InnerSeries == nil {
|
if ema.InnerSeries == nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -64,7 +64,7 @@ func (ema EMASeries) GetValue(index int) (x float64, y float64) {
|
||||||
|
|
||||||
// GetLastValue computes the last moving average value but walking back window size samples,
|
// GetLastValue computes the last moving average value but walking back window size samples,
|
||||||
// and recomputing the last moving average chunk.
|
// and recomputing the last moving average chunk.
|
||||||
func (ema EMASeries) GetLastValue() (x float64, y float64) {
|
func (ema EMASeries) GetLastValue() (x, y float64) {
|
||||||
if ema.InnerSeries == nil {
|
if ema.InnerSeries == nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,7 +36,7 @@ func (sma SMASeries) Len() int {
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetValue gets a value at a given index.
|
// GetValue gets a value at a given index.
|
||||||
func (sma SMASeries) GetValue(index int) (x float64, y float64) {
|
func (sma SMASeries) GetValue(index int) (x, y float64) {
|
||||||
if sma.InnerSeries == nil {
|
if sma.InnerSeries == nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -48,7 +48,7 @@ func (sma SMASeries) GetValue(index int) (x float64, y float64) {
|
||||||
|
|
||||||
// GetLastValue computes the last moving average value but walking back window size samples,
|
// GetLastValue computes the last moving average value but walking back window size samples,
|
||||||
// and recomputing the last moving average chunk.
|
// and recomputing the last moving average chunk.
|
||||||
func (sma SMASeries) GetLastValue() (x float64, y float64) {
|
func (sma SMASeries) GetLastValue() (x, y float64) {
|
||||||
if sma.InnerSeries == nil {
|
if sma.InnerSeries == nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,12 +29,19 @@ func (ts TimeSeries) Len() int {
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetValue gets a value at a given index.
|
// GetValue gets a value at a given index.
|
||||||
func (ts TimeSeries) GetValue(index int) (x float64, y float64) {
|
func (ts TimeSeries) GetValue(index int) (x, y float64) {
|
||||||
x = TimeToFloat64(ts.XValues[index])
|
x = TimeToFloat64(ts.XValues[index])
|
||||||
y = ts.YValues[index]
|
y = ts.YValues[index]
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetLastValue gets the last value.
|
||||||
|
func (ts TimeSeries) GetLastValue() (x, y float64) {
|
||||||
|
x = TimeToFloat64(ts.XValues[len(ts.XValues)-1])
|
||||||
|
y = ts.YValues[len(ts.YValues)-1]
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// GetValueFormatters returns value formatter defaults for the series.
|
// GetValueFormatters returns value formatter defaults for the series.
|
||||||
func (ts TimeSeries) GetValueFormatters() (x, y ValueFormatter) {
|
func (ts TimeSeries) GetValueFormatters() (x, y ValueFormatter) {
|
||||||
x = TimeValueFormatter
|
x = TimeValueFormatter
|
||||||
|
|
|
@ -11,3 +11,13 @@ type BoundedValueProvider interface {
|
||||||
Len() int
|
Len() int
|
||||||
GetBoundedValue(index int) (x, y1, y2 float64)
|
GetBoundedValue(index int) (x, y1, y2 float64)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// LastValueProvider is a special type of value provider that can return it's (potentially computed) last value.
|
||||||
|
type LastValueProvider interface {
|
||||||
|
GetLastValue() (x, y float64)
|
||||||
|
}
|
||||||
|
|
||||||
|
// BoundedLastValueProvider is a special type of value provider that can return it's (potentially computed) bounded last value.
|
||||||
|
type BoundedLastValueProvider interface {
|
||||||
|
GetBoundedLastValue(index int) (x, y1, y2 float64)
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue