1 Star 0 Fork 0

csingo/cHelper

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
Math.go 795 Bytes
一键复制 编辑 原始数据 按行查看 历史
joe 提交于 2024-12-11 10:58 +08:00 . update
package cHelper
import (
"math"
"math/rand"
)
// RandomInt 生成随机整数
func RandomInt(min, max int) int {
if min > max {
min = 0
}
diff := max - min
num := rand.Intn(diff)
return min + num
}
// EmbeddingCos 使用cosine计算向量相似度
func EmbeddingCos(vector1, vector2 []float64) float64 {
var (
aLen = len(vector1)
bLen = len(vector2)
s = 0.0
sa = 0.0
sb = 0.0
count int
)
if aLen > bLen {
count = aLen
} else {
count = bLen
}
for i := 0; i < count; i++ {
if i >= bLen {
sa += math.Pow(vector1[i], 2)
continue
}
if i >= aLen {
sb += math.Pow(vector2[i], 2)
continue
}
s += vector1[i] * vector2[i]
sa += math.Pow(vector1[i], 2)
sb += math.Pow(vector2[i], 2)
}
return s / (math.Sqrt(sa) * math.Sqrt(sb))
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/csingo/cHelper.git
git@gitee.com:csingo/cHelper.git
csingo
cHelper
cHelper
v0.4.32

搜索帮助