util.go

 1package table
 2
 3import (
 4	"sort"
 5)
 6
 7// btoi converts a boolean to an integer, 1 if true, 0 if false.
 8func btoi(b bool) int {
 9	if b {
10		return 1
11	}
12	return 0
13}
14
15// bton converts a boolean to a specific integer, n if true, 0 if false.
16func bton(b bool, n int) int {
17	if b {
18		return n
19	}
20	return 0
21}
22
23// sum returns the sum of all integers in a slice.
24func sum(n []int) int {
25	var sum int
26	for _, i := range n {
27		sum += i
28	}
29	return sum
30}
31
32// median returns the median of a slice of integers.
33func median(n []int) int {
34	sort.Ints(n)
35
36	if len(n) <= 0 {
37		return 0
38	}
39	if len(n)%2 == 0 {
40		h := len(n) / 2            //nolint:mnd
41		return (n[h-1] + n[h]) / 2 //nolint:mnd
42	}
43	return n[len(n)/2]
44}