Skip to content

FlorianLoch/go-sliding-window

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-sliding-window

A simple sliding window implementation intended for calculating moving averages.

  • Synchronized, a.k.a. thread-safe, if you want it to be.
  • Supports calculation of weighted averages

Usage

go get github.com/florianloch/go-sliding-window
import slidingwindow "github.com/florianloch/go-sliding-window"

Example

window := slidingwindow.New(3, true)

window.Add(1.0).AddInt(2)  

require.Equal(2, window.Count())
require.Equal(3, window.Size())

require.Equal(3.0, window.Sum())
require.Equal(1.5, window.Avg())

// Custom functions can be used to adjust the weights
r.Equal(5.0/3.0, window.WeightedAvg(slidingwindow.PositionalWeight))

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages