recessive: 修改 MergeInt64 为泛型函数
This commit is contained in:
parent
abb8a42a5c
commit
b730d54499
|
@ -124,17 +124,18 @@ func UnMerge[V generic.SignedNumber](refer, num V) (a, b V) {
|
||||||
return a, b
|
return a, b
|
||||||
}
|
}
|
||||||
|
|
||||||
// MergeInt64 将两个 int64 数字合并为一个 int64 数字
|
// MergeToInt64 将两个数字合并为一个 int64 数字
|
||||||
func MergeInt64(a int64, b int64) int64 {
|
func MergeToInt64[V generic.SignedNumber](v1 V, v2 V) int64 {
|
||||||
|
a, b := int64(v1), int64(v2)
|
||||||
mergedNumber := (a << 32) | (b & 0xFFFFFFFF)
|
mergedNumber := (a << 32) | (b & 0xFFFFFFFF)
|
||||||
return mergedNumber
|
return mergedNumber
|
||||||
}
|
}
|
||||||
|
|
||||||
// UnMergeInt64 将一个 int64 数字拆分为两个 int64 数字
|
// UnMergeInt64 将一个 int64 数字拆分为两个数字
|
||||||
func UnMergeInt64(n int64) (int64, int64) {
|
func UnMergeInt64[V generic.SignedNumber](n int64) (V, V) {
|
||||||
a := n >> 32
|
a := n >> 32
|
||||||
b := n & 0xFFFFFFFF
|
b := n & 0xFFFFFFFF
|
||||||
return a, b
|
return V(a), V(b)
|
||||||
}
|
}
|
||||||
|
|
||||||
// ToContinuous 将一组非连续的数字转换为从1开始的连续数字
|
// ToContinuous 将一组非连续的数字转换为从1开始的连续数字
|
||||||
|
|
Loading…
Reference in New Issue