Skip to content

Commit 34d5b8c

Browse files
authored
Fix: Negative denominator in Pearson correlation (#707)
1 parent 453290d commit 34d5b8c

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

include/usearch/index_plugins.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1539,7 +1539,8 @@ template <typename scalar_at = float, typename result_at = float> struct metric_
15391539
b_sq_sum += bi * bi;
15401540
}
15411541
result_t denom = (dim * a_sq_sum - a_sum * a_sum) * (dim * b_sq_sum - b_sum * b_sum);
1542-
if (denom == 0)
1542+
// could be negative
1543+
if (denom <= 0)
15431544
return 0;
15441545
result_t corr = dim * ab_sum - a_sum * b_sum;
15451546
denom = std::sqrt(denom);

0 commit comments

Comments
 (0)