package math import ( "f1-game/internal/types" "math" ) func Max[E types.Ordered](val E, others ...E) E { maxVal := val for _, v := range others { if v > maxVal { maxVal = v } } return maxVal } func Min[E types.Ordered](val E, others ...E) E { minVal := val for _, v := range others { if v < minVal { minVal = v } } return minVal } func Round[E types.FloatType, T types.Number](val E) T { return T(math.Round(float64(val))) } func Ceil[E types.FloatType, T types.Number](val E) T { return T(math.Ceil(float64(val))) } func Floor[E types.FloatType, T types.Number](val E) T { return T(math.Floor(float64(val))) }