package koboldsim import "math" // Generic helper functions not directly attached to Card Sim Engine mechanics. // Mean calculates the mathematical mean of its arguments (the sum, divided // by the number of elements). If it is called with no arguments, it returns // NaN ("not a number"). If there are contradictory infinities among the // arguments, it also returns NaN. Overflowing or underflowing can create an // infinity. func Mean(vals ...float64) float64 { if len(vals) == 0 { return math.NaN() } total := 0.0 for _, x := range vals { total += x } return total / float64(len(vals)) }