package chart import ( "image/color" "time" ) // ColorIsZero returns if a color.RGBA is unset or not. func ColorIsZero(c color.RGBA) bool { return c.R == 0 && c.G == 0 && c.B == 0 && c.A == 0 } // MinAndMax returns both the min and max in one pass. func MinAndMax(values ...float64) (min float64, max float64) { if len(values) == 0 { return } min = values[0] max = values[0] for _, v := range values { if max < v { max = v } if min > v { min = v } } return } // MinAndMaxOfTime returns the min and max of a given set of times // in one pass. func MinAndMaxOfTime(values ...time.Time) (min time.Time, max time.Time) { if len(values) == 0 { return } min = values[0] max = values[0] for _, v := range values { if max.Before(v) { max = v } if min.After(v) { min = v } } return }