增加数字取大小辅助函数 Min、Max、MinMax、MaxMin

This commit is contained in:
kercylan98 2023-06-15 09:59:16 +08:00
parent 2add117daa
commit 3c4eb23041
1 changed files with 36 additions and 0 deletions

View File

@ -1,5 +1,9 @@
package maths package maths
import (
"github.com/kercylan98/minotaur/utils/generic"
)
// Pow 整数幂运算 // Pow 整数幂运算
func Pow(a, n int) int { func Pow(a, n int) int {
if a == 0 { if a == 0 {
@ -47,3 +51,35 @@ func PowInt64(a, n int64) int64 {
} }
return result return result
} }
// Min 返回两个数之中较小的值
func Min[V generic.Number](a, b V) V {
if a < b {
return a
}
return b
}
// Max 返回两个数之中较大的值
func Max[V generic.Number](a, b V) V {
if a > b {
return a
}
return b
}
// MinMax 将两个数按照较小的和较大的顺序进行返回
func MinMax[V generic.Number](a, b V) (min, max V) {
if a < b {
return a, b
}
return b, a
}
// MaxMin 将两个数按照较大的和较小的顺序进行返回
func MaxMin[V generic.Number](a, b V) (max, min V) {
if a > b {
return a, b
}
return b, a
}