Documentation ¶
Index ¶
- Constants
- func Clamp[V generic.Number](value, min, max V) V
- func Compare[V generic.Ordered](a V, expression CompareExpression, b V) bool
- func CountDigits[V generic.Number](num V) int
- func GetDefaultTolerance() float64
- func GetDigitValue(num int64, digit int) int64
- func IsContinuity[V generic.Integer](values []V) bool
- func IsContinuityWithSort[V generic.Integer](values []V) bool
- func IsEven[V generic.Integer](n V) bool
- func IsOdd[V generic.Integer](n V) bool
- func JoinNumbers[V generic.Number](num1 V, n ...V) V
- func MakeLastDigitsZero[T generic.Number](num T, digits int) T
- func Max[V generic.Number](a, b V) V
- func MaxMin[V generic.Number](a, b V) (max, min V)
- func Merge[V generic.SignedNumber](refer, a, b V) V
- func MergeToInt64[V generic.SignedNumber](v1 V, v2 V) int64
- func Min[V generic.Number](a, b V) V
- func MinMax[V generic.Number](a, b V) (min, max V)
- func Pow(a, n int) int
- func PowInt64(a, n int64) int64
- func ToContinuous[V generic.Integer](nums []V) map[V]V
- func Tolerance[V generic.Number](value1, value2, tolerance V) bool
- func UnMerge[V generic.SignedNumber](refer, num V) (a, b V)
- func UnMergeInt64[V generic.SignedNumber](n int64) (V, V)
- type CompareExpression
Examples ¶
Constants ¶
View Source
const ( DefaultTolerance = 0.0001 // 默认误差范围 Zero = 0 // 零 )
Variables ¶
This section is empty.
Functions ¶
func Compare ¶
func Compare[V generic.Ordered](a V, expression CompareExpression, b V) bool
Compare 根据特定表达式比较两个值
func CountDigits ¶ added in v0.0.21
CountDigits 接收一个整数 num 作为输入,并返回该数字的位数
func GetDigitValue ¶ added in v0.0.21
GetDigitValue 接收一个整数 num 和一个表示目标位数的整数 digit 作为输入,并返 回数字 num 在指定位数上的数值。我们使用 math.Abs() 函数获取 num 的绝对值,并通 过除以10的操作将 num 移动到目标位数上。然后,通过取余运算得到位数上的数值
func IsContinuity ¶ added in v0.0.3
IsContinuity 检查一组值是否连续
Example ¶
package main import ( "fmt" "github.com/kercylan98/minotaur/utils/maths" ) func main() { fmt.Println(maths.IsContinuity([]int{1, 2, 3, 4, 5, 6, 7})) fmt.Println(maths.IsContinuity([]int{1, 2, 3, 5, 5, 6, 7})) }
Output: true false
func IsContinuityWithSort ¶ added in v0.0.3
IsContinuityWithSort 检查一组值排序后是否连续
func JoinNumbers ¶ added in v0.0.22
JoinNumbers 将一组数字连接起来
func MakeLastDigitsZero ¶ added in v0.3.5
MakeLastDigitsZero 返回一个新的数,其中 num 的最后 digits 位数被设为零。
- 函数首先创建一个 10 的 digits 次方的遮罩,然后通过整除和乘以这个遮罩来使 num 的最后 digits 位归零。
- 当 T 类型为浮点型时,将被向下取整后再进行转换
func MergeToInt64 ¶ added in v0.0.23
func MergeToInt64[V generic.SignedNumber](v1 V, v2 V) int64
MergeToInt64 将两个数字合并为一个 int64 数字
func ToContinuous ¶ added in v0.0.3
ToContinuous 将一组非连续的数字转换为从1开始的连续数字
- 返回值是一个 map,key 是从 1 开始的连续数字,value 是原始数字
Example ¶
package main import ( "fmt" "github.com/kercylan98/minotaur/utils/maths" ) func main() { var nums = []int{1, 2, 3, 5, 6, 7, 9, 10, 11} var continuous = maths.ToContinuous(nums) fmt.Println(nums) fmt.Println(continuous) }
Output: [1 2 3 5 6 7 9 10 11] map[1:1 2:2 3:3 4:5 5:6 6:7 7:9 8:10 9:11]
func UnMergeInt64 ¶ added in v0.0.22
func UnMergeInt64[V generic.SignedNumber](n int64) (V, V)
UnMergeInt64 将一个 int64 数字拆分为两个数字
Types ¶
type CompareExpression ¶
type CompareExpression int
CompareExpression 比较表达式
const ( CompareGreaterThan CompareExpression = 1 // 大于 CompareGreaterThanOrEqual CompareExpression = 2 // 大于等于 CompareLessThan CompareExpression = 3 // 小于 CompareLessThanOrEqual CompareExpression = 4 // 小于等于 CompareEqual CompareExpression = 5 // 等于 )
Click to show internal directories.
Click to hide internal directories.