package utils import "github.com/shopspring/decimal" func Average(numbers []decimal.Decimal) decimal.Decimal { if len(numbers) == 0 { return decimal.Decimal{} } if len(numbers) == 1 { return numbers[0] } var sum decimal.Decimal for _, d := range numbers { sum = sum.Add(d) } return sum.Div(decimal.NewFromInt(int64(len(numbers)))) } func Deviation(numbers []decimal.Decimal) decimal.Decimal { if len(numbers) == 0 || len(numbers) == 1 { return decimal.Decimal{} } avgNum := Average(numbers) var diffSquaredSum decimal.Decimal for _, n := range numbers { diff := n.Sub(avgNum) diffSquaredSum = diffSquaredSum.Add(diff.Mul(diff)) } return diffSquaredSum.Div(decimal.NewFromInt(int64(len(numbers)))) }