github.com/sridharv/stencil@v0.0.0-20170626103218-a81b4a7626a1/std/num/num.go (about) 1 // Package num provides numeric utilities intended to be used with stencil 2 // 3 // As an example, to use a version of num specialized for int32 use 4 // 5 // import "github.com/sridharv/stencil/std/num/Number/int32" 6 package num 7 8 9 type Number float64 10 11 // Max returns the largest number in n 12 func Max(n...Number) Number { 13 if len(n) == 0 { 14 return 0 15 } 16 max := n[0] 17 for _, e := range n[1:] { 18 if max < e { 19 max = e 20 } 21 } 22 return max 23 } 24 25 // Min returns the smallest number in n 26 func Min(n...Number) Number { 27 if len(n) == 0 { 28 return 0 29 } 30 min := n[0] 31 for _, e := range n[1:] { 32 if min > e { 33 min = e 34 } 35 } 36 return min 37 } 38 39 // Sum returns the sum of all numbers in n 40 func Sum(n...Number) Number { 41 var s Number 42 for _, e := range n { 43 s += e 44 } 45 return s 46 }