Replace MinInt/MaxInt with generic versions
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
package math2
|
||||
|
||||
import "golang.org/x/exp/constraints"
|
||||
|
||||
func Min[T constraints.Ordered](vs ...T) T {
|
||||
if len(vs) == 0 {
|
||||
var zero T
|
||||
return zero
|
||||
}
|
||||
min := vs[0]
|
||||
for _, v := range vs[1:] {
|
||||
if v < min {
|
||||
min = v
|
||||
}
|
||||
}
|
||||
return min
|
||||
}
|
||||
|
||||
func Max[T constraints.Ordered](vs ...T) T {
|
||||
if len(vs) == 0 {
|
||||
var zero T
|
||||
return zero
|
||||
}
|
||||
max := vs[0]
|
||||
for _, v := range vs[1:] {
|
||||
if v > max {
|
||||
max = v
|
||||
}
|
||||
}
|
||||
return max
|
||||
}
|
||||
Reference in New Issue
Block a user