diff options
Diffstat (limited to 'lib/slices')
-rw-r--r-- | lib/slices/sliceutil.go | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/lib/slices/sliceutil.go b/lib/slices/sliceutil.go index 392514f..faaffcb 100644 --- a/lib/slices/sliceutil.go +++ b/lib/slices/sliceutil.go @@ -48,18 +48,24 @@ func Reverse[T any](slice []T) { } } -func Max[T constraints.Ordered](a, b T) T { - if a > b { - return a +func Max[T constraints.Ordered](a T, rest ...T) T { + ret := a + for _, b := range rest { + if b > a { + ret = b + } } - return b + return ret } -func Min[T constraints.Ordered](a, b T) T { - if a < b { - return a +func Min[T constraints.Ordered](a T, rest ...T) T { + ret := a + for _, b := range rest { + if b < a { + ret = b + } } - return b + return ret } func Sort[T constraints.Ordered](slice []T) { |