Use Go builtin min/max func

This commit is contained in:
Deluan
2024-02-16 21:48:25 -05:00
parent f7a4387d0e
commit 166eb37787
8 changed files with 18 additions and 74 deletions
-32
View File
@@ -3,40 +3,8 @@ package number
import (
"crypto/rand"
"math/big"
"golang.org/x/exp/constraints"
)
// TODO Remove on Go 1.22, in favor of builtin `min` function.
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
}
// TODO Remove on Go 1.22, in favor of builtin `max` function.
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
}
func RandomInt64(max int64) int64 {
rnd, _ := rand.Int(rand.Reader, big.NewInt(max))
return rnd.Int64()