mirror of
https://github.com/duanhf2012/origin.git
synced 2026-02-04 06:54:45 +08:00
1.新增yml文件支持
2.优化网络模块日志 3.新增类型转换函数
This commit is contained in:
@@ -2,10 +2,10 @@ package smath
|
||||
|
||||
import (
|
||||
"github.com/duanhf2012/origin/v2/log"
|
||||
"github.com/duanhf2012/origin/v2/util/typedef"
|
||||
"github.com/duanhf2012/origin/v2/util/typ"
|
||||
)
|
||||
|
||||
func Max[NumType typedef.Number](number1 NumType, number2 NumType) NumType {
|
||||
func Max[NumType typ.Number](number1 NumType, number2 NumType) NumType {
|
||||
if number1 > number2 {
|
||||
return number1
|
||||
}
|
||||
@@ -13,7 +13,7 @@ func Max[NumType typedef.Number](number1 NumType, number2 NumType) NumType {
|
||||
return number2
|
||||
}
|
||||
|
||||
func Min[NumType typedef.Number](number1 NumType, number2 NumType) NumType {
|
||||
func Min[NumType typ.Number](number1 NumType, number2 NumType) NumType {
|
||||
if number1 < number2 {
|
||||
return number1
|
||||
}
|
||||
@@ -21,7 +21,7 @@ func Min[NumType typedef.Number](number1 NumType, number2 NumType) NumType {
|
||||
return number2
|
||||
}
|
||||
|
||||
func Abs[NumType typedef.Signed|typedef.Float](Num NumType) NumType {
|
||||
func Abs[NumType typ.Signed | typ.Float](Num NumType) NumType {
|
||||
if Num < 0 {
|
||||
return -1 * Num
|
||||
}
|
||||
@@ -29,7 +29,7 @@ func Abs[NumType typedef.Signed|typedef.Float](Num NumType) NumType {
|
||||
return Num
|
||||
}
|
||||
|
||||
func AddSafe[NumType typedef.Number](number1 NumType, number2 NumType) (NumType, bool) {
|
||||
func AddSafe[NumType typ.Number](number1 NumType, number2 NumType) (NumType, bool) {
|
||||
ret := number1 + number2
|
||||
if number2 > 0 && ret < number1 {
|
||||
log.Stack("Calculation overflow", log.Any("number1", number1), log.Any("number2", number2))
|
||||
@@ -42,7 +42,7 @@ func AddSafe[NumType typedef.Number](number1 NumType, number2 NumType) (NumType,
|
||||
return ret, true
|
||||
}
|
||||
|
||||
func SubSafe[NumType typedef.Number](number1 NumType, number2 NumType) (NumType, bool) {
|
||||
func SubSafe[NumType typ.Number](number1 NumType, number2 NumType) (NumType, bool) {
|
||||
ret := number1 - number2
|
||||
if number2 > 0 && ret > number1 {
|
||||
log.Stack("Calculation overflow", log.Any("number1", number1), log.Any("number2", number2))
|
||||
@@ -55,7 +55,7 @@ func SubSafe[NumType typedef.Number](number1 NumType, number2 NumType) (NumType,
|
||||
return ret, true
|
||||
}
|
||||
|
||||
func MulSafe[NumType typedef.Number](number1 NumType, number2 NumType) (NumType, bool) {
|
||||
func MulSafe[NumType typ.Number](number1 NumType, number2 NumType) (NumType, bool) {
|
||||
ret := number1 * number2
|
||||
if number1 == 0 || number2 == 0 {
|
||||
return ret, true
|
||||
@@ -69,18 +69,17 @@ func MulSafe[NumType typedef.Number](number1 NumType, number2 NumType) (NumType,
|
||||
return ret, true
|
||||
}
|
||||
|
||||
func Add[NumType typedef.Number](number1 NumType, number2 NumType) NumType {
|
||||
func Add[NumType typ.Number](number1 NumType, number2 NumType) NumType {
|
||||
ret, _ := AddSafe(number1, number2)
|
||||
return ret
|
||||
}
|
||||
|
||||
func Sub[NumType typedef.Number](number1 NumType, number2 NumType) NumType {
|
||||
func Sub[NumType typ.Number](number1 NumType, number2 NumType) NumType {
|
||||
ret, _ := SubSafe(number1, number2)
|
||||
return ret
|
||||
}
|
||||
|
||||
func Mul[NumType typedef.Number](number1 NumType, number2 NumType) NumType {
|
||||
func Mul[NumType typ.Number](number1 NumType, number2 NumType) NumType {
|
||||
ret, _ := MulSafe(number1, number2)
|
||||
return ret
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user