Skip to content

Commit ed9bf68

Browse files
committed
Revert "timing test file [skip ci]"
This reverts commit 46a764c.
1 parent 46a764c commit ed9bf68

File tree

4 files changed

+96
-198
lines changed

4 files changed

+96
-198
lines changed

src/include/scoring.h

Lines changed: 96 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@
2727
*
2828
* @section DESCRIPTION
2929
*
30+
* Gemm-based scoring.
31+
*
3032
*/
3133

3234
#ifndef TDB_SCORING_H
@@ -73,12 +75,103 @@ class without_ids {};
7375
// Distance functions
7476
// ----------------------------------------------------------------------------
7577

78+
/**
79+
* @brief Compute sum of squares distance between two vectors.
80+
* @tparam V
81+
* @tparam U
82+
* @param a
83+
* @param b
84+
* @return
85+
*/
86+
#if 0
87+
template <class V, class U>
88+
inline auto sum_of_squares(V const& a, U const& b) {
89+
float sum{0.0};
90+
size_t size_a = size(a);
91+
92+
if constexpr (std::is_same_v<decltype(a[0]),decltype(b[0])>) {
93+
for (size_t i = 0; i < size_a; ++i) {
94+
float diff = a[i]- b[i];
95+
sum += diff * diff;
96+
}
97+
} else {
98+
for (size_t i = 0; i < size_a; ++i) {
99+
float diff = ((float)a[i]) - ((float)b[i]);
100+
sum += diff * diff;
101+
}
102+
}
103+
return sum;
104+
}
105+
#else
106+
template <class V, class U>
107+
inline auto sum_of_squares(V const& a, U const& b) {
108+
float sum{0.0};
109+
size_t size_a = size(a);
110+
111+
if constexpr (
112+
std::unsigned_integral<std::remove_reference_t<decltype(a[0])>> ||
113+
std::unsigned_integral<std::remove_reference_t<decltype(b[0])>>) {
114+
for (size_t i = 0; i < size_a; ++i) {
115+
// float diff = (float)a[i] - (float)b[i]; // converting to float is slow
116+
float diff = (float)a[i] - (float)b[i];
117+
sum += diff * diff;
118+
}
119+
} else {
120+
for (size_t i = 0; i < size_a; ++i) {
121+
// float diff = (float)a[i] - (float)b[i]; // converting to float is slow
122+
float diff = a[i] - b[i];
123+
sum += diff * diff;
124+
}
125+
}
126+
return sum;
127+
}
76128

77-
// sum_of_squares(a, b)
78-
// sum_of_squares(a)
79-
// sub_sum_of_squares(a, b, start, stop)
129+
template <class V>
130+
inline auto sum_of_squares(V const& a) {
131+
float sum{0.0};
132+
size_t size_a = size(a);
133+
134+
if constexpr (std::unsigned_integral<
135+
std::remove_reference_t<decltype(a[0])>>) {
136+
for (size_t i = 0; i < size_a; ++i) {
137+
// float diff = (float)a[i] - (float)b[i]; // converting to float is slow
138+
float diff = (float)a[i];
139+
sum += diff * diff;
140+
}
141+
} else {
142+
for (size_t i = 0; i < size_a; ++i) {
143+
// float diff = (float)a[i] - (float)b[i]; // converting to float is slow
144+
float diff = a[i];
145+
sum += diff * diff;
146+
}
147+
}
148+
return sum;
149+
}
80150

151+
template <class V, class U>
152+
inline auto sub_sum_of_squares(
153+
V const& a, U const& b, size_t start, size_t end) {
154+
float sum{0.0};
155+
156+
if constexpr (
157+
std::unsigned_integral<std::remove_reference_t<decltype(a[0])>> ||
158+
std::unsigned_integral<std::remove_reference_t<decltype(b[0])>>) {
159+
for (size_t i = start; i < end; ++i) {
160+
// float diff = (float)a[i] - (float)b[i]; // converting to float is slow
161+
float diff = (float)a[i] - (float)b[i];
162+
sum += diff * diff;
163+
}
164+
} else {
165+
for (size_t i = start; i < end; ++i) {
166+
// float diff = (float)a[i] - (float)b[i]; // converting to float is slow
167+
float diff = a[i] - b[i];
168+
sum += diff * diff;
169+
}
170+
}
171+
return sum;
172+
}
81173

174+
#endif
82175

83176
/**
84177
* @brief Compute L2 distance between two vectors.

src/include/test/CMakeLists.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,6 @@ endmacro (kmeans_add_test)
5353
# kmeans_add_test(time_l2)
5454
# kmeans_add_test(time_open)
5555

56-
kmeans_add_test(time_scoring)
57-
5856
kmeans_add_test(unit_vamana_index)
5957

6058
kmeans_add_test(unit_vamana_group)

src/include/test/test_utils.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,6 @@ void randomize(R& r, std::tuple<int, int> range = {0, 128}) {
5858
}
5959
}
6060

61-
template <std::ranges::range R>
62-
void randomize(R&& r, std::tuple<int, int> range = {0, 128}) {
63-
return randomize(r, range);
64-
}
65-
6661
// Fill a matrix with sequentially increasing values. Will delete data from the
6762
// URI if it exists.
6863
template <class Matrix>

src/include/test/time_scoring.cc

Lines changed: 0 additions & 188 deletions
This file was deleted.

0 commit comments

Comments
 (0)