Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
0652bf22dc
|
|||
b196adffc7
|
@@ -61,3 +61,43 @@ func CompareArr[T OrderedConstraint](arr1 []T, arr2 []T) bool {
|
|||||||
|
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func CompareString(a, b string) int {
|
||||||
|
if a == b {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
if a < b {
|
||||||
|
return -1
|
||||||
|
}
|
||||||
|
return +1
|
||||||
|
}
|
||||||
|
|
||||||
|
func CompareInt(a, b int) int {
|
||||||
|
if a == b {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
if a < b {
|
||||||
|
return -1
|
||||||
|
}
|
||||||
|
return +1
|
||||||
|
}
|
||||||
|
|
||||||
|
func CompareInt64(a, b int64) int {
|
||||||
|
if a == b {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
if a < b {
|
||||||
|
return -1
|
||||||
|
}
|
||||||
|
return +1
|
||||||
|
}
|
||||||
|
|
||||||
|
func Compare[T OrderedConstraint](a, b T) int {
|
||||||
|
if a == b {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
if a < b {
|
||||||
|
return -1
|
||||||
|
}
|
||||||
|
return +1
|
||||||
|
}
|
||||||
|
@@ -22,6 +22,31 @@ func Max[T langext.OrderedConstraint](v1 T, v2 T) T {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func Max3[T langext.OrderedConstraint](v1 T, v2 T, v3 T) T {
|
||||||
|
result := v1
|
||||||
|
if v2 > result {
|
||||||
|
result = v2
|
||||||
|
}
|
||||||
|
if v3 > result {
|
||||||
|
result = v3
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
|
func Max4[T langext.OrderedConstraint](v1 T, v2 T, v3 T, v4 T) T {
|
||||||
|
result := v1
|
||||||
|
if v2 > result {
|
||||||
|
result = v2
|
||||||
|
}
|
||||||
|
if v3 > result {
|
||||||
|
result = v3
|
||||||
|
}
|
||||||
|
if v4 > result {
|
||||||
|
result = v4
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
func Min[T langext.OrderedConstraint](v1 T, v2 T) T {
|
func Min[T langext.OrderedConstraint](v1 T, v2 T) T {
|
||||||
if v1 < v2 {
|
if v1 < v2 {
|
||||||
return v1
|
return v1
|
||||||
@@ -30,6 +55,31 @@ func Min[T langext.OrderedConstraint](v1 T, v2 T) T {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func Min3[T langext.OrderedConstraint](v1 T, v2 T, v3 T) T {
|
||||||
|
result := v1
|
||||||
|
if v2 < result {
|
||||||
|
result = v2
|
||||||
|
}
|
||||||
|
if v3 < result {
|
||||||
|
result = v3
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
|
func Min4[T langext.OrderedConstraint](v1 T, v2 T, v3 T, v4 T) T {
|
||||||
|
result := v1
|
||||||
|
if v2 < result {
|
||||||
|
result = v2
|
||||||
|
}
|
||||||
|
if v3 < result {
|
||||||
|
result = v3
|
||||||
|
}
|
||||||
|
if v4 < result {
|
||||||
|
result = v4
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
func Abs[T langext.NumberConstraint](v T) T {
|
func Abs[T langext.NumberConstraint](v T) T {
|
||||||
if v < 0 {
|
if v < 0 {
|
||||||
return -v
|
return -v
|
||||||
|
Reference in New Issue
Block a user