30 lines
392 B
Go
30 lines
392 B
Go
package math
|
|
|
|
import "golang.org/x/exp/constraints"
|
|
|
|
func Max[T constraints.Ordered](a, b T, rest ...T) T {
|
|
max := a
|
|
if b > a {
|
|
max = b
|
|
}
|
|
for _, val := range rest {
|
|
if val > max {
|
|
max = val
|
|
}
|
|
}
|
|
return max
|
|
}
|
|
|
|
func Min[T constraints.Ordered](a, b T, rest ...T) T {
|
|
min := a
|
|
if b < a {
|
|
min = b
|
|
}
|
|
for _, val := range rest {
|
|
if val < min {
|
|
min = val
|
|
}
|
|
}
|
|
return min
|
|
}
|