github.com/pavlo67/common@v0.5.3/common/mathlib/stddev.go (about)

     1  package mathlib
     2  
     3  import "math"
     4  
     5  func StdDev(data []float64) float64 {
     6  	if len(data) <= 1 {
     7  		return 0
     8  	}
     9  
    10  	sum := 0.
    11  	for _, d := range data {
    12  		sum += d
    13  	}
    14  	avg := sum / float64(len(data))
    15  
    16  	dev := 0.
    17  	for _, d := range data {
    18  		dev += (d - avg) * (d - avg)
    19  	}
    20  
    21  	return math.Sqrt(dev / float64(len(data)))
    22  }