Fix VectorDistance initialization. (#1358)

Summary:
Pull Request resolved: https://github.com/facebookresearch/faiss/pull/1358

The MSVC compiler gets confused by aggregate initialization with parentheses.

Test Plan: Imported from OSS

Reviewed By: mdouze

Differential Revision: D23312003

Pulled By: beauby

fbshipit-source-id: 9ceb10ac84fd4aee19bf6352298b24def95f1493
This commit is contained in:
Lucas Hosseini
2020-08-24 23:53:27 -07:00
committed by Facebook GitHub Bot
parent 1cc5c6d095
commit b23b2f66df
+6 -6
View File
@@ -246,7 +246,7 @@ void pairwise_extra_distances (
switch(mt) {
#define HANDLE_VAR(kw) \
case METRIC_ ## kw: { \
VectorDistance ## kw vd({(size_t)d}); \
VectorDistance ## kw vd = {(size_t)d}; \
pairwise_extra_distances_template (vd, nq, xq, nb, xb, \
dis, ldq, ldb, ldd); \
break; \
@@ -259,7 +259,7 @@ void pairwise_extra_distances (
HANDLE_VAR(JensenShannon);
#undef HANDLE_VAR
case METRIC_Lp: {
VectorDistanceLp vd({(size_t)d, metric_arg});
VectorDistanceLp vd = {(size_t)d, metric_arg};
pairwise_extra_distances_template (vd, nq, xq, nb, xb,
dis, ldq, ldb, ldd);
break;
@@ -281,7 +281,7 @@ void knn_extra_metrics (
switch(mt) {
#define HANDLE_VAR(kw) \
case METRIC_ ## kw: { \
VectorDistance ## kw vd({(size_t)d}); \
VectorDistance ## kw vd = {(size_t)d}; \
knn_extra_metrics_template (vd, x, y, nx, ny, res); \
break; \
}
@@ -293,7 +293,7 @@ void knn_extra_metrics (
HANDLE_VAR(JensenShannon);
#undef HANDLE_VAR
case METRIC_Lp: {
VectorDistanceLp vd({(size_t)d, metric_arg});
VectorDistanceLp vd = {(size_t)d, metric_arg};
knn_extra_metrics_template (vd, x, y, nx, ny, res);
break;
}
@@ -312,7 +312,7 @@ DistanceComputer *get_extra_distance_computer (
switch(mt) {
#define HANDLE_VAR(kw) \
case METRIC_ ## kw: { \
VectorDistance ## kw vd({(size_t)d}); \
VectorDistance ## kw vd = {(size_t)d}; \
return new ExtraDistanceComputer<VectorDistance ## kw>(vd, xb, nb); \
}
HANDLE_VAR(L2);
@@ -323,7 +323,7 @@ DistanceComputer *get_extra_distance_computer (
HANDLE_VAR(JensenShannon);
#undef HANDLE_VAR
case METRIC_Lp: {
VectorDistanceLp vd({(size_t)d, metric_arg});
VectorDistanceLp vd = {(size_t)d, metric_arg};
return new ExtraDistanceComputer<VectorDistanceLp> (vd, xb, nb);
break;
}