blob: e6d3b7ad41781f5f7825597325714128f282b317 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
Библиотека для вычисления расстояния между векторами.
=====================================================
Данная библиотека содержит две функции L2Distance и L2SqrDistance. Первая вычисляет L2 расстояние между векторами
разных типов, а вторая его квадрат. В отличии от наивной реализации, библиотека использует SSE и работает существенно
быстрее. Для сравнения можно посмотреть результаты бенчмарка.
Типичное использование - замена кусков кода вроде:
```
for (int i = 0; i < len; i++)
dist += (a[i] - b[i]) * (a[i] - b[i]);
```
на существенно более эффективный вызов ```L2SqrDistance(a, b, len)```.
Работает для типов i8, ui8, i32, ui32, float, double.
|