/
githubmirror
/
photoprism
Обзор
Документация
Войти
/
githubmirror
/
photoprism
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
pkg/vector/normalize.go
32 строки
549 B
Michael Mayer
Vector: Reorganize package into topic-based files #4669
30 май 2026, 12:44
30 май 2026, 12:44
03129c9
Код
Авторство
О чём код?
package vector import "math" // Normalize scales the vector to unit length (L2 norm) in place. // A zero vector (including an empty one) is left unchanged to avoid // a division by zero. func (v Vector) Normalize() { var sum float64 for _, f := range v { sum += f * f } if sum == 0 { return } inv := 1 / math.Sqrt(sum) for i := range v { v[i] *= inv } } // Normalized returns an L2-normalized copy of the vector, // leaving the receiver unchanged. func (v Vector) Normalized() Vector { c := v.Copy() c.Normalize() return c }