github.com/coveo/gotemplate@v2.7.7+incompatible/template/math_stats.go (about) 1 package template 2 3 import ( 4 "fmt" 5 ) 6 7 func average(arg1 interface{}, args ...interface{}) (r interface{}, err error) { 8 if arg1 == nil { 9 return nil, fmt.Errorf("First argument could not be nil") 10 } 11 defer func() { err = trapError(err, recover()) }() 12 args = convertArgs(arg1, args...).AsArray() 13 if len(args) == 0 { 14 return 0, nil 15 } 16 var sum interface{} 17 sum, err = add(args[0], args[1:]...) 18 return simplify(toFloat(sum) / float64(len(args))), nil 19 } 20 21 func min(values ...interface{}) interface{} { return compareNumerics(values, true) } 22 func max(values ...interface{}) interface{} { return compareNumerics(values, false) }