mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-01-24 13:58:12 -05:00
Bumps [github.com/gookit/config/v2](https://github.com/gookit/config) from 2.2.3 to 2.2.4. - [Release notes](https://github.com/gookit/config/releases) - [Commits](https://github.com/gookit/config/compare/v2.2.3...v2.2.4) --- updated-dependencies: - dependency-name: github.com/gookit/config/v2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
74 lines
1.4 KiB
Go
74 lines
1.4 KiB
Go
// Package mathutil provide math(int, number) util functions. eg: convert, math calc, random
|
|
package mathutil
|
|
|
|
import (
|
|
"github.com/gookit/goutil/comdef"
|
|
)
|
|
|
|
// OrElse return default value on val is zero, else return val
|
|
func OrElse[T comdef.XintOrFloat](val, defVal T) T {
|
|
return ZeroOr(val, defVal)
|
|
}
|
|
|
|
// ZeroOr return default value on val is zero, else return val
|
|
func ZeroOr[T comdef.XintOrFloat](val, defVal T) T {
|
|
if val != 0 {
|
|
return val
|
|
}
|
|
return defVal
|
|
}
|
|
|
|
// LessOr return val on val < max, else return default value.
|
|
//
|
|
// Example:
|
|
//
|
|
// LessOr(11, 10, 1) // 1
|
|
// LessOr(2, 10, 1) // 2
|
|
// LessOr(10, 10, 1) // 1
|
|
func LessOr[T comdef.XintOrFloat](val, max, devVal T) T {
|
|
if val < max {
|
|
return val
|
|
}
|
|
return devVal
|
|
}
|
|
|
|
// LteOr return val on val <= max, else return default value.
|
|
//
|
|
// Example:
|
|
//
|
|
// LteOr(11, 10, 1) // 11
|
|
// LteOr(2, 10, 1) // 2
|
|
// LteOr(10, 10, 1) // 10
|
|
func LteOr[T comdef.XintOrFloat](val, max, devVal T) T {
|
|
if val <= max {
|
|
return val
|
|
}
|
|
return devVal
|
|
}
|
|
|
|
// GreaterOr return val on val > max, else return default value.
|
|
//
|
|
// Example:
|
|
//
|
|
// GreaterOr(23, 0, 2) // 23
|
|
// GreaterOr(0, 0, 2) // 2
|
|
func GreaterOr[T comdef.XintOrFloat](val, min, defVal T) T {
|
|
if val > min {
|
|
return val
|
|
}
|
|
return defVal
|
|
}
|
|
|
|
// GteOr return val on val >= max, else return default value.
|
|
//
|
|
// Example:
|
|
//
|
|
// GteOr(23, 0, 2) // 23
|
|
// GteOr(0, 0, 2) // 0
|
|
func GteOr[T comdef.XintOrFloat](val, min, defVal T) T {
|
|
if val >= min {
|
|
return val
|
|
}
|
|
return defVal
|
|
}
|